예제 #1
0
 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)
예제 #2
0
 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)
예제 #3
0
 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)
예제 #4
0
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)
예제 #5
0
    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)
예제 #6
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)
예제 #7
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)
예제 #8
0
import command
import time

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)
예제 #9
0
import command
import time

nodes = ["10.0.0.1", "10.0.0.2"]

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