(device_key)
| 549 | @pytest.mark.skipif(not env.has_rpc(), reason="need rpc") |
| 550 | @pytest.mark.parametrize("device_key", ["test_device", "127.0.0.1:5555"]) |
| 551 | def test_rpc_tracker_request(device_key): |
| 552 | # test concurrent request |
| 553 | tracker = Tracker(port=9000, port_end=10000) |
| 554 | server = rpc.Server( |
| 555 | port=9000, |
| 556 | port_end=10000, |
| 557 | key=device_key, |
| 558 | tracker_addr=("127.0.0.1", tracker.port), |
| 559 | ) |
| 560 | client = rpc.connect_tracker("127.0.0.1", tracker.port) |
| 561 | |
| 562 | proc1 = multiprocessing.Process(target=_target, args=("127.0.0.1", tracker.port, device_key, 4)) |
| 563 | proc2 = multiprocessing.Process( |
| 564 | target=_target, args=("127.0.0.1", tracker.port, device_key, 200) |
| 565 | ) |
| 566 | proc1.start() |
| 567 | time.sleep(0.5) |
| 568 | proc2.start() |
| 569 | time.sleep(0.5) |
| 570 | |
| 571 | summary = client.summary() |
| 572 | |
| 573 | assert summary["queue_info"][device_key]["free"] == 0 |
| 574 | assert summary["queue_info"][device_key]["pending"] == 1 |
| 575 | |
| 576 | proc1.terminate() |
| 577 | proc1.join() |
| 578 | time.sleep(0.5) |
| 579 | |
| 580 | summary = client.summary() |
| 581 | assert summary["queue_info"][device_key]["free"] == 0 |
| 582 | assert summary["queue_info"][device_key]["pending"] == 0 |
| 583 | |
| 584 | proc2.terminate() |
| 585 | proc2.join() |
| 586 | server.terminate() |
| 587 | tracker.terminate() |
| 588 | |
| 589 | |
| 590 | @pytest.mark.skipif(not env.has_rpc(), reason="need rpc") |
nothing calls this directly
no test coverage detected
searching dependent graphs…