// SPDX-License-Identifier: GPL-2.0+ /* * Tests for history command * * Copyright 2023 Google LLC * Written by Simon Glass */ #include #include #include #include #include static int lib_test_history(struct unit_test_state *uts) { static const char cmd1[] = "setenv fred hello"; static const char cmd2[] = "print fred"; /* running commands directly does not add to history */ ut_assertok(run_command(cmd1, 0)); ut_assert_console_end(); ut_assertok(run_command("history", 0)); ut_assert_console_end(); /* enter commands via the console */ console_in_puts(cmd1); console_in_puts("\n"); ut_asserteq(strlen(cmd1), cli_readline("")); ut_assert_nextline(cmd1); console_in_puts(cmd2); console_in_puts("\n"); ut_asserteq(strlen(cmd2), cli_readline("")); ut_assert_nextline(cmd2); ut_assertok(run_command("print fred", 0)); ut_assert_nextline("fred=hello"); ut_assert_console_end(); ut_assertok(run_command("history", 0)); ut_assert_nextline(cmd1); ut_assert_nextline(cmd2); ut_assert_console_end(); return 0; } LIB_TEST(lib_test_history, UT_TESTF_CONSOLE_REC);