On 22/02/19 11:30, Stefan Raspl wrote: > Yeah, that would be nice. Took a stab at it, but realized this might not be so > easy: Since testcases can be executed in parallel, we'd have to implement some > kind of locking of the testcase counter. In bash. I couldn't find any way to > implement that. > Any guidance...? One possibility could be to use Make to coordinate the tests instead of bash. The Makefile, generated via for_each_unittest, would look like all: all: logs/foo.log logs/foo.log: ./run_one_test.sh ... | tee logs/foo.log | ./logs-to-tap.sh all: logs/bar.log logs/fobar.log: ./run_one_test.sh ... | tee logs/bar.log | ./logs-to-tap.sh (or ./logs-to-summary.sh in non-TAP mode) where run_one_test.sh would basically be the "run_task" function of run_test.sh. Simplifications would also be possible by dropping RUNTIME_log_stdout and RUNTIME_log_stderr Then in run_tests.sh you can use the scripts/tap-merge.pl file from QEMU to create a single TAP file. But if all the output is done at the end of the run, why do you need to do it in run-tests.sh at all? You can just get the combined TAP output from logs/ after the fact. So the simplest way to go, would be to change this patch into a standalone logs-to-tap.sh scripts. Paolo