summaryrefslogtreecommitdiffstats
path: root/For Weekly Test/Advance/PingClass.py
diff options
context:
space:
mode:
authortt412011-09-11 11:12:15 +0200
committertt412011-09-11 11:12:15 +0200
commit65f77cecb143af61d87f1cc04d10a3e032413853 (patch)
tree3aeaece809e570d8de7565816b8a00f0652e7a95 /For Weekly Test/Advance/PingClass.py
parentWorked on the look of the web site! (diff)
downloadgsm-selftest-65f77cecb143af61d87f1cc04d10a3e032413853.tar.gz
gsm-selftest-65f77cecb143af61d87f1cc04d10a3e032413853.tar.xz
gsm-selftest-65f77cecb143af61d87f1cc04d10a3e032413853.zip
new file for advance software
Diffstat (limited to 'For Weekly Test/Advance/PingClass.py')
-rw-r--r--For Weekly Test/Advance/PingClass.py28
1 files changed, 28 insertions, 0 deletions
diff --git a/For Weekly Test/Advance/PingClass.py b/For Weekly Test/Advance/PingClass.py
new file mode 100644
index 0000000..e13b32b
--- /dev/null
+++ b/For Weekly Test/Advance/PingClass.py
@@ -0,0 +1,28 @@
+import subprocess
+import string
+
+class Ping:
+
+ def __init__(self, pingAddress):
+ self.pingAddress = pingAddress
+
+ def ping(self,numberTries):
+ tried = 1
+ while numberTries >= tried:
+ tried += 1
+ #the parameter c 1 means only one ping to be sent, parameter W 3 means how many seconds the time out should be, 3 seconds
+ ping_cmd = subprocess.Popen(['ping', self.pingAddress, '-c', '1', '-W', '2'], stdout=subprocess.PIPE, stderr=subprocess.STDOUT).communicate()[0]
+
+ pingAlive = int(string.find(ping_cmd, '1 received'))
+ unknownHost = int(string.find(ping_cmd, 'unknown host'))
+
+
+ if pingAlive != -1:
+ break
+
+ if unknownHost != -1:
+ return 2 #unknown host
+ if pingAlive != -1:
+ return 1 #ping works fine
+ else:
+ return 0 #no ping response