Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package cvise for openSUSE:Factory checked 
in at 2021-03-05 13:47:44
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/cvise (Old)
 and      /work/SRC/openSUSE:Factory/.cvise.new.2378 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "cvise"

Fri Mar  5 13:47:44 2021 rev:26 rq:876737 version:2.2.0+git.20210304.4c7f4cd

Changes:
--------
--- /work/SRC/openSUSE:Factory/cvise/cvise.changes      2021-01-11 
17:17:58.516762841 +0100
+++ /work/SRC/openSUSE:Factory/.cvise.new.2378/cvise.changes    2021-03-05 
13:50:12.751891419 +0100
@@ -1,0 +2,12 @@
+Thu Mar 04 12:54:33 UTC 2021 - [email protected]
+
+- Update to version 2.1.0+git.20210304.4c7f4cd:
+  * Bump to v2.2.0.
+  * Do not detect c++ std when --clang-delta-std is used.
+  * Add check for test case paths.
+  * Add --clang-delta-preserve-routine cvise option.
+  * Ensuring test inputs are copied into the build folder #43
+  * Adding a 'preserve-routine' flag to clang_delta #43
+  * Do not fail fast.
+
+-------------------------------------------------------------------

Old:
----
  cvise-2.1.0+git.20210111.972f4ba.tar.xz

New:
----
  cvise-2.2.0+git.20210304.4c7f4cd.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ cvise.spec ++++++
--- /var/tmp/diff_new_pack.nqHDGR/_old  2021-03-05 13:50:13.371891982 +0100
+++ /var/tmp/diff_new_pack.nqHDGR/_new  2021-03-05 13:50:13.375891985 +0100
@@ -17,7 +17,7 @@
 
 
 Name:           cvise
-Version:        2.1.0+git.20210111.972f4ba
+Version:        2.2.0+git.20210304.4c7f4cd
 Release:        0
 Summary:        Super-parallel Python port of the C-Reduce
 License:        BSD-3-Clause

++++++ _service ++++++
--- /var/tmp/diff_new_pack.nqHDGR/_old  2021-03-05 13:50:13.411892019 +0100
+++ /var/tmp/diff_new_pack.nqHDGR/_new  2021-03-05 13:50:13.411892019 +0100
@@ -4,7 +4,7 @@
     <param name="scm">git</param>
     <param name="changesgenerate">enable</param>
     <param name="filename">cvise</param>
-    <param name="versionformat">2.1.0+git.%cd.%h</param>
+    <param name="versionformat">2.2.0+git.%cd.%h</param>
   </service>
   <service mode="disabled" name="recompress">
     <param name="file">*.tar</param>

++++++ cvise-2.1.0+git.20210111.972f4ba.tar.xz -> 
cvise-2.2.0+git.20210304.4c7f4cd.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/cvise-2.1.0+git.20210111.972f4ba/.github/workflows/build.yml 
new/cvise-2.2.0+git.20210304.4c7f4cd/.github/workflows/build.yml
--- old/cvise-2.1.0+git.20210111.972f4ba/.github/workflows/build.yml    
2021-01-11 11:52:13.000000000 +0100
+++ new/cvise-2.2.0+git.20210304.4c7f4cd/.github/workflows/build.yml    
2021-03-04 13:49:32.000000000 +0100
@@ -28,6 +28,7 @@
           - llvm: 9
             build-type: DEBUG
             docker: opensuse/leap
+      fail-fast: false
 
     container: ${{ matrix.docker }}
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cvise-2.1.0+git.20210111.972f4ba/CMakeLists.txt 
new/cvise-2.2.0+git.20210304.4c7f4cd/CMakeLists.txt
--- old/cvise-2.1.0+git.20210111.972f4ba/CMakeLists.txt 2021-01-11 
11:52:13.000000000 +0100
+++ new/cvise-2.2.0+git.20210304.4c7f4cd/CMakeLists.txt 2021-03-04 
13:49:32.000000000 +0100
@@ -122,11 +122,11 @@
 set(cvise_PACKAGE             "cvise")
 set(cvise_PACKAGE_BUGREPORT   "https://github.com/marxin/cvise/issues";)
 set(cvise_PACKAGE_NAME        "cvise")
-set(cvise_PACKAGE_STRING      "cvise 2.1.0")
+set(cvise_PACKAGE_STRING      "cvise 2.2.0")
 set(cvise_PACKAGE_TARNAME     "cvise")
 set(cvise_PACKAGE_URL         "https://github.com/marxin/cvise/";)
