On Fri, Aug 14, 2020 at 03:06:36PM +0200, Marc Hartmayer wrote: > On Thu, Aug 13, 2020 at 10:30 AM +0200, Andrew Jones <drjones@xxxxxxxxxx> wrote: > > On Wed, Aug 12, 2020 at 11:27:04AM +0200, Marc Hartmayer wrote: > >> This allows us, for example, to auto generate a new test case based on > >> an existing test case. > >> > >> Signed-off-by: Marc Hartmayer <mhartmay@xxxxxxxxxxxxx> > >> --- > >> run_tests.sh | 2 +- > >> scripts/common.bash | 13 +++++++++++++ > >> scripts/mkstandalone.sh | 2 +- > >> 3 files changed, 15 insertions(+), 2 deletions(-) > >> > >> diff --git a/run_tests.sh b/run_tests.sh > >> index 24aba9cc3a98..23658392c488 100755 > >> --- a/run_tests.sh > >> +++ b/run_tests.sh > >> @@ -160,7 +160,7 @@ trap "wait; exit 130" SIGINT > >> # preserve stdout so that process_test_output output can write TAP to it > >> exec 3>&1 > >> test "$tap_output" == "yes" && exec > /dev/null > >> - for_each_unittest $config run_task > >> + for_each_unittest $config run_task arch_cmd > > > > Let's just require that arch cmd hook be specified by the "$arch_cmd" > > variable. Then we don't need to pass it to for_each_unittest. > > Where is it then specified? Just using it that way in the source is enough. We should probably call it $ARCH_CMD to indicate that it's a special variable. Also, we could return it from a $(arch_cmd) function, which is how $(migration_cmd) and $(timeout_cmd) work. > > > > >> ) | postprocess_suite_output > >> > >> # wait until all tasks finish > >> diff --git a/scripts/common.bash b/scripts/common.bash > >> index f9c15fd304bd..62931a40b79a 100644 > >> --- a/scripts/common.bash > >> +++ b/scripts/common.bash > >> @@ -1,8 +1,15 @@ > >> +function arch_cmd() > >> +{ > >> + # Dummy function, can be overwritten by architecture dependent > >> + # code > >> + return > >> +} > > > > This dummy function appears unused and can be dropped. > > So what is then used if the function is not defined by the architecture > specific code? Nothing, which works fine $ arch_cmd= $ $arch_cmd echo foo # just do 'echo foo' However, with what I wrote above, we now need a common arch_cmd function. Something like arch_cmd() { [ "$ARCH_CMD" ] && return "$ARCH_CMD" } Which would allow us to write $(arch_cmd) $cmd ... That does the same thing as above, but it now follows the pattern of migration_cmd and timeout_cmd. Thanks, drew