[lib/Fuzzer] ignore flags that start with --; use git pull --rebase instead of just...
authorKostya Serebryany <kcc@google.com>
Thu, 21 May 2015 20:39:13 +0000 (20:39 +0000)
committerKostya Serebryany <kcc@google.com>
Thu, 21 May 2015 20:39:13 +0000 (20:39 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@237950 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Fuzzer/FuzzerDriver.cpp
lib/Fuzzer/pull_and_push_fuzz_corpus.sh

index dd0db86e02e16cafb81bb2598b915449ce6acce4..edfe09e8731042b3f891600c0bb47e50a31417e4 100644 (file)
@@ -75,6 +75,8 @@ static void PrintHelp() {
     std::cerr << "\t";
     std::cerr << D.Default << "\t" << D.Description << "\n";
   }
     std::cerr << "\t";
     std::cerr << D.Default << "\t" << D.Description << "\n";
   }
+  std::cerr << "\nFlags starting with '--' will be ignored and "
+            "will be passed verbatim to subprocesses.\n";
 }
 
 static const char *FlagValue(const char *Param, const char *Name) {
 }
 
 static const char *FlagValue(const char *Param, const char *Name) {
@@ -87,6 +89,14 @@ static const char *FlagValue(const char *Param, const char *Name) {
 
 static bool ParseOneFlag(const char *Param) {
   if (Param[0] != '-') return false;
 
 static bool ParseOneFlag(const char *Param) {
   if (Param[0] != '-') return false;
+  if (Param[1] == '-') {
+    static bool PrintedWarning = false;
+    if (!PrintedWarning) {
+      PrintedWarning = true;
+      std::cerr << "WARNING: libFuzzer ignores flags that start with '--'\n";
+    }
+    return true;
+  }
   for (size_t F = 0; F < kNumFlags; F++) {
     const char *Name = FlagDescriptions[F].Name;
     const char *Str = FlagValue(Param, Name);
   for (size_t F = 0; F < kNumFlags; F++) {
     const char *Name = FlagDescriptions[F].Name;
     const char *Str = FlagValue(Param, Name);
index bd564e3dfe50a2175ed2ae38c519a73c668cfd2d..05c322c6e5bfeb3bc890ea16745b9e727b63bdad 100755 (executable)
@@ -8,10 +8,10 @@
 cd $1
 git add *
 git commit -m "fuzz test corpus"
 cd $1
 git add *
 git commit -m "fuzz test corpus"
-git pull --no-edit
+git pull --rebase --no-edit
 for((attempt=0; attempt<5; attempt++)); do
   echo GIT PUSH $1 ATTEMPT $attempt
   if $(git push); then break; fi
 for((attempt=0; attempt<5; attempt++)); do
   echo GIT PUSH $1 ATTEMPT $attempt
   if $(git push); then break; fi
-  git pull --no-edit
+  git pull --rebase --no-edit
 done
 
 done