summaryrefslogtreecommitdiff
path: root/test-cli/test/tests/qwifi.py
diff options
context:
space:
mode:
Diffstat (limited to 'test-cli/test/tests/qwifi.py')
-rw-r--r--test-cli/test/tests/qwifi.py19
1 files changed, 13 insertions, 6 deletions
diff --git a/test-cli/test/tests/qwifi.py b/test-cli/test/tests/qwifi.py
index 4522057..3dd9e38 100644
--- a/test-cli/test/tests/qwifi.py
+++ b/test-cli/test/tests/qwifi.py
@@ -2,6 +2,7 @@ import unittest
import sh
import re
import json
+import time
class Qwifi(unittest.TestCase):
@@ -12,6 +13,7 @@ class Qwifi(unittest.TestCase):
params = None
__bwreal = None
__resultlist = None # resultlist is a python list of python dictionaries
+ timebetweenattempts = 5
# varlist content: serverip, bwexpected, port
def __init__(self, testname, testfunc, varlist):
@@ -48,12 +50,17 @@ class Qwifi(unittest.TestCase):
'inet addr:(?!127\.0{1,3}\.0{1,3}\.0{0,2}1$)((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)',
p.stdout.decode('ascii'))
if result:
- # execute iperf command against the server
- try:
- p = sh.iperf3("-c", self.__serverip, "-n", self.__numbytestx, "-f", "m", "-p", self.__port,
- "-J", _timeout=30)
- except sh.TimeoutException:
- self.fail("failed: iperf timeout reached")
+ # execute iperf command against the server, but it implements attempts in case the server is busy
+ iperfdone = False
+ while not iperfdone:
+ try:
+ p = sh.iperf3("-c", self.__serverip, "-n", self.__numbytestx, "-f", "m", "-p", self.__port,
+ "-J", _timeout=20)
+ iperfdone = True
+ except sh.TimeoutException:
+ self.fail("failed: iperf timeout reached")
+ except sh.ErrorReturnCode:
+ time.sleep(self.timebetweenattempts)
# check if it was executed succesfully
if p.exit_code == 0: