ESP-IDF provides a more efficient way of handling and combining multi-configurations for a project than the way currently used: Build profiles. So I switched to this method instead of providing the sdkconfig.defaults.* files manually. This reduced the number of sdkconfig.defaults.* files as well as the configuration parameters defined in them. Refs #1085
34 lines
932 B
Bash
Executable File
34 lines
932 B
Bash
Executable File
#!/usr/bin/env bash
|
|
set -e
|
|
|
|
# Check tag argument
|
|
arg_tag=$1
|
|
if [[ -z "$arg_tag" ]]; then
|
|
arg_tag="all"
|
|
fi
|
|
|
|
# Resolve Paths and Switch to Working Directory
|
|
script_dir=$(dirname "$(readlink -f "$0")")
|
|
project_root=$(dirname "$script_dir")
|
|
|
|
echo "Script dir: ${script_dir}"
|
|
echo "Project root: ${project_root}"
|
|
|
|
echo "🔍 Searching for 'test_apps' directory in '$project_root'..."
|
|
test_apps_dir=$(find "$project_root" -type d -name "test_apps" | head -n 1)
|
|
echo "test_apps dir: ${test_apps_dir}"
|
|
|
|
# Execute tests for all profiles
|
|
mapfile -t profiles < <(find "${test_apps_dir}/profiles" -maxdepth 1 -type f)
|
|
|
|
for profile in "${profiles[@]}"; do
|
|
# Get only the name of the profile file
|
|
profile=$(basename "${profile}")
|
|
|
|
echo "🔧 Running tests with profile: $profile"
|
|
"${script_dir}"/run_tests.sh -c -p "$profile" -t "$arg_tag" || {
|
|
echo "❌ Tests failed with profile: $profile"
|
|
exit 1
|
|
}
|
|
done
|