Blame view
test/command_ut.c
1.83 KB
a72007d99
|
1 2 3 |
/* * Copyright (c) 2012, The Chromium Authors * |
1a4596601
|
4 |
* SPDX-License-Identifier: GPL-2.0+ |
a72007d99
|
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
*/ #define DEBUG #include <common.h> static const char test_cmd[] = "setenv list 1 setenv list ${list}2; " "setenv list ${list}3\0" "setenv list ${list}4"; static int do_ut_cmd(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) { printf("%s: Testing commands ", __func__); |
674867288
|
20 |
run_command("env default -f -a", 0); |
a72007d99
|
21 |
|
a72007d99
|
22 23 24 25 |
/* commands separated by */ run_command_list("setenv list 1 setenv list ${list}1", -1, 0); |
00caae6d4
|
26 |
assert(!strcmp("11", env_get("list"))); |
a72007d99
|
27 28 29 30 31 |
/* command followed by and nothing else */ run_command_list("setenv list 1${list} ", -1, 0); |
00caae6d4
|
32 |
assert(!strcmp("111", env_get("list"))); |
a72007d99
|
33 |
|
a72007d99
|
34 35 36 |
/* a command string with \0 in it. Stuff after \0 should be ignored */ run_command("setenv list", 0); run_command_list(test_cmd, sizeof(test_cmd), 0); |
00caae6d4
|
37 |
assert(!strcmp("123", env_get("list"))); |
a72007d99
|
38 39 40 41 42 43 44 45 |
/* * a command list where we limit execution to only the first command * using the length parameter. */ run_command_list("setenv list 1 setenv list ${list}2; " "setenv list ${list}3", strlen("setenv list 1"), 0); |
00caae6d4
|
46 |
assert(!strcmp("1", env_get("list"))); |
a72007d99
|
47 |
|
93ce7561c
|
48 49 50 51 |
assert(run_command("false", 0) == 1); assert(run_command("echo", 0) == 0); assert(run_command_list("false", -1, 0) == 1); assert(run_command_list("echo", -1, 0) == 0); |
f1f9d4fac
|
52 |
#ifdef CONFIG_HUSH_PARSER |
87b6398b4
|
53 54 55 |
run_command("setenv foo 'setenv black 1 setenv adder 2'", 0); run_command("run foo", 0); |
00caae6d4
|
56 57 58 59 |
assert(env_get("black") != NULL); assert(!strcmp("1", env_get("black"))); assert(env_get("adder") != NULL); assert(!strcmp("2", env_get("adder"))); |
f2afe7019
|
60 |
#endif |
484408fb5
|
61 62 |
assert(run_command("", 0) == 0); assert(run_command(" ", 0) == 0); |
2302b3ab8
|
63 |
assert(run_command("'", 0) == 1); |
a72007d99
|
64 65 66 67 68 69 70 71 72 73 |
printf("%s: Everything went swimmingly ", __func__); return 0; } U_BOOT_CMD( ut_cmd, 5, 1, do_ut_cmd, "Very basic test of command parsers", "" ); |