-set(cvise_PACKAGE_VERSION     "2.1.0")
-set(cvise_VERSION             "2.1.0")
+set(cvise_PACKAGE_VERSION     "2.2.0")
+set(cvise_VERSION             "2.2.0")
 set(cvise_LLVM_VERSION        "${LLVM_PACKAGE_VERSION}")
 
 configure_file("cmake_config.h.in" "${PROJECT_BINARY_DIR}/config.h")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/cvise-2.1.0+git.20210111.972f4ba/clang_delta/CMakeLists.txt 
new/cvise-2.2.0+git.20210304.4c7f4cd/clang_delta/CMakeLists.txt
--- old/cvise-2.1.0+git.20210111.972f4ba/clang_delta/CMakeLists.txt     
2021-01-11 11:52:13.000000000 +0100
+++ new/cvise-2.2.0+git.20210304.4c7f4cd/clang_delta/CMakeLists.txt     
2021-03-04 13:49:32.000000000 +0100
@@ -306,6 +306,10 @@
   "/tests/replace-function-def-with-decl/macro1.output"
   "/tests/replace-function-def-with-decl/macro2.c"
   "/tests/replace-function-def-with-decl/macro2.output"
+  "/tests/replace-function-def-with-decl/simple.cpp"
+  "/tests/replace-function-def-with-decl/simple.cpp.preserve_foo.output"
+  "/tests/replace-function-def-with-decl/simple.cpp.preserve_missing.output"
+  "/tests/replace-function-def-with-decl/simple.cpp.preserve_quack.output"
   "/tests/return-void/test1.c"
   "/tests/return-void/test1.output"
   "/tests/return-void/test2.c"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/cvise-2.1.0+git.20210111.972f4ba/clang_delta/ClangDelta.cpp 
new/cvise-2.2.0+git.20210304.4c7f4cd/clang_delta/ClangDelta.cpp
--- old/cvise-2.1.0+git.20210111.972f4ba/clang_delta/ClangDelta.cpp     
2021-01-11 11:52:13.000000000 +0100
+++ new/cvise-2.2.0+git.20210304.4c7f4cd/clang_delta/ClangDelta.cpp     
2021-03-04 13:49:32.000000000 +0100
@@ -78,6 +78,11 @@
   llvm::outs() << "\"string\". Currently, this option works only with ";
   llvm::outs() << "transformation expression-detector.\n";
 
+  llvm::outs() << "  --preserve-routine=<string>: ";
+  llvm::outs() << "only modify routines that do not match \"string\". ";
+  llvm::outs() << "Note that currently only replace-function-def-with-decl";
+  llvm::outs() << "supports this feature.\n";
+
   llvm::outs() << "  --check-reference=<value>: ";
   llvm::outs() << "insert code to check if the candidate designated by the ";
   llvm::outs() << "counter equals to the reference value or not. Currently, ";
@@ -169,6 +174,9 @@
   else if (!ArgName.compare("replacement")) {
     TransMgr->setReplacement(ArgValue);
   }
+  else if (!ArgName.compare("preserve-routine")) {
+    TransMgr->setPreserveRoutine(ArgValue);
+  }
   else if (!ArgName.compare("check-reference")) {
     TransMgr->setReferenceValue(ArgValue);
   }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/cvise-2.1.0+git.20210111.972f4ba/clang_delta/ReplaceFunctionDefWithDecl.cpp 
new/cvise-2.2.0+git.20210304.4c7f4cd/clang_delta/ReplaceFunctionDefWithDecl.cpp
--- 
old/cvise-2.1.0+git.20210111.972f4ba/clang_delta/ReplaceFunctionDefWithDecl.cpp 
    2021-01-11 11:52:13.000000000 +0100
+++ 
new/cvise-2.2.0+git.20210304.4c7f4cd/clang_delta/ReplaceFunctionDefWithDecl.cpp 
    2021-03-04 13:49:32.000000000 +0100
