def setUp(self): err = command.receive(test_topo[0][3], port, 0, 1000) self.assertIsNone(err) err = command.send(test_topo[0][2], port, 0, test_topo[0][3], 1000, 1000000) self.assertIsNone(err) time.sleep(5)
def setUp(self): for i in range(0, 20): self.start_time.append(time.time()) err = command.receive(test_topo[0][3], port, i, 2000 + i) self.assertIsNone(err) err = command.send(test_topo[0][2], port, i, test_topo[0][3], 2000 + i, 200000000 / 20) self.assertIsNone(err)
def setUp(self): for i in range(3): err = command.receive(test_topo[0][3], port, 15 + i, 2010 + i) self.assertIsNone(err) err = command.send(test_topo[0][2], port, 15 + i, test_topo[0][3], 2010 + i, 1000000) self.assertIsNone(err) time.sleep(10)
def test_issue(): commands = parse("issue2.log") id_ip_map = {} cur_time = 0 for command_time in commands: if command_time > cur_time: time.sleep(command_time - cur_time) cur_time = command_time for command_item in commands[command_time]: print(command_item) if command_item["type"] == "cleanAll": err = command.clean_all(command_item["host"], port) if err: print(cur_time) print(command_item) print(err) elif command_item["type"] == "progress": err = command.get_progress(command_item["host"], port, command_item["id"]) if err: print(cur_time) print(command_item) print(err) elif command_item["type"] == "updateRate": err = command.update_rate(command_item["host"], port, command_item["id"], command_item["rate"]) if err: print(cur_time) print(command_item) print(err) elif command_item["type"] == "receive": err = command.receive(command_item["host"], port, command_item["id"], command_item["port"]) if err: print(cur_time) print(command_item) print(err) id_ip_map[command_item["id"]] = command_item["host"] elif command_item["type"] == "send": if id_ip_map.get(command_item["id"], None) is None: print("id_ip_map is none") err = command.send(command_item["host"], port, command_item["id"], id_ip_map[command_item["id"]], command_item["port"], command_item["rate"]) if err: print(cur_time) print(command_item) print(err)
def test_issue(self): err = command.receive("192.168.1.13", port, 0, 1000) self.assertIsNone(err) err = command.send("192.168.1.7", port, 0, "10.10.10.12", 1000, 16666666) self.assertIsNone(err) err = command.receive("192.168.1.10", port, 1, 1001) self.assertIsNone(err) err = command.send("192.168.1.4", port, 1, "10.10.10.9", 1001, 16666666) self.assertIsNone(err) err = command.receive("192.168.1.13", port, 2, 1002) self.assertIsNone(err) err = command.send("192.168.1.7", port, 2, "10.10.10.12", 1002, 16666666) self.assertIsNone(err) time.sleep(10) err, res = command.get_progress("192.168.1.7", port, 0) self.assertIsNone(err) self.assertGreater(res['progress'], 0) err, res = command.get_progress("192.168.1.7", port, 2) self.assertIsNone(err) self.assertGreater(res['progress'], 0) err, res = command.get_progress("192.168.1.4", port, 1) self.assertIsNone(err) self.assertGreater(res['progress'], 0)
def test_port_reuse(self): # Use a different transfer ID and the same port number # DCCastHost will try to create NORM instance but fail at NORMStartReceiver err = command.receive(test_topo[0][3], port, 1, 1000) self.assertEqual(err, "Timeout when waiting for response") err = command.send(test_topo[0][2], port, 1, test_topo[0][3], 1000, 1000000) self.assertEqual(err, "Timeout when waiting for response") # If we use a different port, we should see transmission err = command.receive(test_topo[0][3], port, 1, 1001) self.assertEqual(err, None) err = command.send(test_topo[0][2], port, 1, test_topo[0][3], 1001, 1000000) self.assertEqual(err, None) time.sleep(5) err, res = command.get_progress(test_topo[0][3], port, 1) self.assertIsNone(err) self.assertGreater(res['progress'], 0) err, res = command.get_progress(test_topo[0][2], port, 1) self.assertIsNone(err) self.assertGreater(res['progress'], 0)
def test_clean_restart(self): err = command.clean_all(test_topo[0][2], port) self.assertIsNone(err) err = command.clean_all(test_topo[0][3], port) self.assertIsNone(err) err = command.receive(test_topo[0][3], port, 0, 1000) self.assertIsNone(err) err = command.send(test_topo[0][2], port, 0, test_topo[0][3], 1000, 1000000) self.assertIsNone(err) time.sleep(5) err, res = command.get_progress(test_topo[0][3], port, 0) self.assertIsNone(err) self.assertGreater(res['progress'], 0) err, res = command.get_progress(test_topo[0][2], port, 0) self.assertIsNone(err) self.assertGreater(res['progress'], 0)
nodes = ["10.0.0.1", "10.0.0.2"] l, r = 1000000, 1000000000 while l < r: m = (l + r) // 2 print("Test at rate {}".format(m)) start_time = time.time() err = command.receive(nodes[1], 9080, 0, 1234) if err: print(err) break err = command.send(nodes[0], 9080, 0, nodes[1], 1234, m) if err: print(err) break time.sleep(30) err = command.terminate(nodes[0], 9080, 0) if err: print(err) break err = command.terminate(nodes[1], 9080, 0) if err: print(err) break
num_sender = 10 bandwidth = 100000000 start_time = time.time() for i in range(num_sender): err = command.receive(nodes[1], 9080, i, 1230 + i) if err: print(err) break time.sleep(1) for i in range(num_sender): err = command.send(nodes[0], 9080, i, nodes[1], 1230 + i, bandwidth // num_sender) if err: print(err) break time.sleep(30) end_time = time.time() total_count = 0 for i in range(num_sender): err = command.terminate(nodes[0], 9080, i) if err: print(err) err = command.terminate(nodes[1], 9080, i)