From 56fdf785afe43dc636ca4334c4ca47cf8241334d Mon Sep 17 00:00:00 2001 From: Eduardo Ramos Testillano Date: Fri, 5 Feb 2016 03:18:03 +0100 Subject: [PATCH] trust --- example/diameter/launcher/testing/TestStep.cpp | 15 ++++++--------- example/diameter/launcher/testing/TestStep.hpp | 3 ++- 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/example/diameter/launcher/testing/TestStep.cpp b/example/diameter/launcher/testing/TestStep.cpp index d02d9b6..9bb5230 100644 --- a/example/diameter/launcher/testing/TestStep.cpp +++ b/example/diameter/launcher/testing/TestStep.cpp @@ -177,10 +177,11 @@ void TestStep::initialize(TestCase *testCase) { a_number = testCase->steps() + 1; // testCase is not NULL } -bool TestStep::decodeMessage() throw() { +bool TestStep::decodeMessage(bool trust) throw() { if (a_messageCodec) return true; a_messageCodec = new anna::diameter::codec::Message; if (::decodeMessage(a_message, *a_messageCodec)) return true; + if (trust) return true; delete a_messageCodec; a_messageCodec = NULL; @@ -413,12 +414,10 @@ bool TestStepSendxml::do_execute() throw() { // Detailed log: if(a_originHost->logEnabled()) { - //if (decodeMessage()) { - // here we decode what we encoded on programming, then we could have a validation problem but not a decoding one: - decodeMessage(); + if (decodeMessage(true /* trust */)) { std::string detail = usedClientSession ? usedClientSession->asString() : ""; // shouldn't happen a_originHost->writeLogFile(*a_messageCodec, (success ? "sent2e" : "send2eError"), detail); - //} + } } } else if (getType() == Type::Sendxml2c) { @@ -449,12 +448,10 @@ bool TestStepSendxml::do_execute() throw() { // Detailed log: if(a_originHost->logEnabled()) { - //if (decodeMessage()) { - // here we decode what we encoded on programming, then we could have a validation problem but not a decoding one: - decodeMessage(); + if (decodeMessage(true /* trust */)) { std::string detail = usedServerSession ? usedServerSession->asString() : ""; // shouldn't happen a_originHost->writeLogFile(*a_messageCodec, (success ? "sent2c" : "send2cError"), detail); - //} + } } } diff --git a/example/diameter/launcher/testing/TestStep.hpp b/example/diameter/launcher/testing/TestStep.hpp index ebded32..75cbae3 100644 --- a/example/diameter/launcher/testing/TestStep.hpp +++ b/example/diameter/launcher/testing/TestStep.hpp @@ -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) -- 2.20.1