[asterisk-commits] mjordan: branch mjordan/test_framework_092011 r2404 - in /asterisk/team/mjord...

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Tue Sep 20 17:34:01 CDT 2011


Author: mjordan
Date: Tue Sep 20 17:33:59 2011
New Revision: 2404

URL: http://svnview.digium.com/svn/testsuite?view=rev&rev=2404
Log:
Committed for later inclusion

Added:
    asterisk/team/mjordan/test_framework_092011/   (props changed)
      - copied from r2347, asterisk/trunk/
    asterisk/team/mjordan/test_framework_092011/lib/python/asterisk/
      - copied from r2358, asterisk/trunk/lib/python/asterisk/
    asterisk/team/mjordan/test_framework_092011/lib/python/asterisk/ChannelTestCondition.py   (with props)
    asterisk/team/mjordan/test_framework_092011/test-config.yaml   (with props)
    asterisk/team/mjordan/test_framework_092011/tests/apps/
      - copied from r2358, asterisk/trunk/tests/apps/
    asterisk/team/mjordan/test_framework_092011/tests/apps/incomplete/sip_incomplete/run-test
      - copied unchanged from r2394, asterisk/trunk/tests/apps/incomplete/sip_incomplete/run-test
    asterisk/team/mjordan/test_framework_092011/tests/apps/voicemail/
      - copied from r2394, asterisk/trunk/tests/apps/voicemail/
    asterisk/team/mjordan/test_framework_092011/tests/channels/SIP/
      - copied from r2358, asterisk/trunk/tests/channels/SIP/
    asterisk/team/mjordan/test_framework_092011/tests/channels/SIP/handle_response_address_incomplete/run-test
      - copied unchanged from r2394, asterisk/trunk/tests/channels/SIP/handle_response_address_incomplete/run-test
Removed:
    asterisk/team/mjordan/test_framework_092011/tests/apps/incomplete/sip_incomplete/configs/ast1/manager.general.conf.inc
    asterisk/team/mjordan/test_framework_092011/tests/channels/SIP/handle_response_address_incomplete/configs/ast1/manager.general.conf.inc
Modified:
    asterisk/team/mjordan/test_framework_092011/README.txt
    asterisk/team/mjordan/test_framework_092011/lib/python/asterisk/FdTestCondition.py
    asterisk/team/mjordan/test_framework_092011/lib/python/asterisk/TestCase.py
    asterisk/team/mjordan/test_framework_092011/lib/python/asterisk/TestConditions.py
    asterisk/team/mjordan/test_framework_092011/lib/python/asterisk/TestConfig.py
    asterisk/team/mjordan/test_framework_092011/runtests.py
    asterisk/team/mjordan/test_framework_092011/tests/apps/voicemail/authenticate_extensions/run-test
    asterisk/team/mjordan/test_framework_092011/tests/apps/voicemail/authenticate_extensions/test-config.yaml
    asterisk/team/mjordan/test_framework_092011/tests/apps/voicemail/authenticate_invalid_mailbox/test-config.yaml
    asterisk/team/mjordan/test_framework_092011/tests/apps/voicemail/authenticate_invalid_password/test-config.yaml
    asterisk/team/mjordan/test_framework_092011/tests/apps/voicemail/authenticate_nominal/test-config.yaml
    asterisk/team/mjordan/test_framework_092011/tests/apps/voicemail/check_voicemail_callback/configs/ast1/extensions.conf
    asterisk/team/mjordan/test_framework_092011/tests/apps/voicemail/check_voicemail_callback/test-config.yaml
    asterisk/team/mjordan/test_framework_092011/tests/apps/voicemail/check_voicemail_delete/test-config.yaml
    asterisk/team/mjordan/test_framework_092011/tests/apps/voicemail/check_voicemail_dialout/test-config.yaml
    asterisk/team/mjordan/test_framework_092011/tests/apps/voicemail/check_voicemail_envelope/test-config.yaml
    asterisk/team/mjordan/test_framework_092011/tests/apps/voicemail/check_voicemail_forward_hangup/configs/ast2/extensions.conf
    asterisk/team/mjordan/test_framework_092011/tests/apps/voicemail/check_voicemail_forward_with_prepend/test-config.yaml
    asterisk/team/mjordan/test_framework_092011/tests/apps/voicemail/check_voicemail_new_user/test-config.yaml
    asterisk/team/mjordan/test_framework_092011/tests/apps/voicemail/check_voicemail_new_user_hangup/configs/ast2/extensions.conf
    asterisk/team/mjordan/test_framework_092011/tests/apps/voicemail/check_voicemail_nominal/test-config.yaml
    asterisk/team/mjordan/test_framework_092011/tests/apps/voicemail/check_voicemail_reply/test-config.yaml
    asterisk/team/mjordan/test_framework_092011/tests/apps/voicemail/func_vmcount/test-config.yaml
    asterisk/team/mjordan/test_framework_092011/tests/apps/voicemail/leave_voicemail_external_notification/test-config.yaml
    asterisk/team/mjordan/test_framework_092011/tests/apps/voicemail/leave_voicemail_forwarding/test-config.yaml
    asterisk/team/mjordan/test_framework_092011/tests/apps/voicemail/leave_voicemail_forwarding_auto_urgent/test-config.yaml
    asterisk/team/mjordan/test_framework_092011/tests/apps/voicemail/leave_voicemail_nominal/test-config.yaml
    asterisk/team/mjordan/test_framework_092011/tests/apps/voicemail/leave_voicemail_priority/test-config.yaml

