X-Git-Url: https://git.teslayout.com/public/public/public/?a=blobdiff_plain;f=example%2Fdiameter%2Flauncher%2Ftesting%2FTestStep.hpp;h=75cbae35990011cd21e87999eb6ac79c5a8ecfa8;hb=61f1340da3cae5159d2e3bc14fc47c6d4bf9453e;hp=4f7e6e887939f8b9bb11359de1fb325d13d04261;hpb=687b0fa0b7c8440f71837334b0b29c28dfae2dca;p=anna.git diff --git a/example/diameter/launcher/testing/TestStep.hpp b/example/diameter/launcher/testing/TestStep.hpp index 4f7e6e8..75cbae3 100644 --- a/example/diameter/launcher/testing/TestStep.hpp +++ b/example/diameter/launcher/testing/TestStep.hpp @@ -44,7 +44,7 @@ namespace anna { class TestCase; class TestTimer; -class RealmNode; +class OriginHost; class TestStep { @@ -87,7 +87,8 @@ class TestStep { // Message (not for all step types) anna::DataBlock a_message; anna::diameter::codec::Message *a_messageCodec; // used as helper and for traffic logs - bool decodeMessage() throw(); + bool decodeMessage(bool trust = false) throw(); // If trust=true: decoding the previously encoded message (sendxml sentences). + // The only error would be validation ones, and we are going to ignore them here. virtual bool do_execute() throw() = 0; // returns true if next step must be executed virtual void do_complete() throw() = 0; // end of transaction (delay/timeout expired, wait condition fulfilled, sending done) @@ -121,7 +122,7 @@ class TestStepSendxml : public TestStep { protected: // possible end points: - RealmNode *a_realmNode; + OriginHost *a_originHost; // Step number reference ('wait for request' step) int a_waitForRequestStepNumber; @@ -132,13 +133,13 @@ class TestStepSendxml : public TestStep { public: TestStepSendxml(TestCase *testCase) : TestStep(testCase), a_expired(false), - a_realmNode(NULL), + a_originHost(NULL), a_waitForRequestStepNumber(-1) {;} ~TestStepSendxml() {;} // setter & getters - void setRealmNode(RealmNode *realm) throw() { a_realmNode = realm; } - RealmNode *getRealmNode() const throw() { return a_realmNode; } + void setOriginHost(OriginHost *host) throw() { a_originHost = host; } + OriginHost *getOriginHost() const throw() { return a_originHost; } void setWaitForRequestStepNumber(int stepNumber) throw() { a_waitForRequestStepNumber = stepNumber; } int getWaitForRequestStepNumber() const throw() { return a_waitForRequestStepNumber; } void setMsgDataBlock(const anna::DataBlock &db) throw() { a_message = db; } @@ -231,8 +232,10 @@ class TestStepCmd : public TestStep { std::string a_errorMsg; //std::string a_output; // for POPEN + pid_t a_childPid; + public: - TestStepCmd(TestCase *testCase) : TestStep(testCase), a_threadRunning(false), a_threadDeprecated(false), a_resultCode(-2)/*, a_output("")*/, a_errorMsg("") { a_type = Type::Cmd; } + TestStepCmd(TestCase *testCase) : TestStep(testCase), a_threadRunning(false), a_threadDeprecated(false), a_resultCode(-2)/*, a_output("")*/, a_errorMsg(""), a_childPid(-1) { a_type = Type::Cmd; } // setter & getters void setThreadRunning(bool running) throw() { a_threadRunning = running; } @@ -243,6 +246,8 @@ class TestStepCmd : public TestStep { const std::string &getErrorMsg() const throw() { return a_errorMsg; } //void appendOutput(const std::string &output) throw() { a_output += output; } //const std::string &getOutput() const throw() { return a_output; } + void setChildPid(pid_t pid) throw() { a_childPid = pid; } + const pid_t &getChildPid() const throw() { return a_childPid; } void setScript(const std::string &script) throw() { a_script = script; } const std::string &getScript() const throw() { return a_script; }