testWASM should be very sad if no options are provided
authorjfbastien@apple.com <jfbastien@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 5 Nov 2016 02:48:16 +0000 (02:48 +0000)
committerjfbastien@apple.com <jfbastien@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 5 Nov 2016 02:48:16 +0000 (02:48 +0000)
https://bugs.webkit.org/show_bug.cgi?id=164444

Reviewed by Saam Barati.

Detect missing or invalid options on the command line.

* testWasm.cpp:
(CommandLine::parseArguments):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@208413 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/JavaScriptCore/ChangeLog
Source/JavaScriptCore/testWasm.cpp

index 0fd4a1f..4391a9f 100644 (file)
@@ -1,3 +1,15 @@
+2016-11-04  JF Bastien  <jfbastien@apple.com>
+
+        testWASM should be very sad if no options are provided
+        https://bugs.webkit.org/show_bug.cgi?id=164444
+
+        Reviewed by Saam Barati.
+
+        Detect missing or invalid options on the command line.
+
+        * testWasm.cpp:
+        (CommandLine::parseArguments):
+
 2016-11-04  Mark Lam  <mark.lam@apple.com>
 
         Error description code should be able to handle Symbol values.
index 02edd51..b759562 100644 (file)
@@ -46,7 +46,6 @@ public:
         parseArguments(argc, argv);
     }
 
-    Vector<String> m_arguments;
     bool m_runLEBTests { false };
     bool m_runWasmTests { false };
 
@@ -68,21 +67,30 @@ void CommandLine::parseArguments(int argc, char** argv)
 {
     int i = 1;
 
+    if (argc == i)
+        printUsageStatement(false);
+
     for (; i < argc; ++i) {
         const char* arg = argv[i];
-        if (!strcmp(arg, "-h") || !strcmp(arg, "--help"))
+
+        if (!strcmp(arg, "-h") || !strcmp(arg, "--help")) {
             printUsageStatement(true);
+            RELEASE_ASSERT_NOT_REACHED();
+        }
 
-        if (!strcmp(arg, "-l") || !strcmp(arg, "--leb"))
+        if (!strcmp(arg, "-l") || !strcmp(arg, "--leb")) {
             m_runLEBTests = true;
+            continue;
+        }
 
-        if (!strcmp(arg, "-w") || !strcmp(arg, "--web"))
+        if (!strcmp(arg, "-w") || !strcmp(arg, "--web")) {
             m_runWasmTests = true;
-    }
-
-    for (; i < argc; ++i)
-        m_arguments.append(argv[i]);
+            continue;
+        }
 
+        fprintf(stderr, "Unknown option %s\n", arg);
+        printUsageStatement(false);
+    }
 }
 
 StaticLock crashLock;