// SPDX-License-Identifier: GPL-2.0+ /* * Tests for pause command * * Copyright 2022, Samuel Dionne-Riel */ #include #include #include DECLARE_GLOBAL_DATA_PTR; static int lib_test_hush_pause(struct unit_test_state *uts) { /* Test default message */ /* Cook a newline when the command is expected to pause */ console_in_puts("\n"); ut_assertok(run_command("pause", 0)); console_record_readline(uts->actual_str, sizeof(uts->actual_str)); ut_asserteq_str("Press any key to continue...", uts->actual_str); ut_assert_console_end(); /* Test provided message */ /* Cook a newline when the command is expected to pause */ console_in_puts("\n"); ut_assertok(run_command("pause 'Prompt for pause...'", 0)); console_record_readline(uts->actual_str, sizeof(uts->actual_str)); ut_asserteq_str("Prompt for pause...", uts->actual_str); ut_assert_console_end(); /* Test providing more than one params */ /* No newline cooked here since the command is expected to fail */ ut_asserteq(1, run_command("pause a b", 0)); console_record_readline(uts->actual_str, sizeof(uts->actual_str)); ut_asserteq_str("pause - delay until user input", uts->actual_str); ut_asserteq(1, ut_check_console_end(uts)); return 0; } LIB_TEST(lib_test_hush_pause, UTF_CONSOLE);