Propchange: asterisk/team/mjordan/test_framework_092011/
------------------------------------------------------------------------------
    reviewboard:url = https://reviewboard.asterisk.org

Propchange: asterisk/team/mjordan/test_framework_092011/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Tue Sep 20 17:33:59 2011
@@ -1,0 +1,2 @@
+asterisk-test-suite-report.xml
+*.pyc

Propchange: asterisk/team/mjordan/test_framework_092011/
------------------------------------------------------------------------------
    svn:mergeinfo = /asterisk/trunk:1112

Modified: asterisk/team/mjordan/test_framework_092011/README.txt
URL: http://svnview.digium.com/svn/testsuite/asterisk/team/mjordan/test_framework_092011/README.txt?view=diff&rev=2404&r1=2347&r2=2404
==============================================================================
--- asterisk/team/mjordan/test_framework_092011/README.txt (original)
+++ asterisk/team/mjordan/test_framework_092011/README.txt Tue Sep 20 17:33:59 2011
@@ -285,7 +285,7 @@
 # The testinfo section contains information that describes the purpose of the
 # test.
 testinfo:
-    skip : 'Breif reason for skipping test' # OPTIONAL
+    skip : 'Brief reason for skipping test' # OPTIONAL
     summary     : 'Put a short one liner summary of the test here'
     issues      : |
         # List of issue numbers associated with this test
@@ -300,6 +300,7 @@
 # dependencies for this test.
 properties:
     minversion : '1.4' # minimum Asterisk version compatible with this test
+    buildoption : 'TEST_FRAMEWORK' # OPTIONAL - Asterisk compilation flag
     maxversion : '1.8' # OPTIONAL
     dependencies : |   # OPTIONAL
         # List dependencies that must be met for this test to run
@@ -313,13 +314,69 @@
         # met.
         - python : 'yaml'
 
+        # A 'module' dependency is an Asterisk module that must be loaded by
+        # Asterisk in order for this test to execute.  If the module is not loaded,
+        # the test will not execute.
+        - module : 'app_dial'
+
         # 'custom' dependency can be anything.  Checking for this dependency is
         # done by calling a corresponding method in the Dependency class in
         # runtests.py.  For example, if the dependency is 'ipv6', then the
         # depend_ipv6() method is called to determine if the dependency is met.
         - custom : 'ipv6'
         - custom : 'fax'
-
+    testconditions: # OPTIONAL
+        # List of pre-test and post-test conditions to execute.  Each entry
+        # represents a pre or post-test condition that will be executed either
+        # before or after test execution.  Note that these entries will override
+        # any global pre- and post-test settings, if the global settings allow
+        # for their execution
+        -
+            # Check for thread usage in Asterisk.  These checks were tandem, and
+            # should be used together.  Any threads present in Asterisk after test
+            # execution - and any threads that were detected prior to test execution
+            # that are no longer present - will be flagged as a test error.
+            name: 'asterisk.ThreadTestCondition.ThreadPreTestCondition'
+            # type defines whether the condition defined should be executed prior to
+            # or after test execution.  Valid values are Pre or Post.
+            type: 'Pre'
+        -
+            name: 'asterisk.ThreadTestCondition.ThreadPostTestCondition'
+            type: 'Post'
+            # The ThreadTestCondition objects allow for certain detected threads to be
+            # ignored.  This is a list of the thread names, as reported by the CLI
+            # command 'core show threads'
+            ignoredThreads:
+                - 'netconsole'
+                - 'pbx_thread'
+            # The related condition is the name of the pre-condition that the ThreadPostTestCondition
+            # will use to compare itself against for the purposes of determining which threads
+            # are in the system that shouldn't be.
+            relatedCondition: 'asterisk.ThreadTestCondition.ThreadPreTestCondition'
+        -
+            # Check for SIP dialog usage.  This looks for any SIP dialogs present
+            # in the system before and after a run; if any are present and are not
+            # scheduled for destruction, an error is raised.
+            name: 'asterisk.SipDialogTestCondition.SipDialogPreTestCondition'
+            type: 'Pre'
+        -
+            name: 'asterisk.SipDialogTestCondition.SipDialogPostTestCondition'
+            type: 'Post'
+            # In addition to checking for scheduled destruction, a test can request that
+            # certain entries should appear in the SIP history.  If the entries do not
+            # appear, an error is raised.
+            sipHistoryRequirements:
+                - 'NewChan'
+                - 'Hangup'
+        -
+            # Check for held locks in Asterisk after test execution.  A lock is determined to
+            # be in potential error if threads are detected holding mutexes and waiting on
+            # other threads that are also holding mutexes.
+            name: 'asterisk.LockTestCondition.LockTestCondition'
+            type: 'Pre'
+        -
+            name: 'asterisk.LockTestCondition.LockTestCondition'
+            type: 'Post'
 
 
 --------------------------------------------------------------------------------

