Message ID | 20250304152510.2832340-14-jerome.forissier@linaro.org |
---|---|
State | New |
Headers | show |
Series | Uthreads | expand |
On Tue, 4 Mar 2025 at 17:31, Jerome Forissier <jerome.forissier@linaro.org> wrote: > > Test the spawn and wait commands. > > Signed-off-by: Jerome Forissier <jerome.forissier@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.apalodimas@linaro.org>
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);
Test the spawn and wait commands. Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> --- test/cmd/Makefile | 1 + test/cmd/spawn.c | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 33 insertions(+) create mode 100644 test/cmd/spawn.c