summaryrefslogtreecommitdiffstats
path: root/Controller/classController.py
diff options
context:
space:
mode:
authortt412011-07-22 01:22:44 +0200
committertt412011-07-22 01:22:44 +0200
commit38929f6dbd32167a117d7f7b9e82a8e8381d77a1 (patch)
tree6aa069bb4601883a25832417429a8bbdb8b7e4dd /Controller/classController.py
parentMerge branch 'master' of lab.ks.uni-freiburg.de:lsfks/projekte/gsm-selftest (diff)
downloadgsm-selftest-38929f6dbd32167a117d7f7b9e82a8e8381d77a1.tar.gz
gsm-selftest-38929f6dbd32167a117d7f7b9e82a8e8381d77a1.tar.xz
gsm-selftest-38929f6dbd32167a117d7f7b9e82a8e8381d77a1.zip
the new controller script. make Big changes on Controller script!
Diffstat (limited to 'Controller/classController.py')
-rw-r--r--Controller/classController.py155
1 files changed, 69 insertions, 86 deletions
diff --git a/Controller/classController.py b/Controller/classController.py
index b7e3bff..b48dbc8 100644
--- a/Controller/classController.py
+++ b/Controller/classController.py
@@ -9,71 +9,66 @@ import classClient
import classDb
import classPing
+import LogFileClass
+logger = LogFileClass.Logging('classController.log')
+
from time import sleep
+
+
class TimeoutException(Exception):
pass
class test:
- def __init__(self, orig, origAdd, dest, destAdd, destNo):
+ def __init__(self, orig, dest, destNo):
self.orig = orig
- self.origAdd = origAdd
self.dest = dest
- self.destAdd = destAdd
self.destNo = destNo
self.repeatTest = None
self.portOrig = None
+ self.portDest = None
self.resultOrig = None
self.resultDest = None
self.testResult = None
- self.x = None
- self.y = None
+ self.caller = None
+ self.receiver = None
def FuncTest(self):
def timeout_handler(signum, frame):
raise TimeoutException()
- print ""
- print "====================== Preparing Test ======================"
+
+ logger.logEvent('')
+ logger.logEvent('====================== Preparing Test ======================')
try:
- if self.dest =="gsmBox1" or self.dest =="gsmBox2":
+ if self.orig =="gsmBox1" or self.orig =="gsmBox2" or self.orig =="gsmBox3:
- if self.dest =="gsmBox1":
- portOrig = 50095
+ if self.orig =="gsmBox1":
+ self.portOrig = 50095
- if self.dest =="gsmBox2":
- portOrig = 50096
-
- print ""
- print "Connecting to Caller handler"
- x.connect()
- x.sendData('be caller')
+ if self.orig =="gsmBox2":
+ self.portOrig = 50096
+
+ if self.orig =="gsmBox3":
+ self.portOrig = 50097
else:
# open SIP caller handler
-
- command="--command=python " +self.orig
+ self.portOrig = 50099
+ command="--command=python sipHandler.py " +self.portOrig
subprocess.Popen(args=["gnome-terminal", command])
sleep(5)
-
- if self.orig=="sipCall.py":
- self.portOrig = 50097
-
- if self.orig == "landlineCall.py":
- self.portOrig = 50099
- if self.orig == "LocalSIPCall.py":
- self.portOrig = 50100
+ logger.logEvent('Connecting to Caller handler')
+ caller = classClient.Connection('localhost',self.portOrig)
-
- x = classClient.Connection(self.origAdd,self.portOrig)
- print ""
- print "Connecting to Caller handler"
- x.connect()
+ caller.connect()
+ message = self.orig+ '|-C'
+ caller.sendData(message)
# wait respond from origin handler
signal.signal(signal.SIGALRM, timeout_handler)
@@ -81,7 +76,7 @@ class test:
while 1:
try:
- origHandler = x.receiveData(0)
+ origHandler = caller.receiveData(0)
if origHandler <> "":
break
@@ -91,10 +86,9 @@ class test:
if origHandler == "ready":
- print "Caller handler : Ready"
- print ""
+ logger.logEvent('Caller handler : Ready')
try:
- if self.dest =="gsmBox1" or self.dest =="gsmBox2":
+ if self.dest =="gsmBox1" or self.dest =="gsmBox2" or self.dest =="gsmBox2":
if self.dest =="gsmBox1":
self.portDest = 50102
@@ -102,37 +96,30 @@ class test:
if self.dest =="gsmBox2":
self.portDest = 50103
- y = classClient.Connection(self.destAdd, self.portDest)
- print "Connecting to Receiver handler"
- y.connect()
- y.sendData('receiver')
+ if self.dest =="gsmBox3":
+ self.portDest = 50103
+
else:
- command="--command=python " +self.dest
+ self.portDest = 50100
+ command="--command=python sipHandler.py " +self.portDest
subprocess.Popen(args=["gnome-terminal", command])
- sleep(2)
-
- if self.dest=="SIPReceiver.py":
- self.portDest = 50104
-
- if self.dest == "landlineReceiver.py":
- self.portDest = 50106
-
- if self.dest == "localsipReceiver.py":
- self.portDest = 50107
+ sleep(5)
- y = classClient.Connection(self.destAdd, self.portDest)
- print "Connecting to Receiver handler"
- y.connect()
-
+ logger.logEvent('Connecting to Receiver handler')
+ receiver = classClient.Connection('localhost', self.portDest)
+ receiver.connect()
+ message = self.dest+ '|-R'
+ receiver.sendData(message)
+
signal.signal(signal.SIGALRM, timeout_handler)
signal.alarm(60)
while 1:
try:
- destHandler = y.receiveData(0)
+ destHandler = receiver.receiveData(0)
if destHandler <> "":
break
@@ -142,25 +129,25 @@ class test:
if destHandler == "ready":
- print "Receiver handler : Ready"
+ logger.logEvent('Receiver handler : Ready')
- x.sendData("start|"+self.destNo)#send message to handler to start the call
+ caller.sendData("start|"+self.destNo)
signal.signal(signal.SIGALRM, timeout_handler)
signal.alarm(120)
- print ""
- print "------------ Test Result ------------"
- print ""
+ logger.logEvent('------------ Test Result ------------')
while 1:
try:
sleep(0.5)
- self.resultOrig = x.receiveData(0)
- self.resultDest = y.receiveData(0)
+ self.resultOrig = caller.receiveData(0)
+ self.resultDest = receiver.receiveData(0)
if self.resultOrig <> "" and self.resultDest <> "":
+ logger.logEvent('1st Test, Origin :' +self.resultOrig)
+ logger.logEvent('1st Test, Destination :' +self.resultDest)
break
except TimeoutException:
@@ -171,7 +158,7 @@ class test:
#if failed, tell everybody to try one more time
if self.resultOrig == 486 or self.resultDest == 486:
- x.sendData("start|"+self.destNo)
+ caller.sendData("start|"+self.destNo)
signal.signal(signal.SIGALRM, timeout_handler)
signal.alarm(120)
@@ -179,11 +166,12 @@ class test:
while 1:
try:
sleep(0.5)
- self.resultOrig = x.receiveData(0)
- self.resultDest = y.receiveData(0)
+ self.resultOrig = caller.receiveData(0)
+ self.resultDest = receiver.receiveData(0)
if self.resultOrig <> "" and self.resultDest <> "":
- print "here"
+ logger.logEvent('2nd Test, Origin :' +self.resultOrig)
+ logger.logEvent('2nd Test, Destination :' +self.resultDest)
break
except TimeoutException:
@@ -196,44 +184,39 @@ class test:
if self.resultOrig == 486 or self.resultDest == 486:
self.testResult = 486
self.repeatTest = True
-
- print "Second test result origin: ", self.resultOrig
- print "Second test result Destination: ", self.resultDest
+
else:
self.testResult = 200
- print "Second test result origin: ", self.resultOrig
- print "Second test result Destination: ", self.resultDest
- x.sendData('487')
- y.sendData('487')
+ caller.sendData('487')
+ receiver.sendData('487')
else:
self.testResult = 200
-
- print "Test Result origin: ", self.resultOrig
- print "Test Result Destination: ", self.resultDest
- x.sendData('487')
- y.sendData('487')
+ caller.sendData('487')
+ receiver.sendData('487')
else:
self.testResult = 604
- print "604 General Handler Error: Destination handler no respond"
+ logger.logEvent('604 General Handler Error: Destination handler no respond')
#tell Caller handler to terminate because receiver doesnt work
- x.sendData('487')
+ caller.sendData('487')
- y.closeConnection()
+ receiver.closeConnection()
except ValueError:
- print "601 General Handler Error: Could not open Destination handler"
+ logger.logEvent('601 General Handler Error: Could not open Destination handler')
self.testResult = 601
+ caller.sendData('487')
+ caller.closeConnection()
else:
self.testResult = 605
- print "605 General Handler Error: Origin handler no respond"
+ logger.logEvent('605 General Handler Error: Origin handler no respond')
- x.closeConnection()
+ caller.closeConnection()
except ValueError:
testResult = 602
- print "602 General Handler Error: Could not open Origin handler"
+ logger.logEvent('602 General Handler Error: Could not open Origin handler')