Added: asterisk/team/mjordan/test_framework_092011/lib/python/asterisk/ChannelTestCondition.py
URL: http://svnview.digium.com/svn/testsuite/asterisk/team/mjordan/test_framework_092011/lib/python/asterisk/ChannelTestCondition.py?view=auto&rev=2404
==============================================================================
--- asterisk/team/mjordan/test_framework_092011/lib/python/asterisk/ChannelTestCondition.py (added)
+++ asterisk/team/mjordan/test_framework_092011/lib/python/asterisk/ChannelTestCondition.py Tue Sep 20 17:33:59 2011
@@ -1,0 +1,49 @@
+#!/usr/bin/env python
+'''
+Copyright (C) 2011, Digium, Inc.
+Matt Jordan <mjordan at digium.com>
+
+This program is free software, distributed under the terms of
+the GNU General Public License Version 2.
+'''
+
+import logging
+import logging.config
+import unittest
+
+from TestConditions import TestCondition
+
+logger = logging.getLogger(__name__)
+
+class ChannelTestCondition(TestCondition):
+    """
+    Test condition that checks for the existance of channels.  If channels
+    are detected and the number of active channels is greater than the
+    configured amount, an error is raised.
+
+    By default, the number of allowed active channels is 0.
+    """
+
+    def __init__(self, test_config):
+        super(ChannelTestCondition, self).__init__(test_config)
+
+        self.allowed_channels = 0
+        if ('allowedchannels' in test_config.config):
+            self.allowed_channels = test_config.config['allowedchannels']
+
+    def evaluate(self, related_test_condition = None):
+        for ast in self.ast:
+            """ For logging / debug purposes, do a full core show channels """
+            channel_lines = ast.cli_exec('core show channels')
+            channel_tokens = channel_lines.strip().split('\n')
+            active_channels = 0
+            for token in channel_tokens:
+                if 'active channels' in token:
+                    active_channel_tokens = token.partition(' ')
+                    active_channels = int(active_channel_tokens[0].strip())
+            if active_channels > self.allowed_channels:
+                super(ChannelTestCondition, self).failCheck(
+                    'Detected number of active channels %d is greater than the allowed %d on Asterisk %s' % (active_channels, self.allowed_channels, ast.host))
+        """ Set to pass if we haven't detected any failures """
+        super(ChannelTestCondition, self).passCheck()
+

Propchange: asterisk/team/mjordan/test_framework_092011/lib/python/asterisk/ChannelTestCondition.py
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: asterisk/team/mjordan/test_framework_092011/lib/python/asterisk/ChannelTestCondition.py
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Propchange: asterisk/team/mjordan/test_framework_092011/lib/python/asterisk/ChannelTestCondition.py
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: asterisk/team/mjordan/test_framework_092011/lib/python/asterisk/FdTestCondition.py
URL: http://svnview.digium.com/svn/testsuite/asterisk/team/mjordan/test_framework_092011/lib/python/asterisk/FdTestCondition.py?view=diff&rev=2404&r1=2358&r2=2404
==============================================================================
--- asterisk/team/mjordan/test_framework_092011/lib/python/asterisk/FdTestCondition.py (original)
+++ asterisk/team/mjordan/test_framework_092011/lib/python/asterisk/FdTestCondition.py Tue Sep 20 17:33:59 2011
@@ -57,6 +57,20 @@
         line_tokens = lines.split('\n')
         fds = []
         for line in line_tokens:
+            """
+            chan_sip is going to create sockets for the active channels and won't close them until
+            the dialog is reclaimed - 32 seconds after the test.  We ignore the UDP socket file
+            descriptors because of this.
+            """
+            if 'socket(PF_INET,SOCK_DGRAM,"udp")' in line:
+                logger.debug("Ignoring created UDP socket: " + line)
+                continue
+            """
+            If we have MALLOC_DEBUG on and are writing out to the mmlog, ignore
+            """
+            if '__ast_mm_init' in line:
+                logger.debug("Ignoring malloc debug: " + line)
+                continue
             fd = FileDescriptor(line)
             if fd.number != -1:
                 logger.debug("Tracking %d [%s]", fd.number, fd.info)

Modified: asterisk/team/mjordan/test_framework_092011/lib/python/asterisk/TestCase.py
URL: http://svnview.digium.com/svn/testsuite/asterisk/team/mjordan/test_framework_092011/lib/python/asterisk/TestCase.py?view=diff&rev=2404&r1=2358&r2=2404
==============================================================================
--- asterisk/team/mjordan/test_framework_092011/lib/python/asterisk/TestCase.py (original)
+++ asterisk/team/mjordan/test_framework_092011/lib/python/asterisk/TestCase.py Tue Sep 20 17:33:59 2011
@@ -46,6 +46,7 @@
         self.defaultLogLevel = "WARN"
         self.defaultLogFileName = "logger.conf"
         self.timeoutId = None
