[asterisk-commits] pabelanger: testsuite/asterisk/trunk r1264 - in /asterisk/trunk/tests/feature...

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Tue Dec 21 02:00:10 UTC 2010


Author: pabelanger
Date: Mon Dec 20 20:00:05 2010
New Revision: 1264

URL: http://svnview.digium.com/svn/testsuite?view=rev&rev=1264
Log:
Rewrite feature_blonde_transfer test

Review: https://reviewboard.asterisk.org/r/1058/

Modified:
    asterisk/trunk/tests/feature_blonde_transfer/configs/ast1/extensions.conf
    asterisk/trunk/tests/feature_blonde_transfer/configs/ast1/iax.conf
    asterisk/trunk/tests/feature_blonde_transfer/configs/ast1/manager.conf
    asterisk/trunk/tests/feature_blonde_transfer/configs/ast2/extensions.conf
    asterisk/trunk/tests/feature_blonde_transfer/configs/ast2/iax.conf
    asterisk/trunk/tests/feature_blonde_transfer/configs/ast2/manager.conf
    asterisk/trunk/tests/feature_blonde_transfer/run-test
    asterisk/trunk/tests/feature_blonde_transfer/test-config.yaml

Modified: asterisk/trunk/tests/feature_blonde_transfer/configs/ast1/extensions.conf
URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/feature_blonde_transfer/configs/ast1/extensions.conf?view=diff&rev=1264&r1=1263&r2=1264
==============================================================================
--- asterisk/trunk/tests/feature_blonde_transfer/configs/ast1/extensions.conf (original)
+++ asterisk/trunk/tests/feature_blonde_transfer/configs/ast1/extensions.conf Mon Dec 20 20:00:05 2010
@@ -1,95 +1,25 @@
 [general]
 
 [globals]
-; these global variables can be used during debugging to view what step went wrong
-BLONDE_TEST_A_LEG=FAIL-never even got to read the results
-BLONDE_TEST_C_LEG=FAIL-never even got to read the results
 
-[transfertest]
+[alpha]
+exten => 1000,1,Answer()
+exten => 1000,n,SendDTMF(1w0w5w0w)
+exten => 1000,n,Background(demo-congrats)
+exten => 1000,n,UserEvent(alpha, status: FAILURE)
+exten => 1000,n,Hangup()
 
-; __________________ A ______________________
-exten => a_exten,1,Answer()
-exten => a_exten,n,Set(GLOBAL(BLONDE_TEST_A_LEG)=FAIL-answered call from B)
+exten => 2345,1,UserEvent(alpha, status: SUCCESS)
+exten => 2345,n,Background(demo-congrats)
+exten => 2345,n,Hangup()
 
-;Play back audio while B leg begins to start transfer. This
-;involves some timing.  Playback is done 4 times to guarantee
-;that B has begun the transfer before we start listening for DTMF.
-exten => a_exten,n,Playback(${TALK_AUDIO})
-exten => a_exten,n,Playback(${TALK_AUDIO})
-exten => a_exten,n,Playback(${TALK_AUDIO})
-exten => a_exten,n,Playback(${TALK_AUDIO})
+[charlie]
+exten => 1010,1,Answer()
+exten => 1010,n,BackgroundDetect(demo-congrats,1,20,,20000)
+exten => 1010,n,UserEvent(charlie, status: FAILURE)
+exten => 1010,n,Hangup()
 
