On Tue, 4 Mar 2025 at 17:31, Jerome Forissier <jerome.foriss...@linaro.org> wrote: > > Test the spawn and wait commands. > > Signed-off-by: Jerome Forissier <jerome.foriss...@linaro.org> > --- > test/cmd/Makefile | 1 + > test/cmd/spawn.c | 32 ++++++++++++++++++++++++++++++++ > 2 files changed, 33 insertions(+) > create mode 100644 test/cmd/spawn.c > > diff --git a/test/cmd/Makefile b/test/cmd/Makefile > index d8a5e77402d..cf47f04851c 100644 > --- a/test/cmd/Makefile > +++ b/test/cmd/Makefile > @@ -39,3 +39,4 @@ obj-$(CONFIG_CMD_WGET) += wget.o > endif > obj-$(CONFIG_ARM_FFA_TRANSPORT) += armffa.o > endif > +obj-$(CONFIG_CMD_SPAWN) += spawn.o > diff --git a/test/cmd/spawn.c b/test/cmd/spawn.c > new file mode 100644 > index 00000000000..8f48f5ee25c > --- /dev/null > +++ b/test/cmd/spawn.c > @@ -0,0 +1,32 @@ > +// SPDX-License-Identifier: GPL-2.0-or-later > +/* > + * Tests for spawn and wait commands > + * > + * Copyright 2025, Linaro Ltd. > + */ > + > +#include <command.h> > +#include <test/cmd.h> > +#include <test/test.h> > +#include <test/ut.h> > + > +static int test_cmd_spawn(struct unit_test_state *uts) > +{ > + ut_assertok(run_command("wait; spawn sleep 2; setenv j ${job_id}; " > + "spawn setenv spawned true; " > + "setenv jj ${job_id}; wait; " > + "echo ${j} ${jj} ${spawned}", 0)); > + console_record_readline(uts->actual_str, sizeof(uts->actual_str)); > + ut_asserteq_ptr(uts->actual_str, > + strstr(uts->actual_str, "1 2 true")); > + > + ut_assertok(run_command("spawn true; wait; setenv t $?; spawn false; " > + "wait; setenv f $?; wait; echo $t $f $?", 0)); > + console_record_readline(uts->actual_str, sizeof(uts->actual_str)); > + ut_asserteq_ptr(uts->actual_str, > + strstr(uts->actual_str, "0 1 0")); > + ut_assert_console_end(); > + > + return 0; > +} > +CMD_TEST(test_cmd_spawn, UTF_CONSOLE); > -- > 2.43.0 >
Acked-by: Ilias Apalodimas <ilias.apalodi...@linaro.org>