#include <sys/resource.h>
#include <sys/time.h>
#include <unistd.h>
-#include <limits.h>
#include <fstream>
#include <iostream>
return 0;
}
-static void set_iterations(int *N, const char *arg) {
- char *next_char;
- long NL = strtol(arg, &next_char, 10);
- if (NL < 1 || NL > INT_MAX || *next_char != '\0') {
- fprintf(stderr, "WARNING: iterations invalid `%s`\n",
- arg);
- ::exit(-1);
- }
-
- *N = static_cast<int>(NL);
-}
-
int main(int argc, char **argv) {
fprintf(stderr,
"======================= INFO =========================\n"
int N = 1000;
if (argc == 2 && argv[1][0] == '-')
- set_iterations(&N, argv[1] + 1);
- else if(argc == 2) {
- fprintf(stderr, "WARNING: using the deprecated call style `%s %d`\n",
- argv[0], N);
- set_iterations(&N, argv[1]);
- } else if (argc > 1)
+ N = atoi(argv[1] + 1);
+ else if(argc == 2 && (N = atoi(argv[1])) > 0)
+ fprintf(stderr, "WARNING: using the deprecated call style `%s %d`\n",
+ argv[0], N);
+ else if (argc > 1)
return ExecuteFilesOnyByOne(argc, argv);
assert(N > 0);
CHECK3: LLVMFuzzerTestOneInput called; Size = 3
-RUN: not %run %t-AFLDriverTest %t.file3 2>&1 | FileCheck %s --check-prefix=CHECK4
-CHECK4: WARNING: using the deprecated call style `{{.*}} 1000`
-CHECK4: WARNING: iterations invalid `{{.*}}`
+RUN: %run %t-AFLDriverTest %t.file3 2>&1 | FileCheck %s --check-prefix=CHECK4
+CHECK4: LLVMFuzzerTestOneInput called; Size = 3
RUN: %run %t-AFLDriverTest %t.file3 %t.file4 2>&1 | FileCheck %s --check-prefix=CHECK5
CHECK5: LLVMFuzzerTestOneInput called; Size = 3
CHECK5: LLVMFuzzerTestOneInput called; Size = 4
-
-RUN: not %run %t-AFLDriverTest < %t.file3 --1 2>&1 | FileCheck %s --check-prefix=CHECK6
-CHECK6: WARNING: iterations invalid `-1`
-
-RUN: not %run %t-AFLDriverTest < %t.file3 -Invalid 2>&1 | FileCheck %s --check-prefix=CHECK7
-CHECK7: WARNING: iterations invalid `Invalid`