@@ -15,7 +15,7 @@ def test_can_spawn_worker():
1515 assert can_spawn is True
1616
1717
18- def test_can_not_spawn_worker_to_many_workers ():
18+ def test_cannot_spawn_worker_too_many_workers ():
1919 manager_state = ManagerState (default_max_workers = 4 )
2020
2121 # Register 4 jobs
@@ -26,20 +26,39 @@ def test_can_not_spawn_worker_to_many_workers():
2626 assert can_spawn is False
2727
2828
29- def test_can_not_spawn_worker_size_limit_reached ():
29+ def test_cannot_spawn_worker_size_limit_reached ():
30+ TWENTY_GB = 20 * 1024 ** 3
3031 manager_state = ManagerState (max_gb_all_workers = 20 )
3132
3233 # register large job
33- manager_state .register_job ("job_1" , 20 * 1024 ** 3 ) # 20 GB
34+ manager_state .register_job ("job_1" , TWENTY_GB ) # 20 GB
3435
3536 # Max worker should now be 2, We can still spawn a second job
36- can_spawn = manager_state .can_spawn_new_worker (new_job_size = 10 * 1024 ** 3 )
37+ can_spawn = manager_state .can_spawn_new_worker (new_job_size = TWENTY_GB )
3738 assert can_spawn is True
3839
39- manager_state .register_job ("job_2" , 10 * 1024 ** 3 )
40+ manager_state .register_job ("job_2" , TWENTY_GB )
4041
4142 # We should not be able to spawn a third job
42- can_spawn = manager_state .can_spawn_new_worker (new_job_size = 10 * 1024 ** 3 )
43+ can_spawn = manager_state .can_spawn_new_worker (new_job_size = TWENTY_GB )
44+ assert can_spawn is False
45+
46+
47+ def test_oversized_jobs ():
48+ # we can run jobs which exceeds the limit for the threshold,
49+ # but only two of them
50+ FIFTY_GB = 50 * 1024 ** 3
51+ manager_state = ManagerState (max_gb_all_workers = 10 )
52+
53+ can_spawn = manager_state .can_spawn_new_worker (new_job_size = FIFTY_GB )
54+ manager_state .register_job ("job_1" , FIFTY_GB )
55+ assert can_spawn is True
56+
57+ can_spawn = manager_state .can_spawn_new_worker (new_job_size = FIFTY_GB )
58+ manager_state .register_job ("job_2" , FIFTY_GB )
59+ assert can_spawn is True
60+
61+ can_spawn = manager_state .can_spawn_new_worker (new_job_size = FIFTY_GB )
4362 assert can_spawn is False
4463
4564
0 commit comments