Skip to content

Commit 35a7381

Browse files
committed
fix: tests
1 parent f649f7b commit 35a7381

1 file changed

Lines changed: 16 additions & 13 deletions

File tree

tests/test_concurrency.py

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
Copyright 2025 Amazon.com, Inc. or its affiliates. All Rights Reserved.
33
"""
44

5-
import multiprocessing
5+
import threading
66
import unittest
77
from unittest.mock import patch, MagicMock
88

@@ -18,38 +18,41 @@ def setUp(self):
1818
self.socket = "/tmp/sock"
1919

2020
def test_success_and_failure_isolation(self):
21-
manager = multiprocessing.Manager()
22-
success_counter = manager.Value("i", 0)
23-
fail_counter = manager.Value("i", 0)
24-
process_index = manager.Value("i", 0)
25-
lock = manager.Lock()
21+
success_counter = 0
22+
fail_counter = 0
23+
process_index = 0
24+
lock = threading.Lock()
2625

2726
def fake_bootstrap_run(handler, lambda_runtime_client):
27+
nonlocal success_counter, fail_counter, process_index
2828
with lock:
29-
idx = process_index.value
30-
process_index.value += 1
29+
idx = process_index
30+
process_index += 1
3131
if idx % 2 == 0:
3232
for _ in range(3):
3333
with lock:
34-
success_counter.value += 1
34+
success_counter += 1
3535
else:
3636
with lock:
37-
fail_counter.value += 1
37+
fail_counter += 1
3838
raise RuntimeError("Simulated failure")
3939

4040
with patch(
4141
"awslambdaric.lambda_multi_concurrent_utils.MultiConcurrentRunner._redirect_output"
4242
), patch(
4343
"awslambdaric.lambda_multi_concurrent_utils.bootstrap.run",
4444
side_effect=fake_bootstrap_run,
45+
), patch(
46+
"awslambdaric.lambda_multi_concurrent_utils.multiprocessing.Process",
47+
threading.Thread,
4548
):
49+
# spawn 4 multi-concurrent processes
4650
MultiConcurrentRunner.run_concurrent(
4751
self.handler, self.addr, self.use_thread, self.socket, max_concurrency=4
4852
)
4953

50-
self.assertEqual(success_counter.value, 6)
51-
self.assertEqual(fail_counter.value, 2)
52-
manager.shutdown()
54+
self.assertEqual(success_counter, 6)
55+
self.assertEqual(fail_counter, 2)
5356

5457

5558
if __name__ == "__main__":

0 commit comments

Comments
 (0)