Simplify parsed variables. Improve dump configuration for test report by state type
[anna.git] / example / diameter / launcher / testing / TestManager.hpp
index 2f61501..af40fbf 100644 (file)
@@ -76,7 +76,7 @@ class TestManager : public anna::timex::TimeEventObserver, public anna::Singleto
 
   // reports
   std::string a_reportsDirectory;
-  bool a_dumpReports;
+  bool a_dumpInitializedReports, a_dumpInProgressReports, a_dumpFailedReports, a_dumpSuccessReports;
   bool a_dumpHexMessages;
 
   // Pool of test cases
@@ -90,6 +90,7 @@ class TestManager : public anna::timex::TimeEventObserver, public anna::Singleto
   int a_synchronousAmount;
   TestClock *a_clock;
   bool tick() throw();
+  bool execTestCases(int sync_amount) throw();
   bool nextTestCase() throw();
 
   // Test timers
@@ -122,8 +123,23 @@ class TestManager : public anna::timex::TimeEventObserver, public anna::Singleto
 
     void setDumpHex(bool dh) throw() { a_dumpHexMessages = dh; }
     bool getDumpHex() const throw() { return a_dumpHexMessages; }
-    void setDumpReports(bool dr) throw() { a_dumpReports = dr; }
-    bool getDumpReports() const throw() { return a_dumpReports; }
+
+
+    void setDumpInitializedReports(bool enable) throw() { a_dumpInitializedReports = enable; }
+    void setDumpInProgressReports(bool enable) throw() { a_dumpInProgressReports = enable; }
+    void setDumpFailedReports(bool enable) throw() { a_dumpFailedReports = enable; }
+    void setDumpSuccessReports(bool enable) throw() { a_dumpSuccessReports = enable; }
+    void setDumpAllReports(bool enable) throw() {
+      setDumpInitializedReports(enable);
+      setDumpInProgressReports(enable);
+      setDumpFailedReports(enable);
+      setDumpSuccessReports(enable);
+    }
+
+    bool getDumpInitializedReports() const throw() { return a_dumpInitializedReports; }
+    bool getDumpInProgressReports() const throw() { return a_dumpInProgressReports; }
+    bool getDumpFailedReports() const throw() { return a_dumpFailedReports; }
+    bool getDumpSuccessReports() const throw() { return a_dumpSuccessReports; }
 
     // Helper to calculate time interval and synchronous amount of execution tests to guarantee the input rate (tests per second)
     //  through the time manager which has a minimum resolution of ADML minimum resolution. The first call to this method will
@@ -162,6 +178,7 @@ class TestManager : public anna::timex::TimeEventObserver, public anna::Singleto
   friend class TestStepTimeout; // createTimer
   friend class TestStepDelay; // createTimer
   friend class TestClock; // tick
+  friend class Launcher; // tick
 };
 
 #endif