X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=common%2Fcmd_test.c;h=7285f75469fb15f7cf0daa1e9541ca6b3c887834;hb=cdc7732f3737f2bb97b77eb3d7c9da344bb73612;hp=4c2f967c6dc060c710afe644be519a83e18caf69;hpb=2453de99df576fb907fe06cac58c628e3590833f;p=u-boot diff --git a/common/cmd_test.c b/common/cmd_test.c index 4c2f967c6d..7285f75469 100644 --- a/common/cmd_test.c +++ b/common/cmd_test.c @@ -5,17 +5,9 @@ * SPDX-License-Identifier: GPL-2.0+ */ -/* - * Define _STDBOOL_H here to avoid macro expansion of true and false. - * If the future code requires macro true or false, remove this define - * and undef true and false before U_BOOT_CMD. This define and comment - * shall be removed if change to U_BOOT_CMD is made to take string - * instead of stringifying it. - */ -#define _STDBOOL_H - #include #include +#include #define OP_INVALID 0 #define OP_NOT 1 @@ -33,6 +25,7 @@ #define OP_INT_LE 13 #define OP_INT_GT 14 #define OP_INT_GE 15 +#define OP_FILE_EXISTS 16 const struct { int arg; @@ -55,6 +48,7 @@ const struct { {0, "-a", OP_AND, 1}, {0, "-z", OP_STR_EMPTY, 2}, {0, "-n", OP_STR_NEMPTY, 2}, + {0, "-e", OP_FILE_EXISTS, 4}, }; static int do_test(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) @@ -143,6 +137,9 @@ static int do_test(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) expr = simple_strtol(ap[0], NULL, 10) >= simple_strtol(ap[2], NULL, 10); break; + case OP_FILE_EXISTS: + expr = file_exists(ap[1], ap[2], ap[3], FS_TYPE_ANY); + break; } switch (op) { @@ -185,6 +182,9 @@ static int do_test(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) return expr; } +#undef true +#undef false + U_BOOT_CMD( test, CONFIG_SYS_MAXARGS, 1, do_test, "minimal test like /bin/sh",