Files
uboot-rtwo/test/cmd/spawn.c
T

33 lines
931 B
C

// 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);