-;WAIT FOR DTMF FROM C TO KNOW IT IS UP AND SYNCED
-exten => a_exten,n,Set(GLOBAL(BLONDE_TEST_A_LEG)=FAIL-after reading DTMF from C)
-exten => a_exten,n,Read(A_READ,,3,,,25)
-exten => a_exten,n,NoOp(A READ IS ${A_READ})
-
-;CHECK DTMF FROM C
-exten => a_exten,n,Set(GLOBAL(BLONDE_TEST_A_LEG)=FAIL-while checking dtmf from C results)
-exten => a_exten,n,GoToIf($[${A_READ}=100]?dtmfpass:dtmffail)
-exten => a_exten,n(dtmffail),Set(GLOBAL(BLONDE_TEST_A_LEG)=FAIL-DTMF_FROM_C_FAILED ${A_READ})
-exten => a_exten,n,Hangup()
-exten => a_exten,n(dtmfpass),Set(GLOBAL(BLONDE_TEST_A_LEG)=FAIL-Got DTMF from C A_READ is ${A_READ} now performing audio detect)
-
-;DETECT AUDIO
-exten => a_exten,n,Set(TALK_DETECTED=0) ; initialize TALK_DETECT var
-exten => a_exten,n,BackgroundDetect(${TALK_AUDIO},1,20,,20000) ; lets see if we have 2 way audio
-
-;CHECK AUDIO RESULTS
-exten => a_exten,n,Set(GLOBAL(BLONDE_TEST_A_LEG)=FAIL-checking talk detect results)
-exten => a_exten,n,GoToIf($[${TALK_DETECTED}=0]?talkdetectfail:talkdetectpass)
-exten => a_exten,n(talkdetectfail),Set(GLOBAL(BLONDE_TEST_A_LEG)=FAIL-talk detect failed TALK_DETECTED is ${TALK_DETECTED})
-exten => a_exten,n,Hangup()
-
-;PASSED ! we make it to this point in the dial plan, A has passed.
-exten => a_exten,n(talkdetectpass),Set(GLOBAL(BLONDE_TEST_A_LEG)=PASS)
-
-;REPORT SUCCESS, at this point in the dialplay this call leg passed.
-exten => a_exten,n,AGI(agi://127.0.0.1:4573) ;Tell the test script A passed
-
-; since both channels are attempted to detect audio, we must play this file twice because
-; we can not guarantee who broke out of BackgroundDetect first
-exten => a_exten,n,Playback(${TALK_AUDIO})
-
-; __________________ C  ______________________
-exten => c_exten,1,Set(GLOBAL(BLONDE_TEST_C_LEG)=FAIL-extension was called)
-
-;Wait after entering dialplan for B to hangup.
-exten => c_exten,n,Ringing()
-exten => c_exten,n,Wait(1)
-exten => c_exten,n,Set(GLOBAL(BLONDE_TEST_C_LEG)=FAIL-after waiting before answer)
-exten => c_exten,n,Answer()
-
-exten => c_exten,n,Set(GLOBAL(BLONDE_TEST_C_LEG)=FAIL-extension was answered)
-
-; Play the same amount of audio A does in while waiting to guarantee
-; A is ready to receive DTMF before we send it.
-exten => c_exten,n,Playback(${TALK_AUDIO})
-exten => c_exten,n,Playback(${TALK_AUDIO})
-exten => c_exten,n,Playback(${TALK_AUDIO})
-exten => c_exten,n,Playback(${TALK_AUDIO})
-
-;SEND DTMF TO A SIGNALLING WE ARE HERE, b hung up, now we should be talking to A
-exten => c_exten,n,SendDTMF(1w0w0w#) ; send some dtmf to A
-exten => c_exten,n,Set(GLOBAL(BLONDE_TEST_C_LEG)=FAIL-sent dtmf to A now performing audio detect)
-
-;DETECT AUDIO
-exten => c_exten,n,Set(TALK_DETECTED=0) ; initialize TALK_DETECTED var
-exten => c_exten,n,BackgroundDetect(${TALK_AUDIO},1,20,,20000) ; lets see if we have some 2 way audio
-
-;CHECK AUDIO RESULTS
-exten => c_exten,n,Set(GLOBAL(BLONDE_TEST_C_LEG)=FAIL-checking talk detect results)
-exten => c_exten,n,GoToIf($[${TALK_DETECTED}=0]?talkdetectfail:talkdetectpass)
-exten => c_exten,n(talkdetectfail),Set(GLOBAL(BLONDE_TEST_C_LEG)=FAIL-talk detect failed TALK_DETECT is ${TALK_DETECTED})
-exten => c_exten,n,Hangup()
-
-;PASSED ! we make it to this point in the dial plan, C has passed.
-exten => c_exten,n(talkdetectpass),Set(GLOBAL(BLONDE_TEST_C_LEG)=PASS)
-
-;REPORT SUCCESS, at this point in the dialplay this call leg passed.
-exten => c_exten,n,AGI(agi://127.0.0.1:4575) ;Tell the test script C passed
-
-; Since both channels are attempted to detect audio, we must continue to play
-; this file because we can not guarantee who broke out of BackgroundDetect first.
-exten => c_exten,n,Playback(${TALK_AUDIO})
-
+exten => talk,1,UserEvent(charlie, status: SUCCESS)
+exten => talk,n,SendDTMF(2w3w4w5w)
+exten => talk,n,Background(demo-congrats)
+exten => talk,n,Hangup()

Modified: asterisk/trunk/tests/feature_blonde_transfer/configs/ast1/iax.conf
URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/feature_blonde_transfer/configs/ast1/iax.conf?view=diff&rev=1264&r1=1263&r2=1264
==============================================================================
--- asterisk/trunk/tests/feature_blonde_transfer/configs/ast1/iax.conf (original)
+++ asterisk/trunk/tests/feature_blonde_transfer/configs/ast1/iax.conf Mon Dec 20 20:00:05 2010
@@ -8,28 +8,20 @@
 jitterbuffer=no
 forcejitterbuffer=no
 
-
-
 [iax_a]
-type=friend
-host=127.0.0.1
+type=user
+host=127.0.0.2
 port=4570
-context=transfertest
-requirecalltoken=no
-
-[iax_b]
-type=friend
-host=127.0.0.1
-port=4571
-context=transfertest
-requirecalltoken=no
+secret=pa$$word
+context=alpha
+deny=0.0.0.0/0.0.0.0
+permit=127.0.0.2/255.255.255.255
 
 [iax_c]
-type=friend
-host=127.0.0.1
+type=user
+host=127.0.0.2
 port=4570
-context=transfertest
-requirecalltoken=no
-
-
-
+secret=p at ssw0rd
+context=charlie
+deny=0.0.0.0/0.0.0.0
+permit=127.0.0.2/255.255.255.255

Modified: asterisk/trunk/tests/feature_blonde_transfer/configs/ast1/manager.conf
URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/feature_blonde_transfer/configs/ast1/manager.conf?view=diff&rev=1264&r1=1263&r2=1264
==============================================================================
--- asterisk/trunk/tests/feature_blonde_transfer/configs/ast1/manager.conf (original)
+++ asterisk/trunk/tests/feature_blonde_transfer/configs/ast1/manager.conf Mon Dec 20 20:00:05 2010
@@ -7,4 +7,3 @@
 secret = mysecret
 read = system,call,log,verbose,agent,user,config,dtmf,reporting,cdr,dialplan
 write = system,call,agent,user,config,command,reporting,originate
-

Modified: asterisk/trunk/tests/feature_blonde_transfer/configs/ast2/extensions.conf
URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/feature_blonde_transfer/configs/ast2/extensions.conf?view=diff&rev=1264&r1=1263&r2=1264
==============================================================================
--- asterisk/trunk/tests/feature_blonde_transfer/configs/ast2/extensions.conf (original)
+++ asterisk/trunk/tests/feature_blonde_transfer/configs/ast2/extensions.conf Mon Dec 20 20:00:05 2010
@@ -5,27 +5,17 @@
 BLONDE_TEST_B_LEG=FAIL - never even got to read the results
 
 [transfertest]
+;Call A leg
+exten => a_dial,1,Dial(IAX2/iax_a/1000,,T)
+;Call C leg
+exten => 7002,1,Dial(IAX2/iax_c/1010)
 
-;Call A leg
-exten => a_dial,1,Dial(IAX2/iax_a at 127.0.0.1:4570/a_exten,,T)
+exten => 1000,1,Answer()
+exten => 1000,n,Background(demo-congrats)
+exten => 1000,n,UserEvent(bravo, status: SUCCESS)
+exten => 1000,n,Hangup()
 
-;Call C leg
-exten => 7002,1,Dial(IAX2/iax_c at 127.0.0.1:4570/c_exten)
-
-; __________________ B ______________________
-exten => b_exten,1,Set(GLOBAL(BLONDE_TEST_B_LEG)=FAIL-made it to b_exten though)
-exten => b_exten,n,Answer()
-exten => b_exten,n,Playback(${TALK_AUDIO})
-
-;SIGNAL FOR TRANSFER, then wait with audio
-exten => b_exten,n,SendDTMF(*w2)
-exten => b_exten,n,Playback(${TALK_AUDIO})
-exten => b_exten,n,Set(GLOBAL(BLONDE_TEST_B_LEG)=FAIL-began transfer)
-
-;ENTER TRANSFER EXTEN
-exten => b_exten,n,SendDTMF(7w0w0w2w)
-
-exten => b_exten,n,Set(GLOBAL(BLONDE_TEST_B_LEG)=PASS)
-
-;HANGUP before C answers
-;exten => b_exten,n,HangUp()
+exten => 1050,1,SendDTMF(*w2)
+exten => 1050,n,SendDTMF(7w0w0w2w)
+exten => 1050,n,UserEvent(bravo, status: SUCCESS)
+exten => 1050,n,Hangup()

Modified: asterisk/trunk/tests/feature_blonde_transfer/configs/ast2/iax.conf
URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/feature_blonde_transfer/configs/ast2/iax.conf?view=diff&rev=1264&r1=1263&r2=1264
==============================================================================
--- asterisk/trunk/tests/feature_blonde_transfer/configs/ast2/iax.conf (original)
+++ asterisk/trunk/tests/feature_blonde_transfer/configs/ast2/iax.conf Mon Dec 20 20:00:05 2010
@@ -1,35 +1,24 @@
 [general]
-
-bindport=4571
-bindaddr=127.0.0.1
+bindport=4570
+bindaddr=127.0.0.2
 transfer=yes
 disallow=all
 allow=ulaw
 jitterbuffer=no
 forcejitterbuffer=no
 
-
-
 [iax_a]
-type=friend
+type=peer
 host=127.0.0.1
 port=4570
-context=transfertest
-requirecalltoken=no
-
-[iax_b]
-type=friend
-host=127.0.0.1
-port=4571
-context=transfertest
-requirecalltoken=no
+username=iax_a
+secret=pa$$word
+context=alpha
 
 [iax_c]
-type=friend
+type=peer
 host=127.0.0.1
 port=4570
-context=transfertest
-requirecalltoken=no
-
-
-
+username=iax_c
+secret=p at ssw0rd
+context=charlie

Modified: asterisk/trunk/tests/feature_blonde_transfer/configs/ast2/manager.conf
URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/feature_blonde_transfer/configs/ast2/manager.conf?view=diff&rev=1264&r1=1263&r2=1264
==============================================================================
--- asterisk/trunk/tests/feature_blonde_transfer/configs/ast2/manager.conf (original)
+++ asterisk/trunk/tests/feature_blonde_transfer/configs/ast2/manager.conf Mon Dec 20 20:00:05 2010
@@ -1,10 +1,9 @@
 [general]
 enabled = yes
-port = 5039
-bindaddr = 127.0.0.1
+port = 5038
+bindaddr = 127.0.0.2
 
 [user]
 secret = mysecret
 read = system,call,log,verbose,agent,user,config,dtmf,reporting,cdr,dialplan
 write = system,call,agent,user,config,command,reporting,originate
-

Modified: asterisk/trunk/tests/feature_blonde_transfer/run-test
URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/feature_blonde_transfer/run-test?view=diff&rev=1264&r1=1263&r2=1264
==============================================================================
--- asterisk/trunk/tests/feature_blonde_transfer/run-test (original)
+++ asterisk/trunk/tests/feature_blonde_transfer/run-test Mon Dec 20 20:00:05 2010
@@ -13,7 +13,7 @@
 from optparse import OptionParser
 from twisted.application import service, internet
 from twisted.internet import reactor
-from starpy import fastagi
+from starpy import manager
 
 sys.path.append("lib/python")
 from asterisk.asterisk import Asterisk
@@ -24,13 +24,13 @@
 
 class BlondeTransferTest:
     def __init__(self, argv):
-        self.a_res = 0
-        self.c_res = 0
         self.passed = False
+        self.alpha = False
+        self.bravo = False
+        self.charlie = False
 
         # Test timeout in seconds
         self.test_to = 45
-        self.last_step = ""
 
         # get version info
         parser = OptionParser()
@@ -39,94 +39,28 @@
         (options, args) = parser.parse_args(argv)
         self.ast_version = AsteriskVersion(options.ast_version)
 
-        # FastAGI, listen for results from dialplan
-        self.agi_a = fastagi.FastAGIFactory(self.get_result_a)
-        self.agi_c = fastagi.FastAGIFactory(self.get_result_c)
-        reactor.listenTCP(4573, self.agi_a, self.test_to, '127.0.0.1')
-        reactor.listenTCP(4575, self.agi_c, self.test_to, '127.0.0.1')
-
         reactor.callWhenRunning(self.run)
 
         self.ast1 = Asterisk(base=workingdir)
-        self.ast1.install_configs("%s/configs/ast1" %s (testdir))
+        self.ast1.install_configs("%s/configs/ast1" % (testdir))
 
         self.ast2 = Asterisk(base=workingdir)
-        self.ast2.install_configs("%s/configs/ast2" %s (testdir))
-
-        self.talkingaudio = os.path.join(os.getcwd(), "%s/sounds/talking" % (testdir))
-
-    # Close out the agi
-    def handle_agi_result(self, agi):
-        sequence = fastagi.InSequence()
-        sequence.append(agi.finish)
-        self.result_changed()
-        return sequence()
-
-    # This gets invoked by the dialplan when call leg A passes
-    def get_result_a(self, agi):
-        self.log_last_step("Blonde Call Leg A PASSED")
-        self.a_res = 1
-        return self.handle_agi_result(agi)
-
-    # This gets invoked by the dialplan when call leg C passes
-    def get_result_c(self, agi):
-        self.log_last_step("Blonde Call Leg C PASSED")
-        self.c_res = 1
-        return self.handle_agi_result(agi)
-
-    def read_result(self):
-        self.log_last_step("Reading results")
-        self.ast1.cli_exec("core show locks")   # get lock output in case of deadlock before tearing down.
-        self.ast2.cli_exec("core show locks")   # get lock output in case of deadlock before tearing down.
-
-        self.ast1.cli_exec("core show channels")# if channels are still up for some reason, we want to know that as well
-        self.ast2.cli_exec("core show channels")# if channels are still up for some reason, we want to know that as well
-
-        if self.ast_version < AsteriskVersion("1.6.1"):
-            self.ast1.cli_exec("core show globals") # The global variables here hold failure conditions
-            self.ast2.cli_exec("core show globals") # The global variables here hold failure conditions
-        else:
-            self.ast1.cli_exec("dialplan show globals") # The global variables here hold failure conditions
-            self.ast2.cli_exec("dialplan show globals") # The global variables here hold failure conditions
+        self.ast2.install_configs("%s/configs/ast2" % (testdir))
 
 
-        self.stop_asterisk()
+    def check_result(self):
+        self.log_last_step("Checking results...")
+        if self.alpha is True and self.bravo is True and self.charlie is True:
+            self.stop_reactor()
+            self.passed = True
 
-        if (self.a_res and self.c_res):
-            self.passed = True
-            self.log_last_step("Blonde Transfer Test Passed...")
-        else:
-            if self.a_res == 0:
-                self.log_last_step("Blonde Call Leg A failed.")
-            if self.c_res == 0:
-                self.log_last_step("Blonde Call Leg C failed.")
-            self.log_last_step("Blonde Transfer Test Failed... view result of 'core show globals' in log for more detailed failure results.")
-
+    def stop_reactor(self):
+        print "Stopping Reactor ..."
         if reactor.running:
-            print "Stopping Reactor ..."
             reactor.stop()
 
-    # This is an attended transfer test.  There are 3 call legs tested here, A, B, and C.
-    # 1.  B calls A
-    # 2.  B dials *2 to transfer A to C.
-    # 3.  B dials C's extension
-    # 4.  B hangs up before C picks up which connects A to C.
-    # 5.  Audio and DTMF is passed and detected on each side of the call verifying the connection.
-    # 6.  A and C report results to FastAGI and hangup.
     def launch_test(self):
-
-        if self.ast_version < AsteriskVersion("1.6.1"):
-            self.ast1.cli_exec("core set global TALK_AUDIO " + self.talkingaudio)
-            self.ast2.cli_exec("core set global TALK_AUDIO " + self.talkingaudio)
-        else:
-            self.ast1.cli_exec("dialplan set global TALK_AUDIO " + self.talkingaudio)
-            self.ast2.cli_exec("dialplan set global TALK_AUDIO " + self.talkingaudio)
-
-        self.log_last_step("Originating call to begin test 1")
-        if self.ast_version < AsteriskVersion("1.6.2"):
-            self.ast2.cli_exec("originate IAX2/iax_b at 127.0.0.1:4571/b_exten extension a_dial at transfertest")
-        else:
-            self.ast2.cli_exec("channel originate IAX2/iax_b at 127.0.0.1:4571/b_exten extension a_dial at transfertest")
+        self.ast2.cli_originate("Local/1000 at transfertest extension a_dial at transfertest")
 
     def start_asterisk(self):
         self.log_last_step("Starting Asterisk")
@@ -141,37 +75,88 @@
         print step
         self.last_step = step
 
-    # This is called every time a result comes in, once all results are in
-    # we can quit early instead of waiting for the time out.
-    def result_changed(self):
-        if (self.a_res and self.c_res):
-            self.log_last_step("All the results are in, now read them.")
-            # This attempts to schedule a read result earlier than our default timeout.
-            # If the default timeout one gets called first, that is fine.  Either way
-            # this function shuts down the reactor so no other callbacks are processed.
-            reactor.callLater(2, self.read_result)
+    def check_alpha(self, ami, event):
+        self.log_last_step("Checking Userevent")
+        if event.get("userevent").lower() != "alpha":
+            return
+        status = event.get("status")
+        print ("Status of alpha is %s" % (status))
+        if status != "SUCCESS":
+            self.stop_reactor()
+            return
+
+        self.alpha = True
+        self.check_result()
+
+    def check_bravo(self, ami, event):
+        self.log_last_step("Checking Userevent")
+        if event.get("userevent").lower() != "bravo":
+            return
+        status = event.get("status")
+        print ("Status of bravo is %s" % (status))
+        if status != "SUCCESS":
+            self.stop_reactor()
+            return
+
+        self.bravo = True
+        self.check_result()
+
+    def check_charlie(self, ami, event):
+        self.log_last_step("Checking Userevent")
+        if event.get("userevent").lower() != "charlie":
+            return
+        status = event.get("status")
+        print ("Status of charlie is %s" % (status))
+        if status != "SUCCESS":
+            self.stop_reactor()
+            return
+
+        self.charlie = True
+        self.check_result()
+
+    def ami_on_connect2(self, ami):
+        self.log_last_step("Connected to AMI 2")
+        self.ami2 = ami
+        self.ami2.registerEvent("UserEvent", self.check_bravo)
+
+    def ami_on_connect1(self, ami):
+        self.log_last_step("Connected to AMI 1")
+        self.ami1 = ami
+        self.ami1.registerEvent("UserEvent", self.check_alpha)
+        self.ami1.registerEvent("UserEvent", self.check_charlie)
+
+    def ami_login_error(self, ami):
+        self.log_last_step("AMI login failed")
+        self.stop_reactor()
+
+    def ami_login(self):
+        self.log_last_step("Logging in to the AMI")
+        self.ami_factory1 = manager.AMIFactory("user", "mysecret")
+        self.ami_factory1.login('127.0.0.1', 5038).addCallbacks(self.ami_on_connect1, self.ami_login_error)
+        self.ami_factory2 = manager.AMIFactory("user", "mysecret")
+        self.ami_factory2.login('127.0.0.2', 5038).addCallbacks(self.ami_on_connect2, self.ami_login_error)
 
     def run(self):
-        self.start_asterisk()
-
-        # call test1 extension now
-        reactor.callLater(2, self.launch_test)
+        self.ami_login()
+        self.launch_test()
 
         # stop and read results after timeout
-        reactor.callLater(self.test_to, self.read_result)
+        reactor.callLater(self.test_to, self.stop_reactor)
 
 def main(argv=None):
     if argv is None:
         argv = sys.argv
 
      # Run Blonde Transfer Test
-    blonde_transfer_test = BlondeTransferTest(argv)
+    test = BlondeTransferTest(argv)
+    test.start_asterisk()
     reactor.run()
-    blonde_transfer_test.stop_asterisk()
-    if blonde_transfer_test.passed != True:
+    test.stop_asterisk()
+    if test.passed != True:
         return 1
     return 0
 
 if __name__ == "__main__":
     sys.exit(main() or 0)
 
+# vim:sw=4:ts=4:expandtab:textwidth=79

Modified: asterisk/trunk/tests/feature_blonde_transfer/test-config.yaml
URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/feature_blonde_transfer/test-config.yaml?view=diff&rev=1264&r1=1263&r2=1264
==============================================================================
--- asterisk/trunk/tests/feature_blonde_transfer/test-config.yaml (original)
+++ asterisk/trunk/tests/feature_blonde_transfer/test-config.yaml Mon Dec 20 20:00:05 2010
@@ -1,5 +1,4 @@
 testinfo:
-    skip: 'Skip while failures are debugged'
     summary:     'Test Semi-Attended Transfer'
     description: |
         'This test verifies the Semi-Attended Transfer routine used in the feature code.




More information about the asterisk-commits mailing list