@@ -314,6 +314,11 @@
 
 void ReplaceFunctionDefWithDecl::addOneFunctionDef(const FunctionDecl *FD)
 {
+  // If DoPreserveRoutine is set, and our current routine is the one we're
+  // preserving, then skip it
+  if (DoPreserveRoutine && FD->getQualifiedNameAsString() == PreserveRoutine)
+    return;
+
   ValidInstanceNum++;
   if (ToCounter > 0) {
     AllValidFunctionDefs.push_back(FD);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/cvise-2.1.0+git.20210111.972f4ba/clang_delta/Transformation.h 
new/cvise-2.2.0+git.20210304.4c7f4cd/clang_delta/Transformation.h
--- old/cvise-2.1.0+git.20210111.972f4ba/clang_delta/Transformation.h   
2021-01-11 11:52:13.000000000 +0100
+++ new/cvise-2.2.0+git.20210304.4c7f4cd/clang_delta/Transformation.h   
2021-03-04 13:49:32.000000000 +0100
@@ -84,6 +84,7 @@
       MultipleRewrites(false),
       ToCounter(-1),
       DoReplacement(false),
+      DoPreserveRoutine(false),
       CheckReference(false),
       WarnOnCounterOutOfBounds(false)
   {
@@ -106,6 +107,7 @@
       MultipleRewrites(MultipleRewritesFlag),
       ToCounter(-1),
       DoReplacement(false),
+      DoPreserveRoutine(false),
       CheckReference(false),
       WarnOnCounterOutOfBounds(false)
   {
@@ -144,6 +146,11 @@
     DoReplacement = true;
   }
 
+  void setPreserveRoutine(const std::string &Str) {
+    PreserveRoutine = Str;
+    DoPreserveRoutine = true;
+  }
+
   void setReferenceValue(const std::string &Str) {
     ReferenceValue = Str;
     CheckReference = true;
@@ -343,6 +350,10 @@
 
   std::string Replacement;
 
+  bool DoPreserveRoutine;
+
+  std::string PreserveRoutine;
+
   bool CheckReference;
 
   std::string ReferenceValue;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/cvise-2.1.0+git.20210111.972f4ba/clang_delta/TransformationManager.cpp 
new/cvise-2.2.0+git.20210304.4c7f4cd/clang_delta/TransformationManager.cpp
--- old/cvise-2.1.0+git.20210111.972f4ba/clang_delta/TransformationManager.cpp  
2021-01-11 11:52:13.000000000 +0100
+++ new/cvise-2.2.0+git.20210304.4c7f4cd/clang_delta/TransformationManager.cpp  
2021-03-04 13:49:32.000000000 +0100
@@ -225,6 +225,8 @@
   // is invoked through ClangInstance->setASTConsumer.
   if (DoReplacement)
     CurrentTransformationImpl->setReplacement(Replacement);
+  if (DoPreserveRoutine)
+    CurrentTransformationImpl->setPreserveRoutine(PreserveRoutine);
   if (CheckReference)
     CurrentTransformationImpl->setReferenceValue(ReferenceValue);
 
@@ -422,6 +424,8 @@
     QueryInstanceOnly(false),
     DoReplacement(false),
     Replacement(""),
+    DoPreserveRoutine(false),
+    PreserveRoutine(""),
     CheckReference(false),
     ReferenceValue(""),
     SetCXXStandard(false),
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/cvise-2.1.0+git.20210111.972f4ba/clang_delta/TransformationManager.h 
new/cvise-2.2.0+git.20210304.4c7f4cd/clang_delta/TransformationManager.h
--- old/cvise-2.1.0+git.20210111.972f4ba/clang_delta/TransformationManager.h    
2021-01-11 11:52:13.000000000 +0100
+++ new/cvise-2.2.0+git.20210304.4c7f4cd/clang_delta/TransformationManager.h    
2021-03-04 13:49:32.000000000 +0100
@@ -80,6 +80,11 @@
     DoReplacement = true;
   }
 
+  void setPreserveRoutine(const std::string &Str) {
+    PreserveRoutine = Str;
+    DoPreserveRoutine = true;
+  }
+
   void setReferenceValue(const std::string &Str) {
     ReferenceValue = Str;
     CheckReference = true;
@@ -156,6 +161,10 @@
 
   std::string Replacement;
 
+  bool DoPreserveRoutine;
+
+  std::string PreserveRoutine;
+
   bool CheckReference;
 
   std::string ReferenceValue;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/cvise-2.1.0+git.20210111.972f4ba/clang_delta/tests/replace-function-def-with-decl/simple.cpp
 
new/cvise-2.2.0+git.20210304.4c7f4cd/clang_delta/tests/replace-function-def-with-decl/simple.cpp
--- 
old/cvise-2.1.0+git.20210111.972f4ba/clang_delta/tests/replace-function-def-with-decl/simple.cpp
    1970-01-01 01:00:00.000000000 +0100
+++ 
new/cvise-2.2.0+git.20210304.4c7f4cd/clang_delta/tests/replace-function-def-with-decl/simple.cpp
    2021-03-04 13:49:32.000000000 +0100
@@ -0,0 +1,10 @@
+class Moo {
+public:
+  static int foo() { return 10; }
+  static int bar() { return 10; }
+};
+
+void quack(void) {
+  if (Moo::foo())
+    ;
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/cvise-2.1.0+git.20210111.972f4ba/clang_delta/tests/replace-function-def-with-decl/simple.cpp.preserve_foo.output
 
new/cvise-2.2.0+git.20210304.4c7f4cd/clang_delta/tests/replace-function-def-with-decl/simple.cpp.preserve_foo.output
--- 
old/cvise-2.1.0+git.20210111.972f4ba/clang_delta/tests/replace-function-def-with-decl/simple.cpp.preserve_foo.output
        1970-01-01 01:00:00.000000000 +0100
+++ 
new/cvise-2.2.0+git.20210304.4c7f4cd/clang_delta/tests/replace-function-def-with-decl/simple.cpp.preserve_foo.output
        2021-03-04 13:49:32.000000000 +0100
@@ -0,0 +1,7 @@
+class Moo {
+public:
+  static int foo() { return 10; }
+  static int bar() ;
+};
+
+void quack(void) ;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/cvise-2.1.0+git.20210111.972f4ba/clang_delta/tests/replace-function-def-with-decl/simple.cpp.preserve_missing.output
 
new/cvise-2.2.0+git.20210304.4c7f4cd/clang_delta/tests/replace-function-def-with-decl/simple.cpp.preserve_missing.output
--- 
old/cvise-2.1.0+git.20210111.972f4ba/clang_delta/tests/replace-function-def-with-decl/simple.cpp.preserve_missing.output
    1970-01-01 01:00:00.000000000 +0100
+++ 
new/cvise-2.2.0+git.20210304.4c7f4cd/clang_delta/tests/replace-function-def-with-decl/simple.cpp.preserve_missing.output
    2021-03-04 13:49:32.000000000 +0100
@@ -0,0 +1,7 @@
+class Moo {
+public:
+  static int foo() ;
+  static int bar() ;
+};
+
+void quack(void) ;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/cvise-2.1.0+git.20210111.972f4ba/clang_delta/tests/replace-function-def-with-decl/simple.cpp.preserve_quack.output
 
new/cvise-2.2.0+git.20210304.4c7f4cd/clang_delta/tests/replace-function-def-with-decl/simple.cpp.preserve_quack.output
--- 
old/cvise-2.1.0+git.20210111.972f4ba/clang_delta/tests/replace-function-def-with-decl/simple.cpp.preserve_quack.output
      1970-01-01 01:00:00.000000000 +0100
+++ 
new/cvise-2.2.0+git.20210304.4c7f4cd/clang_delta/tests/replace-function-def-with-decl/simple.cpp.preserve_quack.output
      2021-03-04 13:49:32.000000000 +0100
@@ -0,0 +1,10 @@
+class Moo {
+public:
+  static int foo() ;
+  static int bar() ;
+};
+
+void quack(void) {
+  if (Moo::foo())
+    ;
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/cvise-2.1.0+git.20210111.972f4ba/clang_delta/tests/test_clang_delta.py 
new/cvise-2.2.0+git.20210304.4c7f4cd/clang_delta/tests/test_clang_delta.py
--- old/cvise-2.1.0+git.20210111.972f4ba/clang_delta/tests/test_clang_delta.py  
2021-01-11 11:52:13.000000000 +0100
+++ new/cvise-2.2.0+git.20210304.4c7f4cd/clang_delta/tests/test_clang_delta.py  
2021-03-04 13:49:32.000000000 +0100
@@ -468,6 +468,21 @@
     def test_replace_function_def_with_decl_macro2(self):
         self.check_clang_delta('replace-function-def-with-decl/macro2.c', 
'--transformation=replace-function-def-with-decl --counter=1 --to-counter=2')
 
+    def test_replace_function_def_with_decl_simple_preserve_missing(self):
+        self.check_clang_delta('replace-function-def-with-decl/simple.cpp',
+                               
'--transformation=replace-function-def-with-decl 
--preserve-routine=blahblahblah --counter=1 --to-counter=3',
+                               
output_file='replace-function-def-with-decl/simple.cpp.preserve_missing.output')
+
+    def test_replace_function_def_with_decl_simple_preserve_quack(self):
+        self.check_clang_delta('replace-function-def-with-decl/simple.cpp',
+                               
'--transformation=replace-function-def-with-decl --preserve-routine=quack 
--counter=1 --to-counter=2',
+                               
output_file='replace-function-def-with-decl/simple.cpp.preserve_quack.output')
+
+    def test_replace_function_def_with_decl_simple_preserve_foo(self):
+        self.check_clang_delta('replace-function-def-with-decl/simple.cpp',
+                               
'--transformation=replace-function-def-with-decl --preserve-routine=Moo::foo 
--counter=1 --to-counter=9999 --warn-on-counter-out-of-bounds',
+                               
output_file='replace-function-def-with-decl/simple.cpp.preserve_foo.output')
+
     def test_return_void_test1(self):
         self.check_clang_delta('return-void/test1.c', 
'--transformation=return-void --counter=1')
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cvise-2.1.0+git.20210111.972f4ba/cvise/cvise.py 
new/cvise-2.2.0+git.20210304.4c7f4cd/cvise/cvise.py
--- old/cvise-2.1.0+git.20210111.972f4ba/cvise/cvise.py 2021-01-11 
11:52:13.000000000 +0100
+++ new/cvise-2.2.0+git.20210304.4c7f4cd/cvise/cvise.py 2021-03-04 
13:49:32.000000000 +0100
@@ -71,7 +71,7 @@
 
     @classmethod
     def parse_pass_group_dict(cls, pass_group_dict, pass_options, 
external_programs, remove_pass,
-                              clang_delta_std, not_c, renaming):
+                              clang_delta_std, clang_delta_preserve_routine, 
not_c, renaming):
         pass_group = {}
         removed_passes = set(remove_pass.split(',')) if remove_pass else set()
 
@@ -118,6 +118,7 @@
                     continue
 
                 pass_instance.clang_delta_std = clang_delta_std
+                pass_instance.clang_delta_preserve_routine = 
clang_delta_preserve_routine
                 pass_group[category].append(pass_instance)
 
         return pass_group
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/cvise-2.1.0+git.20210111.972f4ba/cvise/passes/clangbinarysearch.py 
new/cvise-2.2.0+git.20210304.4c7f4cd/cvise/passes/clangbinarysearch.py
--- old/cvise-2.1.0+git.20210111.972f4ba/cvise/passes/clangbinarysearch.py      
2021-01-11 11:52:13.000000000 +0100
+++ new/cvise-2.2.0+git.20210304.4c7f4cd/cvise/passes/clangbinarysearch.py      
2021-03-04 13:49:32.000000000 +0100
@@ -30,7 +30,8 @@
         self.clang_delta_std = best
 
     def new(self, test_case, _=None):
-        self.detect_best_standard(test_case)
+        if not self.clang_delta_std:
+            self.detect_best_standard(test_case)
         return BinaryState.create(self.count_instances(test_case))
 
     def advance(self, test_case, state):
@@ -47,6 +48,8 @@
         args = [self.external_programs['clang_delta'], 
'--query-instances={}'.format(self.arg)]
         if self.clang_delta_std:
             args.append('--std={}'.format(self.clang_delta_std))
+        if self.clang_delta_preserve_routine:
+            
args.append(f'--preserve-routine="{self.clang_delta_preserve_routine}"')
         cmd = args + [test_case]
 
         try:
@@ -83,6 +86,8 @@
                     '--warn-on-counter-out-of-bounds', 
'--report-instances-count']
             if self.clang_delta_std:
                 args.append('--std={}'.format(self.clang_delta_std))
+            if self.clang_delta_preserve_routine:
+                
args.append(f'--preserve-routine="{self.clang_delta_preserve_routine}"')
             cmd = [self.external_programs['clang_delta']] + args + [test_case]
             logging.debug(' '.join(cmd))
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/cvise-2.1.0+git.20210111.972f4ba/cvise/utils/error.py 
new/cvise-2.2.0+git.20210304.4c7f4cd/cvise/utils/error.py
--- old/cvise-2.1.0+git.20210111.972f4ba/cvise/utils/error.py   2021-01-11 
11:52:13.000000000 +0100
+++ new/cvise-2.2.0+git.20210304.4c7f4cd/cvise/utils/error.py   2021-03-04 
13:49:32.000000000 +0100
@@ -46,6 +46,14 @@
         return "The specified test case '{}' cannot be {}!".format(self.path, 
self._get_error_name())
 
 
+class FolderInPathTestCaseError(CViseError):
+    def __init__(self, path):
+        self.path = path
+
+    def __str__(self):
+        return f"Test case cannot contain a folder in path: '{self.path}'!"
+
+
 class InvalidInterestingnessTestError(InvalidFileError):
     def __init__(self, path):
         super().__init__(path, None)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/cvise-2.1.0+git.20210111.972f4ba/cvise/utils/testing.py 
new/cvise-2.2.0+git.20210304.4c7f4cd/cvise/utils/testing.py
--- old/cvise-2.1.0+git.20210111.972f4ba/cvise/utils/testing.py 2021-01-11 
11:52:13.000000000 +0100
+++ new/cvise-2.2.0+git.20210304.4c7f4cd/cvise/utils/testing.py 2021-03-04 
13:49:32.000000000 +0100
@@ -13,6 +13,7 @@
 
 from cvise.cvise import CVise
 from cvise.passes.abstract import PassResult, ProcessEventNotifier, 
ProcessEventType
+from cvise.utils.error import FolderInPathTestCaseError
 from cvise.utils.error import InsaneTestCaseError
 from cvise.utils.error import InvalidInterestingnessTestError
 from cvise.utils.error import InvalidTestCaseError
@@ -150,6 +151,8 @@
 
         for test_case in test_cases:
             self.check_file_permissions(test_case, [os.F_OK, os.R_OK, 
os.W_OK], InvalidTestCaseError)
+            if os.path.split(test_case)[0]:
+                raise FolderInPathTestCaseError(test_case)
             fullpath = os.path.abspath(test_case)
             self.test_cases.add(fullpath)
             self.test_cases_modes[fullpath] = os.stat(fullpath).st_mode
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cvise-2.1.0+git.20210111.972f4ba/cvise.py 
new/cvise-2.2.0+git.20210304.4c7f4cd/cvise.py
--- old/cvise-2.1.0+git.20210111.972f4ba/cvise.py       2021-01-11 
11:52:13.000000000 +0100
+++ new/cvise-2.2.0+git.20210304.4c7f4cd/cvise.py       2021-03-04 
13:49:32.000000000 +0100
@@ -116,7 +116,7 @@
 
         try:
             pass_group_dict = CVise.load_pass_group_file(path)
-            CVise.parse_pass_group_dict(pass_group_dict, set(), None, None, 
None, None, None)
+            CVise.parse_pass_group_dict(pass_group_dict, set(), None, None, 
None, None, None, None)
         except MissingPassGroupsError:
             logging.warning('Skipping file {}. Not valid pass 
group.'.format(path))
         else:
@@ -178,6 +178,7 @@
     passes_group.add_argument('--pass-group', type=str, 
choices=get_available_pass_groups(), help='Set of passes used during the 
reduction')
     passes_group.add_argument('--pass-group-file', type=str, help='JSON file 
defining a custom pass group')
     parser.add_argument('--clang-delta-std', type=str, choices=['c++98', 
'c++11', 'c++14', 'c++17', 'c++20'], help='Specify clang_delta C++ standard, it 
can rapidly speed up all clang_delta passes')
+    parser.add_argument('--clang-delta-preserve-routine', type=str, 
help='Preserve the given function in replace-function-def-with-decl clang delta 
pass')
     parser.add_argument('--not-c', action='store_true', help="Don't run passes 
that are specific to C and C++, use this mode for reducing other languages")
     parser.add_argument('--renaming', action='store_true', help='Enable all 
renaming passes (that are disabled by default)')
     parser.add_argument('--list-passes', action='store_true', help='Print all 
available passes and exit')
@@ -231,7 +232,8 @@
 
     pass_group_dict = CVise.load_pass_group_file(pass_group_file)
     pass_group = CVise.parse_pass_group_dict(pass_group_dict, pass_options, 
external_programs,
-                                             args.remove_pass, 
args.clang_delta_std, args.not_c, args.renaming)
+                                             args.remove_pass, 
args.clang_delta_std,
+                                             
args.clang_delta_preserve_routine, args.not_c, args.renaming)
     if args.list_passes:
         logging.info('Available passes:')
         logging.info('INITIAL PASSES')

Reply via email to