[asterisk-commits] asterisk/sipp: Add option to SIPpScenarioSequence to control... (testsuite[master])

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Thu Oct 22 08:46:20 CDT 2015


Anonymous Coward #1000019 has submitted this change and it was merged.

Change subject: asterisk/sipp: Add option to SIPpScenarioSequence to control stopping reactor
......................................................................


asterisk/sipp: Add option to SIPpScenarioSequence to control stopping reactor

By default, SIPpScenarioSequence will stop the TestCase object reactor when the
final SIPp scenario in the sequence has finished. In some cases, however,
particularly when the SIPp scenarios are being used to drive a more complex set
of tests, this isn't desireable. Instead, the test is stopped based on more
complex criteria outside of the SIPp scenario's knowledge.

This patch adds a new option to the SIPpScenarioSequence constructor that
informs it to stop the reactor when all scenarios have executed. By default,
this option is set to True for backwards compatibility reasons.

Change-Id: I4811f25ec1a9c77bbd122de43e4e228d7f5a9c2a
---
M lib/python/asterisk/sipp.py
1 file changed, 7 insertions(+), 2 deletions(-)

Approvals:
  Anonymous Coward #1000019: Verified
  Joshua Colp: Looks good to me, approved



diff --git a/lib/python/asterisk/sipp.py b/lib/python/asterisk/sipp.py
index 0574ccd..83f5e82 100644
--- a/lib/python/asterisk/sipp.py
+++ b/lib/python/asterisk/sipp.py
@@ -318,7 +318,8 @@
     def __init__(self, test_case, sipp_scenarios=None,
                  fail_on_any=False,
                  intermediate_cb_fn=None,
-                 final_deferred=None):
+                 final_deferred=None,
+                 stop_on_done=True):
         """Create a new sequence of scenarios
 
         Keyword Arguments:
@@ -339,6 +340,8 @@
                             have executed, but before the reactor is stopped.
                             The parameter passed to the deferred callback
                             function will be this object.
+        stop_on_done        Stop the test_case object when all scenarios have
+                            executed. Defaults to True.
         """
         self._sipp_scenarios = sipp_scenarios or []
         self._test_case = test_case
@@ -348,6 +351,7 @@
         self._final_deferred = final_deferred
         self._scenario_start_fn = None
         self._scenario_stop_fn = None
+        self._stop_on_done = stop_on_done
 
     def register_scenario_start_callback(self, callback_fn):
         """Register a callback function that will be called on the start of
@@ -397,7 +401,8 @@
             else:
                 if self._final_deferred:
                     self._final_deferred.callback(self)
-                self._test_case.stop_reactor()
+                if self._stop_on_done:
+                    self._test_case.stop_reactor()
             return result
 
         scenarios = self._sipp_scenarios[self._test_counter]

-- 
To view, visit https://gerrit.asterisk.org/1482
To unsubscribe, visit https://gerrit.asterisk.org/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I4811f25ec1a9c77bbd122de43e4e228d7f5a9c2a
Gerrit-PatchSet: 1
Gerrit-Project: testsuite
Gerrit-Branch: master
Gerrit-Owner: Matt Jordan <mjordan at digium.com>
Gerrit-Reviewer: Anonymous Coward #1000019
Gerrit-Reviewer: Joshua Colp <jcolp at digium.com>



More information about the asterisk-commits mailing list