from test.helpers.syscmd import SysCommand class QIperf(object): __sip = None __raw_out = None __MB_req = None __MB_real = None __BW_real = None __dat_list = None __bind = None def __init__(self, sip = None): if sip is not None: self.__sip = sip self.__MB_req = '10' def execute(self, sip = None, bind = None): if sip is not None: self.__sip = sip if bind is None: str_cmd = "iperf -c {} -x CMSV -n {}M".format(self.__sip, self.__MB_req) else: self.__bind = bind str_cmd = "iperf -c {} -x CMSV -n {}M -B {}".format(self.__sip, self.__MB_req, self.__bind) t = SysCommand("iperf", str_cmd) if t.execute() == 0: self.__raw_out = t.getOutput() if self.__raw_out == "": return -1 lines = t.getOutput().splitlines() dat = lines[1] dat = dat.decode('ascii') dat_list = dat.split( ) for d in dat_list: a = dat_list.pop(0) if a == "sec": break self.__MB_real = dat_list[0] self.__BW_real = dat_list[2] self.__dat_list = dat_list print(self.__MB_real) print(self.__BW_real) else: return -1 return 0 def get_Total_MB(self): return self.__MB_real; def get_Total_BW(self): return self.__MB_real;