--- a/toybox-ebfdb34fa1ae/toys/pending/test.c	2014-10-02 18:23:27.000000000 +0530
+++ b/toybox-ebfdb34fa1ae/toys/pending/test.c	2014-10-16 03:56:13.651917655 +0530
@@ -5,6 +5,8 @@
  * See http://pubs.opengroup.org/onlinepubs/9699919799/utilities/test.html
 
 USE_TEST(NEWTOY(test, NULL, TOYFLAG_USR|TOYFLAG_BIN))
+USE_TEST(OLDTOY([, test, NULL, TOYFLAG_USR|TOYFLAG_BIN))
+USE_TEST(OLDTOY([[, test, NULL, TOYFLAG_USR|TOYFLAG_BIN))
 
 config TEST
   bool "test"
@@ -41,13 +43,15 @@
 
 void test_main(void)
 {
-  int id, not;
+  int id, not = 0;
   char *s, *err_fmt = "Bad flag '%s'";
 
   toys.exitval = 2;
   if (!strcmp("[", toys.which->name))
-    if (!strcmp("]", toys.optargs[--toys.optc])) error_exit("Missing ']'");
-  if (!strcmp("!", toys.optargs[0])) {
+    if (strcmp("]", toys.optargs[--toys.optc])) error_exit("Missing ']'");
+  if (!strcmp("[[", toys.which->name))
+    if (strcmp("]]", toys.optargs[--toys.optc])) error_exit("Missing ']]'");
+  if (toys.optargs[0] && !strcmp("!", toys.optargs[0])) {
     not = 1;
     toys.optargs++;
     toys.optc--;
