test: make [ and [[ forms individually selectable
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
parent
73f743a381
commit
15fb91cefb
@ -27,19 +27,33 @@
|
|||||||
//config: returning an appropriate exit code. The bash shell
|
//config: returning an appropriate exit code. The bash shell
|
||||||
//config: has test built in, ash can build it in optionally.
|
//config: has test built in, ash can build it in optionally.
|
||||||
//config:
|
//config:
|
||||||
|
//config:config TEST1
|
||||||
|
//config: bool "test as ["
|
||||||
|
//config: default y
|
||||||
|
//config: help
|
||||||
|
//config: Provide test command in the "[ EXPR ]" form
|
||||||
|
//config:
|
||||||
|
//config:config TEST2
|
||||||
|
//config: bool "test as [["
|
||||||
|
//config: default y
|
||||||
|
//config: help
|
||||||
|
//config: Provide test command in the "[[ EXPR ]]" form
|
||||||
|
//config:
|
||||||
//config:config FEATURE_TEST_64
|
//config:config FEATURE_TEST_64
|
||||||
//config: bool "Extend test to 64 bit"
|
//config: bool "Extend test to 64 bit"
|
||||||
//config: default y
|
//config: default y
|
||||||
//config: depends on TEST || ASH_BUILTIN_TEST || HUSH
|
//config: depends on TEST || TEST1 || TEST2 || ASH_BUILTIN_TEST || HUSH
|
||||||
//config: help
|
//config: help
|
||||||
//config: Enable 64-bit support in test.
|
//config: Enable 64-bit support in test.
|
||||||
|
|
||||||
//applet:IF_TEST(APPLET_NOFORK([, test, BB_DIR_USR_BIN, BB_SUID_DROP, test))
|
|
||||||
//applet:IF_TEST(APPLET_NOFORK([[, test, BB_DIR_USR_BIN, BB_SUID_DROP, test))
|
|
||||||
//applet:IF_TEST(APPLET_NOFORK(test, test, BB_DIR_USR_BIN, BB_SUID_DROP, test))
|
//applet:IF_TEST(APPLET_NOFORK(test, test, BB_DIR_USR_BIN, BB_SUID_DROP, test))
|
||||||
|
//applet:IF_TEST1(APPLET_NOFORK([, test, BB_DIR_USR_BIN, BB_SUID_DROP, test))
|
||||||
|
//applet:IF_TEST2(APPLET_NOFORK([[, test, BB_DIR_USR_BIN, BB_SUID_DROP, test))
|
||||||
|
|
||||||
//kbuild:lib-$(CONFIG_TEST) += test.o test_ptr_hack.o
|
//kbuild:lib-$(CONFIG_TEST) += test.o test_ptr_hack.o
|
||||||
//kbuild:lib-$(CONFIG_ASH) += test.o test_ptr_hack.o
|
//kbuild:lib-$(CONFIG_TEST1) += test.o test_ptr_hack.o
|
||||||
|
//kbuild:lib-$(CONFIG_TEST2) += test.o test_ptr_hack.o
|
||||||
|
//kbuild:lib-$(CONFIG_ASH_BUILTIN_TEST) += test.o test_ptr_hack.o
|
||||||
//kbuild:lib-$(CONFIG_HUSH) += test.o test_ptr_hack.o
|
//kbuild:lib-$(CONFIG_HUSH) += test.o test_ptr_hack.o
|
||||||
|
|
||||||
/* "test --help" is special-cased to ignore --help */
|
/* "test --help" is special-cased to ignore --help */
|
||||||
@ -827,7 +841,9 @@ int test_main(int argc, char **argv)
|
|||||||
const char *arg0;
|
const char *arg0;
|
||||||
|
|
||||||
arg0 = bb_basename(argv[0]);
|
arg0 = bb_basename(argv[0]);
|
||||||
if (arg0[0] == '[') {
|
if ((ENABLE_TEST1 || ENABLE_TEST2 || ENABLE_ASH_BUILTIN_TEST || ENABLE_HUSH)
|
||||||
|
&& (arg0[0] == '[')
|
||||||
|
) {
|
||||||
--argc;
|
--argc;
|
||||||
if (!arg0[1]) { /* "[" ? */
|
if (!arg0[1]) { /* "[" ? */
|
||||||
if (NOT_LONE_CHAR(argv[argc], ']')) {
|
if (NOT_LONE_CHAR(argv[argc], ']')) {
|
||||||
|
@ -5,13 +5,17 @@
|
|||||||
|
|
||||||
# CONFIG_applet names
|
# CONFIG_applet names
|
||||||
grep ^IF_ applets.h | grep -v IF_FEATURE_ | sed 's/IF_\([A-Z0-9._-]*\)(.*/\1/' \
|
grep ^IF_ applets.h | grep -v IF_FEATURE_ | sed 's/IF_\([A-Z0-9._-]*\)(.*/\1/' \
|
||||||
| grep -v MODPROBE_SMALL | sed 's/BB_SYSCTL/SYSCTL/' \
|
| grep -v MODPROBE_SMALL \
|
||||||
|
| sed 's/BB_SYSCTL/SYSCTL/' \
|
||||||
|
| sed 's/TEST1/[/' \
|
||||||
|
| sed 's/TEST2/[[/' \
|
||||||
| sort | uniq \
|
| sort | uniq \
|
||||||
>applets_APP1
|
>applets_APP1
|
||||||
|
|
||||||
# command line applet names
|
# command line applet names
|
||||||
grep ^IF_ applets.h | sed -e's/ //g' -e's/.*(\([a-z[][^,]*\),.*/\1/' \
|
grep ^IF_ applets.h | sed -e's/ //g' -e's/.*(\([a-z[][^,]*\),.*/\1/' \
|
||||||
| grep -v '^bash$' | grep -v '^sh$' \
|
| grep -v '^bash$' \
|
||||||
|
| grep -v '^sh$' \
|
||||||
| tr a-z A-Z \
|
| tr a-z A-Z \
|
||||||
| sort | uniq \
|
| sort | uniq \
|
||||||
>applets_APP2
|
>applets_APP2
|
||||||
|
@ -9282,9 +9282,9 @@ static const struct builtincmd builtintab[] = {
|
|||||||
{ BUILTIN_SPEC_REG ":" , truecmd },
|
{ BUILTIN_SPEC_REG ":" , truecmd },
|
||||||
#if ENABLE_ASH_BUILTIN_TEST
|
#if ENABLE_ASH_BUILTIN_TEST
|
||||||
{ BUILTIN_REGULAR "[" , testcmd },
|
{ BUILTIN_REGULAR "[" , testcmd },
|
||||||
#if ENABLE_ASH_BASH_COMPAT
|
# if ENABLE_ASH_BASH_COMPAT
|
||||||
{ BUILTIN_REGULAR "[[" , testcmd },
|
{ BUILTIN_REGULAR "[[" , testcmd },
|
||||||
#endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
#if ENABLE_ASH_ALIAS
|
#if ENABLE_ASH_ALIAS
|
||||||
{ BUILTIN_REG_ASSG "alias" , aliascmd },
|
{ BUILTIN_REG_ASSG "alias" , aliascmd },
|
||||||
|
Loading…
Reference in New Issue
Block a user