diff options
author | Hector Fernandez <hector@iatec.biz> | 2020-07-06 17:51:09 +0200 |
---|---|---|
committer | Hector Fernandez <hector@iatec.biz> | 2020-07-06 17:51:09 +0200 |
commit | 47827e40f71696e04ad805296dedc44a03451db3 (patch) | |
tree | ba7dc460208d3e951d0f1724bc12a3793ef9378c /test-cli/test/tests/qwifi.py | |
parent | 1d51a80b57cc8c80c78d67c85290503997060e9e (diff) | |
download | board-47827e40f71696e04ad805296dedc44a03451db3.zip board-47827e40f71696e04ad805296dedc44a03451db3.tar.gz board-47827e40f71696e04ad805296dedc44a03451db3.tar.bz2 |
In case iperf3 server is busy, clients wait and retry.
Diffstat (limited to 'test-cli/test/tests/qwifi.py')
-rw-r--r-- | test-cli/test/tests/qwifi.py | 19 |
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: |