def test_process_reply_multiple_threads(self): executor = iperf.IperfGraphExecutor({'threads': 2}, AGENT) message = { 'stdout': """ 20150610102341,10.0.0.3,53479,10.0.0.2,5001,4,0.0-1.0,30277632,242221056 20150610102341,10.0.0.3,53478,10.0.0.2,5001,3,0.0-1.0,23461888,187695104 20150610102341,10.0.0.3,0,10.0.0.2,5001,-1,0.0-1.0,53739520,429916160 20150610102342,10.0.0.3,53479,10.0.0.2,5001,4,1.0-2.0,41418752,331350016 20150610102342,10.0.0.3,53478,10.0.0.2,5001,3,1.0-2.0,22806528,182452224 20150610102342,10.0.0.3,53478,10.0.0.2,5001,3,0.0-2.0,46268416,370147328 20150610102342,10.0.0.3,0,10.0.0.2,5001,-1,1.0-2.0,64225280,513802240 20150610102440,10.0.0.3,53479,10.0.0.2,5001,4,0.0-2.0,71696384,573571072 20150610102440,10.0.0.3,0,10.0.0.2,5001,-1,0.0-2.0,117964800,479810974\n """ } expected = { 'samples': [ [1.0, 429916160], [2.0, 513802240], ], 'meta': [['time', 's'], ['bandwidth', 'bit/s']] } reply = executor.process_reply(message) self.assertEqual(expected['samples'], reply['samples'], message='Samples data') self.assertEqual(expected['meta'], reply['meta'], message='Metadata')
def test_process_reply(self): executor = iperf.IperfGraphExecutor({}, AGENT) message = { 'stdout': """ 20150224134955,172.1.7.77,47351,172.1.76.77,5001,3,0.0-1.0,50068684,399507456 20150224134956,172.1.7.77,47351,172.1.76.77,5001,3,1.0-2.0,51605504,412090368 20150224134957,172.1.7.77,47351,172.1.76.77,5001,3,2.0-3.0,50843648,405798912 20150224134957,172.1.7.77,47351,172.1.76.77,5001,3,0.0-3.0,150843648,400000002 """ } expected = { 'samples': [ [1.0, 399507456], [2.0, 412090368], [3.0, 405798912], ], 'meta': [ ['time', 's'], ['bandwidth', 'bit/s'] ] } reply = executor.process_reply(message) self.assertEqual(expected['samples'], reply['samples'], message='Samples data') self.assertEqual(expected['meta'], reply['meta'], message='Metadata')
def test_process_empty_reply(self): executor = iperf.IperfGraphExecutor({}, AGENT) message = { 'stdout': '', 'stderr': 'Error!', } self.assertRaises(base.ExecutorException, executor.process_reply, message)
def test_get_command_static_host(self): executor = iperf.IperfGraphExecutor({'host': '10.0.0.20'}, {}) expected = {'data': ('iperf --client %s --format m ' '--time 60 --parallel 1 --interval 1 --nodelay ' '--reportstyle C') % '10.0.0.20', 'type': 'program'} self.assertEqual(expected, executor.get_command())
def test_get_command(self): executor = iperf.IperfGraphExecutor({}, AGENT) expected = {'data': ('iperf --client %s --format m ' '--time 60 --parallel 1 --interval 1 --nodelay ' '--reportstyle C') % IP, 'type': 'program'} self.assertEqual(expected, executor.get_command())
def test_get_command_udp(self): executor = iperf.IperfGraphExecutor( {'udp': True, 'bandwidth': '100M', 'time': 30, 'datagram_size': 1470}, AGENT) expected = {'data': ('iperf --client %s --format m ' '--udp --len 1470 --bandwidth 100M ' '--time 30 --parallel 1 --interval 1 --nodelay ' '--reportstyle C') % IP, 'type': 'program'} self.assertEqual(expected, executor.get_command())