[svn-commits] kmoore: testsuite/asterisk/trunk r4092 - /asterisk/trunk/tests/bridge/dial_LS...
SVN commits to the Digium repositories
svn-commits at lists.digium.com
Wed Aug 28 07:09:09 CDT 2013
Author: kmoore
Date: Wed Aug 28 07:09:06 2013
New Revision: 4092
URL: http://svnview.digium.com/svn/testsuite?view=rev&rev=4092
Log:
Fix the dial_LS_options test
This introduces code to the dial_LS_options test to detect when
Asterisk versions later than 11 are used and to expect the appropriate
events and number of events.
Review: https://reviewboard.asterisk.org/r/2780/
(closes issue ASTERISK-22326)
Modified:
asterisk/trunk/tests/bridge/dial_LS_options/Tester.py
Modified: asterisk/trunk/tests/bridge/dial_LS_options/Tester.py
URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/bridge/dial_LS_options/Tester.py?view=diff&rev=4092&r1=4091&r2=4092
==============================================================================
--- asterisk/trunk/tests/bridge/dial_LS_options/Tester.py (original)
+++ asterisk/trunk/tests/bridge/dial_LS_options/Tester.py Wed Aug 28 07:09:06 2013
@@ -13,9 +13,10 @@
import time
sys.path.append("lib/python")
+from version import AsteriskVersion
LOGGER = logging.getLogger(__name__)
-TOLERANCE = 0.5
+TOLERANCE = 1.0
class Tester(object):
def __init__(self, module_config, test_object):
@@ -35,11 +36,12 @@
# Fourth call is a timed call with a single warning played to both
# parties
self.calls.append({'timeout': 10.0, 'numwarnings': 2, 'hangup_style': 'BRIDGE_TIMELIMIT'})
- # Fifth call is a timed call with no warning using the S() option (uses the same mechanism as L with no warning)
+ # Fifth call is a timed call with no warning using the S() option (uses the same mechanism as L with no warning)
self.calls.append({'timeout': 10.0, 'numwarnings': 0, 'hangup_style': 'HANGUP_TIME'})
self.current_call = self.calls.pop(0)
self.num_warnings = 0
self.num_hangup_triggers = 0
+ self.bridge_enters_received = 0
return
def ami_connect(self, ami):
@@ -49,11 +51,20 @@
self.ami = ami
self.ami.registerEvent('Hangup', self.log_hangup_time)
- self.ami.registerEvent('Bridge', self.log_bridge_time)
self.ami.registerEvent('TestEvent', self.log_warnings)
+ if AsteriskVersion() >= AsteriskVersion('12'):
+ self.ami.registerEvent('BridgeEnter', self.log_bridge_enter_time)
+ else:
+ self.ami.registerEvent('Bridge', self.log_bridge_time)
def log_bridge_time(self, ami, event):
if not self.bridge_time:
+ self.bridge_time = time.time()
+ LOGGER.info("Bridge started at time %f" % self.bridge_time)
+
+ def log_bridge_enter_time(self, ami, event):
+ self.bridge_enters_received += 1
+ if not self.bridge_time and self.bridge_enters_received == 2:
self.bridge_time = time.time()
LOGGER.info("Bridge started at time %f" % self.bridge_time)
@@ -88,12 +99,18 @@
(self.current_call['numwarnings'], self.num_warnings))
self.test_object.set_passed(False)
- if 1 != self.num_hangup_triggers:
- LOGGER.error("We expected 1 hangup trigger but got %d" %
- (self.num_hangup_triggers))
+ triggers = 1
+ if self.current_call['hangup_style'] == 'BRIDGE_TIMELIMIT' \
+ and AsteriskVersion() >= AsteriskVersion('12'):
+ triggers = 2
+
+ if triggers != self.num_hangup_triggers:
+ LOGGER.error("We expected %d hangup trigger(s) but got %d" %
+ (triggers, self.num_hangup_triggers))
self.test_object.set_passed(False)
# Reset the variables for the next call
- self.num_hangup_triggers = self.bridge_time = self.end_time = self.num_warnings = 0
+ self.bridge_enters_received = self.num_hangup_triggers = 0
+ self.bridge_time = self.end_time = self.num_warnings = 0
if len(self.calls) != 0:
self.current_call = self.calls.pop(0)
More information about the svn-commits
mailing list