X-Git-Url: https://git.teslayout.com/public/public/public/?a=blobdiff_plain;ds=sidebyside;f=include%2Fanna%2Ftesting%2FTestManager.hpp;h=4f3bed27db315d86a9f1be79eced868e3043af06;hb=eb446c670d53aa275d78b366ef1faf2b32ca964e;hp=82fdf990182afa0df70262387eed5a50d497ff18;hpb=303d3e2584497a05fc715fbf32b57dcf81805f38;p=anna.git diff --git a/include/anna/testing/TestManager.hpp b/include/anna/testing/TestManager.hpp index 82fdf99..4f3bed2 100644 --- a/include/anna/testing/TestManager.hpp +++ b/include/anna/testing/TestManager.hpp @@ -63,7 +63,13 @@ class TestManager : public anna::timex::TimeEventObserver, public anna::Singleto StatSummary() { clear(); } void newTCState(const TestCase::State::_v beginState, const TestCase::State::_v endState) throw(); void clear() throw(); + unsigned int getInitializedCount() const throw() { return a_initializedTcs; } unsigned int getInProgressCount() const throw() { return a_inprogressTcs; } + unsigned int getFailedCount() const throw() { return a_failedTcs; } + unsigned int getSuccessCount() const throw() { return a_sucessTcs; } + unsigned int getFinishedCount() const throw() { return a_sucessTcs + a_failedTcs; } + unsigned int getTotal() const throw() { return (a_initializedTcs + a_inprogressTcs + a_failedTcs + a_sucessTcs); } + anna::xml::Node* asXML(anna::xml::Node* parent) const throw(); }; @@ -77,6 +83,7 @@ class TestManager : public anna::timex::TimeEventObserver, public anna::Singleto std::string a_reportsDirectory; bool a_dumpInitializedReports, a_dumpInProgressReports, a_dumpFailedReports, a_dumpSuccessReports; bool a_dumpHexMessages; + bool a_dumpStdout; // Pool of test cases test_pool_t a_testPool; @@ -128,6 +135,8 @@ 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 setDumpStdout(bool ds) throw() { a_dumpStdout = ds; } + bool getDumpStdout() const throw() { return a_dumpStdout; } void setDumpInitializedReports(bool enable) throw() { a_dumpInitializedReports = enable; } void setDumpInProgressReports(bool enable) throw() { a_dumpInProgressReports = enable; } @@ -160,14 +169,17 @@ class TestManager : public anna::timex::TimeEventObserver, public anna::Singleto unsigned int getInProgressCount() const throw() { return a_statSummary.getInProgressCount(); } + unsigned int getInitializedCount() const throw() { return a_statSummary.getInitializedCount(); } + unsigned int getFinishedCount() const throw() { return a_statSummary.getFinishedCount(); } unsigned int getInProgressLimit() const throw() { return a_inProgressLimit; } - void setInProgressLimit(unsigned int limit) throw() { a_inProgressLimit = limit; } // 0 = UINT_MAX (no limit) + void setInProgressLimit(unsigned int limit) throw() { a_inProgressLimit = limit; } // -1 = UINT_MAX (no limit) bool gotoTestCase(unsigned int id) throw(); + bool runTestCase(unsigned int id) throw(); TestCase *findTestCase(unsigned int id) const throw(); // id = -1 provides current test case triggered - TestCase *getTestCase(unsigned int id) throw(); // creates/reuses a test case + TestCase *getTestCase(unsigned int id, const std::string &description = "") throw(); // creates/reuses a test case - // Diameter + // Diameter-specific TestCase *getDiameterTestCaseFromSessionId(const anna::DataBlock &message, std::string &sessionId) throw(); TestCase *getDiameterTestCaseFromSubscriberId(const anna::DataBlock &message, std::string &subscriberId) throw(); void receiveDiameterMessage(const anna::DataBlock &message, const anna::diameter::comm::ClientSession *clientSession) throw(anna::RuntimeException); @@ -180,7 +192,11 @@ class TestManager : public anna::timex::TimeEventObserver, public anna::Singleto bool execTestCases(int sync_amount) throw(); anna::xml::Node* asXML(anna::xml::Node* parent) const throw(); + anna::xml::Node* junitAsXML(anna::xml::Node* parent) const throw(); std::string asXMLString() const throw(); + std::string junitAsXMLString() const throw(); + std::string summaryCounts() const throw(); + std::string summaryStates() const throw(); // stats void tcsStateStats(const TestCase::State::_v beginState, const TestCase::State::_v endState) throw() {