Fix bug in portfolio executor output; fixes nightly portfolio-checking runs.
authorMorgan Deters <mdeters@cs.nyu.edu>
Sun, 24 Mar 2013 01:38:55 +0000 (21:38 -0400)
committerMorgan Deters <mdeters@cs.nyu.edu>
Sun, 24 Mar 2013 01:40:12 +0000 (21:40 -0400)
src/main/command_executor_portfolio.cpp
src/main/options

index 0e71e153970bd42bb647a835c9c4abc3bbd616ea..45ee521216458bf1cad8f2a290cff774d1aa64d5 100644 (file)
@@ -123,17 +123,14 @@ void CommandExecutorPortfolio::lemmaSharingInit()
     }
 
     /* Output to string stream  */
-    if(d_options[options::verbosity] == 0
-       || d_options[options::separateOutput]) {
-      assert(d_ostringstreams.size() == 0);
-      for(unsigned i = 0; i < d_numThreads; ++i) {
-        d_ostringstreams.push_back(new ostringstream);
-        d_threadOptions[i].set(options::out, d_ostringstreams[i]);
-
-        // important even for muzzled builds (to get result output right)
-        *d_threadOptions[i][options::out]
-          << Expr::setlanguage(d_threadOptions[i][options::outputLanguage]);
-      }
+    assert(d_ostringstreams.size() == 0);
+    for(unsigned i = 0; i < d_numThreads; ++i) {
+      d_ostringstreams.push_back(new ostringstream);
+      d_threadOptions[i].set(options::out, d_ostringstreams[i]);
+
+      // important even for muzzled builds (to get result output right)
+      *d_threadOptions[i][options::out]
+        << Expr::setlanguage(d_threadOptions[i][options::outputLanguage]);
     }
   }
 }/* CommandExecutorPortfolio::lemmaSharingInit() */
@@ -208,7 +205,7 @@ bool CommandExecutorPortfolio::doCommandSingleton(Command* cmd)
       cmd : cmd->exportTo(d_exprMgrs[d_lastWinner], *(d_vmaps[d_lastWinner]) );
     bool ret = smtEngineInvoke(d_smts[d_lastWinner],
                                cmdExported,
-                               d_threadOptions[d_lastWinner][options::out]);
+                               d_options[options::verbosity] >= -1 ? d_threadOptions[d_lastWinner][options::out] : NULL);
     if(d_lastWinner != 0) delete cmdExported;
     return ret;
   } else if(mode == 1) {               // portfolio
@@ -274,7 +271,7 @@ bool CommandExecutorPortfolio::doCommandSingleton(Command* cmd)
       fns[i] = boost::bind(smtEngineInvoke,
                            d_smts[i],
                            seqs[i],
-                           d_threadOptions[i][options::out]
+                           d_options[options::verbosity] >= -1 ? d_threadOptions[i][options::out] : NULL
                            );
     }
 
@@ -332,7 +329,7 @@ bool CommandExecutorPortfolio::doCommandSingleton(Command* cmd)
       cmd : cmd->exportTo(d_exprMgrs[d_lastWinner], *(d_vmaps[d_lastWinner]) );
     bool ret = smtEngineInvoke(d_smts[d_lastWinner],
                                cmdExported,
-                               d_threadOptions[d_lastWinner][options::out]);
+                               d_options[options::verbosity] >= -1 ? d_threadOptions[d_lastWinner][options::out] : NULL);
     if(d_lastWinner != 0) delete cmdExported;
     return ret;
   } else {
index caea63f5a6fabbf43995da35e043afa27d0811b0..9c630270f6b2c1e924ed7eebecebcfdfc6b02d19 100644 (file)
@@ -31,8 +31,8 @@ option threadArgv std::vector<std::string> :include <vector> <string>
  Thread configuration (a string to be passed to parseOptions)
 option thread_id int :default -1
  Thread ID, for internal use in case of multi-threaded run
-option separateOutput bool :default false
- In multi-threaded setting print output of each thread at the end of run, separated by a divider ("----").
+#option separateOutput bool :default false
+# In multi-threaded setting print output of each thread at the end of run, separated by a divider ("----").
 option sharingFilterByLength --filter-lemma-length=N int :default -1 :read-write
  don't share (among portfolio threads) lemmas strictly longer than N
 option fallbackSequential  --fallback-sequential bool :default false