@@ -11,9 +11,11 @@ function run_test {
1111 local error=0
1212 local sdkconfig_path
1313 local extra_args
14+ local test_type
1415
1516 sketchdir=$( dirname " $sketch " )
1617 sketchname=$( basename " $sketchdir " )
18+ test_type=$( basename " $( dirname " $sketchdir " ) " )
1719
1820 if [ " $options " -eq 0 ] && [ -f " $sketchdir " /ci.json ]; then
1921 len=$( jq -r --arg target " $target " ' .fqbn[$target] | length' " $sketchdir " /ci.json)
@@ -25,9 +27,9 @@ function run_test {
2527 fi
2628
2729 if [ " $len " -eq 1 ]; then
28- sdkconfig_path=" $HOME /.arduino/tests/$sketchname /build.tmp/sdkconfig"
30+ sdkconfig_path=" $HOME /.arduino/tests/$target / $ sketchname /build.tmp/sdkconfig"
2931 else
30- sdkconfig_path=" $HOME /.arduino/tests/$sketchname /build0.tmp/sdkconfig"
32+ sdkconfig_path=" $HOME /.arduino/tests/$target / $ sketchname /build0.tmp/sdkconfig"
3133 fi
3234
3335 if [ -f " $sketchdir " /ci.json ]; then
@@ -43,22 +45,22 @@ function run_test {
4345 fi
4446
4547 if [ ! -f " $sdkconfig_path " ]; then
46- printf " \033[93mSketch %s not built \nMight be due to missing target requirements or build failure\033[0m\n" " $sketchname "
48+ printf " \033[93mSketch %s build not found in %s \nMight be due to missing target requirements or build failure\033[0m\n" " $( dirname " $sdkconfig_path " ) " " $sketchname "
4749 printf " \n\n\n"
4850 return 0
4951 fi
5052
51- local right_target
52- right_target =$( grep -E " ^ CONFIG_IDF_TARGET=\" $target \" $ " " $sdkconfig_path " )
53- if [ -z " $right_target " ]; then
54- printf " \033[91mError: Sketch %s compiled for different target\n\ 033[0m\n" " $sketchname "
53+ local compiled_target
54+ compiled_target =$( grep -E " CONFIG_IDF_TARGET=" " $sdkconfig_path " | cut -d ' " ' -f2 )
55+ if [ " $compiled_target " != " $target " ]; then
56+ printf " \033[91mError: Sketch %s compiled for %s, expected %s\ 033[0m\n" " $sketchname " " $compiled_target " " $target "
5557 printf " \n\n\n"
5658 return 1
5759 fi
5860
5961 if [ " $len " -eq 1 ]; then
6062 # build_dir="$sketchdir/build"
61- build_dir=" $HOME /.arduino/tests/$sketchname /build.tmp"
63+ build_dir=" $HOME /.arduino/tests/$target / $ sketchname /build.tmp"
6264 report_file=" $sketchdir /$target /$sketchname .xml"
6365 fi
6466
@@ -81,7 +83,7 @@ function run_test {
8183
8284 if [ " $len " -ne 1 ]; then
8385 # build_dir="$sketchdir/build$i"
84- build_dir=" $HOME /.arduino/tests/$sketchname /build$i .tmp"
86+ build_dir=" $HOME /.arduino/tests/$target / $ sketchname /build$i .tmp"
8587 report_file=" $sketchdir /$target /$sketchname$i .xml"
8688 fi
8789
@@ -113,14 +115,14 @@ function run_test {
113115 rm " $sketchdir " /diagram.json 2> /dev/null || true
114116
115117 result=0
116- printf " \033[95mpytest \" %s/test_%s.py\" --build-dir \" %s\" --junit-xml=\" %s\" %s \033[0m\n" " $sketchdir " " $sketchname " " $build_dir " " $report_file " " ${extra_args[*]@ Q} "
117- bash -c " set +e; pytest \" $sketchdir /test_$sketchname .py\" --build-dir \" $build_dir \" --junit-xml=\" $report_file \" ${extra_args[*]@ Q} ; exit \$ ?" || result=$?
118+ printf " \033[95mpytest \" %s/test_%s.py\" --build-dir \" %s\" --junit-xml=\" %s\" -o junit_suite_name=%s_%s_%s_%s%s %s \033[0m\n" " $sketchdir " " $sketchname " " $build_dir " " $report_file " " $test_type " " $platform " " $target " " $sketchname " " $i " " ${extra_args[*]@ Q} "
119+ bash -c " set +e; pytest \" $sketchdir /test_$sketchname .py\" --build-dir \" $build_dir \" --junit-xml=\" $report_file \" -o junit_suite_name= ${test_type} _ ${platform} _ ${target} _ ${sketchname}${i} ${extra_args[*]@ Q} ; exit \$ ?" || result=$?
118120 printf " \n"
119121 if [ $result -ne 0 ]; then
120122 result=0
121123 printf " \033[95mRetrying test: %s -- Config: %s\033[0m\n" " $sketchname " " $i "
122- printf " \033[95mpytest \" %s/test_%s.py\" --build-dir \" %s\" --junit-xml=\" %s\" %s \033[0m\n" " $sketchdir " " $sketchname " " $build_dir " " $report_file " " ${extra_args[*]@ Q} "
123- bash -c " set +e; pytest \" $sketchdir /test_$sketchname .py\" --build-dir \" $build_dir \" --junit-xml=\" $report_file \" ${extra_args[*]@ Q} ; exit \$ ?" || result=$?
124+ printf " \033[95mpytest \" %s/test_%s.py\" --build-dir \" %s\" --junit-xml=\" %s\" -o junit_suite_name=%s_%s_%s_%s%s %s \033[0m\n" " $sketchdir " " $sketchname " " $build_dir " " $report_file " " $test_type " " $platform " " $target " " $sketchname " " $i " " ${extra_args[*]@ Q} "
125+ bash -c " set +e; pytest \" $sketchdir /test_$sketchname .py\" --build-dir \" $build_dir \" --junit-xml=\" $report_file \" -o junit_suite_name= ${test_type} _ ${platform} _ ${target} _ ${sketchname}${i} ${extra_args[*]@ Q} ; exit \$ ?" || result=$?
124126 printf " \n"
125127 if [ $result -ne 0 ]; then
126128 printf " \033[91mFailed test: %s -- Config: %s\033[0m\n\n" " $sketchname " " $i "
0 commit comments