blob: 81d1bb2f80d5f930562753354f30b5293c45613d [file] [log] [blame]
Tom Rini10e47792018-05-06 17:58:06 -04001// SPDX-License-Identifier: GPL-2.0
Joe Hershberger26e038f2015-05-20 14:27:36 -05002/*
3 * (C) Copyright 2015
4 * Joe Hershberger, National Instruments, joe.hershberger@ni.com
Joe Hershberger26e038f2015-05-20 14:27:36 -05005 */
6
Joe Hershberger26e038f2015-05-20 14:27:36 -05007#include <test/env.h>
8#include <test/suites.h>
9#include <test/ut.h>
10
Ravi Minnikanticb803d72024-08-11 11:44:15 -070011static int env_test_env_cmd(struct unit_test_state *uts)
12{
13 ut_assertok(run_command("setenv non_default_var1 1", 0));
14 ut_assert_console_end();
15
Rasmus Villemoesfe641d32024-10-30 22:34:03 +010016 ut_assertok(run_command("setenv non_default_var2 2", 0));
Ravi Minnikanticb803d72024-08-11 11:44:15 -070017 ut_assert_console_end();
18
19 ut_assertok(run_command("env print non_default_var1", 0));
20 ut_assert_nextline("non_default_var1=1");
21 ut_assert_console_end();
22
Rasmus Villemoesfe641d32024-10-30 22:34:03 +010023 ut_assertok(run_command("env default non_default_var1", 0));
Ravi Minnikanticb803d72024-08-11 11:44:15 -070024 ut_assert_nextline("WARNING: 'non_default_var1' not in imported env, deleting it!");
Ravi Minnikanticb803d72024-08-11 11:44:15 -070025 ut_assert_console_end();
26
27 ut_asserteq(1, run_command("env exists non_default_var1", 0));
28 ut_assert_console_end();
29
Rasmus Villemoesfe641d32024-10-30 22:34:03 +010030 ut_asserteq(0, run_command("env exists non_default_var2", 0));
Ravi Minnikanticb803d72024-08-11 11:44:15 -070031 ut_assert_console_end();
32
Rasmus Villemoes2477dbe2024-10-30 22:34:04 +010033 ut_assertok(run_command("setenv non_default_var1 3", 0));
34 ut_assert_console_end();
35
36 ut_assertok(run_command("env default -k non_default_var1", 0));
37 ut_assert_console_end();
38
39 ut_asserteq(0, run_command("env exists non_default_var1", 0));
40 ut_assert_console_end();
41
42 ut_asserteq(0, run_command("env exists non_default_var2", 0));
43 ut_assert_console_end();
44
45 ut_assertok(run_command("env default -k -a -f", 0));
46 ut_assert_nextline("## Resetting to default environment");
47 ut_assert_console_end();
48
49 ut_asserteq(0, run_command("env exists non_default_var1", 0));
50 ut_assert_console_end();
51
52 ut_asserteq(0, run_command("env exists non_default_var2", 0));
53 ut_assert_console_end();
54
55 /*
56 * While the following test of "env default -a" by itself
57 * works, it unfortunately causes an unrelated test case,
58 * env_test_fdt_import(), to fail, because the "from_fdt"
59 * variable would be removed.
60 */
61#if 0
62 ut_assertok(run_command("env default -a", 0));
63 ut_assert_nextline("## Resetting to default environment");
64 ut_assert_console_end();
65
66 ut_asserteq(1, run_command("env exists non_default_var1", 0));
67 ut_assert_console_end();
68
69 ut_asserteq(1, run_command("env exists non_default_var2", 0));
70 ut_assert_console_end();
71#endif
72
Ravi Minnikanticb803d72024-08-11 11:44:15 -070073 return 0;
74}
Simon Glass11fcfa32024-08-22 07:57:50 -060075ENV_TEST(env_test_env_cmd, UTF_CONSOLE);