+        self.global_config = TestConfig(os.getcwd())
         self.test_config = TestConfig(self.test_name)
         self.testStateController = None
 
@@ -72,7 +73,19 @@
         Register pre and post-test conditions.  Note that we have to first register condition checks
         without related conditions, so that those that have dependencies can find them
         """
+        self.global_conditions = self.global_config.get_conditions()
         self.conditions = self.test_config.get_conditions()
+
+        """ If there are no global conditions return """
+        if (len(self.global_conditions) == 0):
+            return
+
+        """ Get those global conditions that are not in the self conditions """
+        for g in self.global_conditions:
+            disallowed = [i for i in self.conditions if i[0].getName() == g[0].getName() and i[1] == g[1]]
+            if (len(disallowed) == 0):
+                self.conditions.append(g)
+
         for c in self.conditions:
             """ c is a 3-tuple of object, pre-post type, and related name """
             if (c[2] == ""):

Modified: asterisk/team/mjordan/test_framework_092011/lib/python/asterisk/TestConditions.py
URL: http://svnview.digium.com/svn/testsuite/asterisk/team/mjordan/test_framework_092011/lib/python/asterisk/TestConditions.py?view=diff&rev=2404&r1=2358&r2=2404
==============================================================================
--- asterisk/team/mjordan/test_framework_092011/lib/python/asterisk/TestConditions.py (original)
+++ asterisk/team/mjordan/test_framework_092011/lib/python/asterisk/TestConditions.py Tue Sep 20 17:33:59 2011
@@ -141,6 +141,7 @@
         if (test_condition.getStatus() == 'Inconclusive'):
             logger.warning(test_condition)
         elif (test_condition.getStatus() == 'Failed'):
+            logger.info(str(test_condition.pass_expected))
             if test_condition.pass_expected:
                 logger.error(test_condition)
             else:

Modified: asterisk/team/mjordan/test_framework_092011/lib/python/asterisk/TestConfig.py
URL: http://svnview.digium.com/svn/testsuite/asterisk/team/mjordan/test_framework_092011/lib/python/asterisk/TestConfig.py?view=diff&rev=2404&r1=2358&r2=2404
==============================================================================
--- asterisk/team/mjordan/test_framework_092011/lib/python/asterisk/TestConfig.py (original)
+++ asterisk/team/mjordan/test_framework_092011/lib/python/asterisk/TestConfig.py Tue Sep 20 17:33:59 2011
@@ -240,12 +240,28 @@
         self.minversion_check = False
         self.deps = []
         self.expectPass = True
+        self.excludedTests = []
+        self.test_configuration = "(none)"
 
         self.__parse_config()
+
+    def __process_global_settings(self):
+        """ These settings only apply to the 'global' test-yaml config file """
+        if "test-configuration" in self.config:
+            self.test_configuration = self.config['test-configuration']
+            if self.test_configuration in self.config:
+                self.config = self.config[self.test_configuration]
+
+                if self.config != None and 'exclude-tests' in self.config:
+                    self.excludedTests = self.config['exclude-tests']
+            else:
+                print "WARNING - test configuration [%s] not found in config file" % self.test_configuration
 
     def __process_testinfo(self):
         self.summary = "(none)"
         self.description = "(none)"
+        if self.config == None:
+            return
         if "testinfo" not in self.config:
             return
         testinfo = self.config["testinfo"]
@@ -259,6 +275,8 @@
 
     def __process_properties(self):
         self.minversion = AsteriskVersion("1.4")
+        if self.config == None:
+            return
         if "properties" not in self.config:
             return
         properties = self.config["properties"]
@@ -303,6 +321,7 @@
                     self.test_name
             return
 
+        self.__process_global_settings()
         self.__process_testinfo()
         self.__process_properties()
 

Modified: asterisk/team/mjordan/test_framework_092011/runtests.py
URL: http://svnview.digium.com/svn/testsuite/asterisk/team/mjordan/test_framework_092011/runtests.py?view=diff&rev=2404&r1=2347&r2=2404
==============================================================================
--- asterisk/team/mjordan/test_framework_092011/runtests.py (original)
+++ asterisk/team/mjordan/test_framework_092011/runtests.py Tue Sep 20 17:33:59 2011
@@ -121,10 +121,13 @@
 
         self.tests = []
         self.tests = self._parse_test_yaml("tests", ast_version)
-
+        self.global_config = self._parse_global_config()
         self.total_time = 0.0
         self.total_count = 0
         self.total_failures = 0
+
+    def _parse_global_config(self):
+        return TestConfig(os.getcwd())
 
     def _parse_test_yaml(self, test_dir, ast_version):
         tests = []
@@ -194,6 +197,14 @@
                     print "--- --> Dependency: %s - %s" % (d.name, str(d.met))
                 print
                 continue
+            if self.global_config != None:
+                exclude = False
+                for excluded in self.global_config.excludedTests:
+                    if excluded in t.test_name:
+                        print "--- ---> Excluded test: %s" % excluded
+                        exclude = True
+                if exclude:
+                    continue
 
             print "--> Running test '%s' ...\n" % t.test_name
 

Added: asterisk/team/mjordan/test_framework_092011/test-config.yaml
URL: http://svnview.digium.com/svn/testsuite/asterisk/team/mjordan/test_framework_092011/test-config.yaml?view=auto&rev=2404
==============================================================================
--- asterisk/team/mjordan/test_framework_092011/test-config.yaml (added)
+++ asterisk/team/mjordan/test_framework_092011/test-config.yaml Tue Sep 20 17:33:59 2011
@@ -1,0 +1,78 @@
+# This configuration file defines global settings for test execution.
+# The test suite will attempt to apply these settings to all tests that
+# support them.
+
+# The current test configuration.  This should match a key value in this
+# configuration file.
+test-configuration: config-pessimistic
+
+# Exclude all long-running tests (greater than one minute)
+config-fast:
+    exclude-tests:
+        - 'authenticate_invalid_password'
+        - 'check_voicemail_callback'
+        - 'check_voicemail_delete'
+        - 'check_voicemail_dialout'
+        - 'check_voicemail_envelope'
+        - 'check_voicemail_new_user'
+        - 'check_voicemail_nominal'
+        - 'check_voicemail_reply'
+        - 'leave_voicemail_external_notification'
+        - 'leave_voicemail_nominal'
+        - 'gateway_g711_t38'
+        - 'gateway_mix1'
+        - 'gateway_mix2'
+        - 'gateway_mix3'
+        - 'gateway_mix4'
+        - 'gateway_native_t38'
+        - 'gateway_native_t38_ced'
+        - 'gateway_no_t38'
+        - 'gateway_t38_g711'
+        - 'gateway_timeout1'
+        - 'gateway_timeout2'
+        - 'gateway_timeout3'
+        - 'gateway_timeout4'
+        - 'gateway_timeout5'
+
+# Include all tests that can run under the installed version of Asterisk.
+# It is included merely for completeness.
+config-standard:
+
+# This test enables the pre- and post-test condition checking on all tests
+# that support it.  Individual tests can override the behavior of a pre-
+# and post-test in their test-config.yaml files.
+config-pessimistic:
+    properties:
+        testconditions:
+#            -
+#                name: 'asterisk.ThreadTestCondition.ThreadPreTestCondition'
+#                type: 'Pre'
+#            -
+#                name: 'asterisk.ThreadTestCondition.ThreadPostTestCondition'
+#                type: 'Post'
+#                relatedCondition: 'asterisk.ThreadTestCondition.ThreadPreTestCondition'
+#            -
+#                name: 'asterisk.SipDialogTestCondition.SipDialogPreTestCondition'
+#                type: 'Pre'
+#            -
+#                name: 'asterisk.SipDialogTestCondition.SipDialogPostTestCondition'
+#                type: 'Post'
+#            -
+#                name: 'asterisk.LockTestCondition.LockTestCondition'
+#                type: 'Pre'
+#            -
+#                name: 'asterisk.LockTestCondition.LockTestCondition'
+#                type: 'Post'
+            -
+                name: 'asterisk.FdTestCondition.FdPreTestCondition'
+                type: 'Pre'
+            -
+                name: 'asterisk.FdTestCondition.FdPostTestCondition'
+                relatedCondition: 'asterisk.FdTestCondition.FdPreTestCondition'
+                type: 'Post'
+            -
+                name: 'asterisk.ChannelTestCondition.ChannelTestCondition'
+                type: 'Pre'
+            -
+                name: 'asterisk.ChannelTestCondition.ChannelTestCondition'
+                type: 'Post'

Propchange: asterisk/team/mjordan/test_framework_092011/test-config.yaml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: asterisk/team/mjordan/test_framework_092011/test-config.yaml
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Propchange: asterisk/team/mjordan/test_framework_092011/test-config.yaml
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: asterisk/team/mjordan/test_framework_092011/tests/apps/voicemail/authenticate_extensions/run-test
URL: http://svnview.digium.com/svn/testsuite/asterisk/team/mjordan/test_framework_092011/tests/apps/voicemail/authenticate_extensions/run-test?view=diff&rev=2404&r1=2394&r2=2404
==============================================================================
--- asterisk/team/mjordan/test_framework_092011/tests/apps/voicemail/authenticate_extensions/run-test (original)
+++ asterisk/team/mjordan/test_framework_092011/tests/apps/voicemail/authenticate_extensions/run-test Tue Sep 20 17:33:59 2011
@@ -28,6 +28,7 @@
 
         self.reactor_timeout = 60
         self.create_asterisk(2)
+        self.pass_results = 0
 
     def ami_connect(self, ami):
         super(AuthenticateExtensions, self).ami_connect(ami)
@@ -55,15 +56,17 @@
             return
 
         if event['result'] == 'pass':
-            self.passed = self.passed and True
+            self.pass_results += 1
+            if self.pass_results == 2:
+                self.passed = True
+                self.stop_reactor()
             logger.info("Received pass result from VMAuthenticate test")
         else:
             logger.warn("VMAuthenticate Failure:")
             logger.warn("result: %s" % (event['result'],))
             logger.warn("error: %s" % (event['status'],))
             self.passed = False
-
-        self.stop_reactor()
+            self.stop_reactor()
 
     def run(self):
         super(AuthenticateExtensions, self).run()

Modified: asterisk/team/mjordan/test_framework_092011/tests/apps/voicemail/authenticate_extensions/test-config.yaml
URL: http://svnview.digium.com/svn/testsuite/asterisk/team/mjordan/test_framework_092011/tests/apps/voicemail/authenticate_extensions/test-config.yaml?view=diff&rev=2404&r1=2394&r2=2404
==============================================================================
--- asterisk/team/mjordan/test_framework_092011/tests/apps/voicemail/authenticate_extensions/test-config.yaml (original)
+++ asterisk/team/mjordan/test_framework_092011/tests/apps/voicemail/authenticate_extensions/test-config.yaml Tue Sep 20 17:33:59 2011
@@ -6,6 +6,26 @@
 
 properties:
     minversion: '1.8'
+    testconditions:
+        -
+            name: 'asterisk.ThreadTestCondition.ThreadPreTestCondition'
+            type: 'Pre'
+        -
+            name: 'asterisk.ThreadTestCondition.ThreadPostTestCondition'
+            type: 'Post'
+            ignoredThreads:
+                - 'netconsole'
+                - 'pbx_thread'
+            relatedCondition: 'asterisk.ThreadTestCondition.ThreadPreTestCondition'
+        -
+            name: 'asterisk.SipDialogTestCondition.SipDialogPreTestCondition'
+            type: 'Pre'
+        -
+            name: 'asterisk.SipDialogTestCondition.SipDialogPostTestCondition'
+            type: 'Post'
+            sipHistoryRequirements:
+                - 'NewChan'
+                - 'Hangup'
     dependencies:
         - python : 'twisted'
         - python : 'starpy'

Modified: asterisk/team/mjordan/test_framework_092011/tests/apps/voicemail/authenticate_invalid_mailbox/test-config.yaml
URL: http://svnview.digium.com/svn/testsuite/asterisk/team/mjordan/test_framework_092011/tests/apps/voicemail/authenticate_invalid_mailbox/test-config.yaml?view=diff&rev=2404&r1=2394&r2=2404
==============================================================================
--- asterisk/team/mjordan/test_framework_092011/tests/apps/voicemail/authenticate_invalid_mailbox/test-config.yaml (original)
+++ asterisk/team/mjordan/test_framework_092011/tests/apps/voicemail/authenticate_invalid_mailbox/test-config.yaml Tue Sep 20 17:33:59 2011
@@ -6,6 +6,26 @@
 
 properties:
     minversion: '1.8'
+    testconditions:
+        -
+            name: 'asterisk.ThreadTestCondition.ThreadPreTestCondition'
+            type: 'Pre'
+        -
+            name: 'asterisk.ThreadTestCondition.ThreadPostTestCondition'
+            type: 'Post'
+            ignoredThreads:
+                - 'netconsole'
+                - 'pbx_thread'
+            relatedCondition: 'asterisk.ThreadTestCondition.ThreadPreTestCondition'
+        -
+            name: 'asterisk.SipDialogTestCondition.SipDialogPreTestCondition'
+            type: 'Pre'
+        -
+            name: 'asterisk.SipDialogTestCondition.SipDialogPostTestCondition'
+            type: 'Post'
+            sipHistoryRequirements:
+                - 'NewChan'
+                - 'Hangup'
     dependencies:
         - python : 'twisted'
         - python : 'starpy'

Modified: asterisk/team/mjordan/test_framework_092011/tests/apps/voicemail/authenticate_invalid_password/test-config.yaml
URL: http://svnview.digium.com/svn/testsuite/asterisk/team/mjordan/test_framework_092011/tests/apps/voicemail/authenticate_invalid_password/test-config.yaml?view=diff&rev=2404&r1=2394&r2=2404
==============================================================================
--- asterisk/team/mjordan/test_framework_092011/tests/apps/voicemail/authenticate_invalid_password/test-config.yaml (original)
+++ asterisk/team/mjordan/test_framework_092011/tests/apps/voicemail/authenticate_invalid_password/test-config.yaml Tue Sep 20 17:33:59 2011
@@ -6,6 +6,26 @@
 
 properties:
     minversion: '1.8'
+    testconditions:
+        -
+            name: 'asterisk.ThreadTestCondition.ThreadPreTestCondition'
+            type: 'Pre'
+        -
+            name: 'asterisk.ThreadTestCondition.ThreadPostTestCondition'
+            type: 'Post'
+            ignoredThreads:
+                - 'netconsole'
+                - 'pbx_thread'
+            relatedCondition: 'asterisk.ThreadTestCondition.ThreadPreTestCondition'
+        -
+            name: 'asterisk.SipDialogTestCondition.SipDialogPreTestCondition'
+            type: 'Pre'
+        -
+            name: 'asterisk.SipDialogTestCondition.SipDialogPostTestCondition'
+            type: 'Post'
+            sipHistoryRequirements:
+                - 'NewChan'
+                - 'Hangup'
     dependencies:
         - python : 'twisted'
         - python : 'starpy'

Modified: asterisk/team/mjordan/test_framework_092011/tests/apps/voicemail/authenticate_nominal/test-config.yaml
URL: http://svnview.digium.com/svn/testsuite/asterisk/team/mjordan/test_framework_092011/tests/apps/voicemail/authenticate_nominal/test-config.yaml?view=diff&rev=2404&r1=2394&r2=2404
==============================================================================
--- asterisk/team/mjordan/test_framework_092011/tests/apps/voicemail/authenticate_nominal/test-config.yaml (original)
+++ asterisk/team/mjordan/test_framework_092011/tests/apps/voicemail/authenticate_nominal/test-config.yaml Tue Sep 20 17:33:59 2011
@@ -27,12 +27,6 @@
             sipHistoryRequirements:
                 - 'NewChan'
                 - 'Hangup'
-        -
-            name: 'asterisk.LockTestCondition.LockTestCondition'
-            type: 'Pre'
-        -
-            name: 'asterisk.LockTestCondition.LockTestCondition'
-            type: 'Post'
     dependencies:
         - python : 'twisted'
         - python : 'starpy'

Modified: asterisk/team/mjordan/test_framework_092011/tests/apps/voicemail/check_voicemail_callback/configs/ast1/extensions.conf
URL: http://svnview.digium.com/svn/testsuite/asterisk/team/mjordan/test_framework_092011/tests/apps/voicemail/check_voicemail_callback/configs/ast1/extensions.conf?view=diff&rev=2404&r1=2394&r2=2404
==============================================================================
--- asterisk/team/mjordan/test_framework_092011/tests/apps/voicemail/check_voicemail_callback/configs/ast1/extensions.conf (original)
+++ asterisk/team/mjordan/test_framework_092011/tests/apps/voicemail/check_voicemail_callback/configs/ast1/extensions.conf Tue Sep 20 17:33:59 2011
@@ -7,7 +7,6 @@
 exten => _X.,1,NoOp()
 	same => n,Verbose(1, TestResult, result: pass,status: successfully called out of the VoiceMailMain app,number: ${EXTEN})
 	same => n,UserEvent(TestResult, result: pass,status: successfully called out of the VoiceMailMain app,number: ${EXTEN})
-	same => n,Wait(2)
 	same => n,Hangup()
 
 [voicemail]

Modified: asterisk/team/mjordan/test_framework_092011/tests/apps/voicemail/check_voicemail_callback/test-config.yaml
URL: http://svnview.digium.com/svn/testsuite/asterisk/team/mjordan/test_framework_092011/tests/apps/voicemail/check_voicemail_callback/test-config.yaml?view=diff&rev=2404&r1=2394&r2=2404
==============================================================================
--- asterisk/team/mjordan/test_framework_092011/tests/apps/voicemail/check_voicemail_callback/test-config.yaml (original)
+++ asterisk/team/mjordan/test_framework_092011/tests/apps/voicemail/check_voicemail_callback/test-config.yaml Tue Sep 20 17:33:59 2011
@@ -8,6 +8,26 @@
 properties:
     minversion: '1.8'
     buildoption: 'TEST_FRAMEWORK'
+    testconditions:
+        -
+            name: 'asterisk.ThreadTestCondition.ThreadPreTestCondition'
+            type: 'Pre'
+        -
+            name: 'asterisk.ThreadTestCondition.ThreadPostTestCondition'
+            type: 'Post'
+            ignoredThreads:
+                - 'netconsole'
+                - 'pbx_thread'
+            relatedCondition: 'asterisk.ThreadTestCondition.ThreadPreTestCondition'
+        -
+            name: 'asterisk.SipDialogTestCondition.SipDialogPreTestCondition'
+            type: 'Pre'
+        -
+            name: 'asterisk.SipDialogTestCondition.SipDialogPostTestCondition'
+            type: 'Post'
+            sipHistoryRequirements:
+                - 'NewChan'
+                - 'Hangup'
     dependencies:
         - python : 'twisted'
         - python : 'starpy'

Modified: asterisk/team/mjordan/test_framework_092011/tests/apps/voicemail/check_voicemail_delete/test-config.yaml
URL: http://svnview.digium.com/svn/testsuite/asterisk/team/mjordan/test_framework_092011/tests/apps/voicemail/check_voicemail_delete/test-config.yaml?view=diff&rev=2404&r1=2394&r2=2404
==============================================================================
--- asterisk/team/mjordan/test_framework_092011/tests/apps/voicemail/check_voicemail_delete/test-config.yaml (original)
+++ asterisk/team/mjordan/test_framework_092011/tests/apps/voicemail/check_voicemail_delete/test-config.yaml Tue Sep 20 17:33:59 2011
@@ -8,6 +8,26 @@
 properties:
     minversion: '1.8'
     buildoption: 'TEST_FRAMEWORK'
+    testconditions:
+        -
+            name: 'asterisk.ThreadTestCondition.ThreadPreTestCondition'
+            type: 'Pre'
+        -
+            name: 'asterisk.ThreadTestCondition.ThreadPostTestCondition'
+            type: 'Post'
+            ignoredThreads:
+                - 'netconsole'
+                - 'pbx_thread'
+            relatedCondition: 'asterisk.ThreadTestCondition.ThreadPreTestCondition'
+        -
+            name: 'asterisk.SipDialogTestCondition.SipDialogPreTestCondition'
+            type: 'Pre'
+        -
+            name: 'asterisk.SipDialogTestCondition.SipDialogPostTestCondition'
+            type: 'Post'
+            sipHistoryRequirements:
+                - 'NewChan'
+                - 'Hangup'
     dependencies:
         - python : 'twisted'
         - python : 'starpy'

Modified: asterisk/team/mjordan/test_framework_092011/tests/apps/voicemail/check_voicemail_dialout/test-config.yaml
URL: http://svnview.digium.com/svn/testsuite/asterisk/team/mjordan/test_framework_092011/tests/apps/voicemail/check_voicemail_dialout/test-config.yaml?view=diff&rev=2404&r1=2394&r2=2404
==============================================================================
--- asterisk/team/mjordan/test_framework_092011/tests/apps/voicemail/check_voicemail_dialout/test-config.yaml (original)
+++ asterisk/team/mjordan/test_framework_092011/tests/apps/voicemail/check_voicemail_dialout/test-config.yaml Tue Sep 20 17:33:59 2011
@@ -7,6 +7,26 @@
 properties:
     minversion: '1.8'
     buildoption: 'TEST_FRAMEWORK'
+    testconditions:
+        -
+            name: 'asterisk.ThreadTestCondition.ThreadPreTestCondition'
+            type: 'Pre'
+        -
+            name: 'asterisk.ThreadTestCondition.ThreadPostTestCondition'
+            type: 'Post'
+            ignoredThreads:
+                - 'netconsole'
+                - 'pbx_thread'
+            relatedCondition: 'asterisk.ThreadTestCondition.ThreadPreTestCondition'
+        -
+            name: 'asterisk.SipDialogTestCondition.SipDialogPreTestCondition'
+            type: 'Pre'
+        -
+            name: 'asterisk.SipDialogTestCondition.SipDialogPostTestCondition'
+            type: 'Post'
+            sipHistoryRequirements:
+                - 'NewChan'
+                - 'Hangup'
     dependencies:
         - python : 'twisted'
         - python : 'starpy'

Modified: asterisk/team/mjordan/test_framework_092011/tests/apps/voicemail/check_voicemail_envelope/test-config.yaml
URL: http://svnview.digium.com/svn/testsuite/asterisk/team/mjordan/test_framework_092011/tests/apps/voicemail/check_voicemail_envelope/test-config.yaml?view=diff&rev=2404&r1=2394&r2=2404
==============================================================================
--- asterisk/team/mjordan/test_framework_092011/tests/apps/voicemail/check_voicemail_envelope/test-config.yaml (original)
+++ asterisk/team/mjordan/test_framework_092011/tests/apps/voicemail/check_voicemail_envelope/test-config.yaml Tue Sep 20 17:33:59 2011
@@ -9,6 +9,26 @@
 properties:
     minversion: '1.8'
     buildoption: 'TEST_FRAMEWORK'
+    testconditions:
+        -
+            name: 'asterisk.ThreadTestCondition.ThreadPreTestCondition'
+            type: 'Pre'
+        -
+            name: 'asterisk.ThreadTestCondition.ThreadPostTestCondition'
+            type: 'Post'
+            ignoredThreads:
+                - 'netconsole'
+                - 'pbx_thread'
+            relatedCondition: 'asterisk.ThreadTestCondition.ThreadPreTestCondition'
+        -
+            name: 'asterisk.SipDialogTestCondition.SipDialogPreTestCondition'
+            type: 'Pre'
+        -
+            name: 'asterisk.SipDialogTestCondition.SipDialogPostTestCondition'
+            type: 'Post'
+            sipHistoryRequirements:
+                - 'NewChan'
+                - 'Hangup'
     dependencies:
         - python : 'twisted'
         - python : 'starpy'

Modified: asterisk/team/mjordan/test_framework_092011/tests/apps/voicemail/check_voicemail_forward_hangup/configs/ast2/extensions.conf
URL: http://svnview.digium.com/svn/testsuite/asterisk/team/mjordan/test_framework_092011/tests/apps/voicemail/check_voicemail_forward_hangup/configs/ast2/extensions.conf?view=diff&rev=2404&r1=2394&r2=2404
==============================================================================
--- asterisk/team/mjordan/test_framework_092011/tests/apps/voicemail/check_voicemail_forward_hangup/configs/ast2/extensions.conf (original)

[... 292 lines stripped ...]



More information about the asterisk-commits mailing list