Skip to content

Commit f36273c

Browse files
committed
Try parallelize tests
1 parent fb48599 commit f36273c

File tree

4 files changed

+67
-28
lines changed

4 files changed

+67
-28
lines changed

.github/workflows/build.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ on:
1414
jobs:
1515
build:
1616
runs-on: ubuntu-latest
17-
environment: build
1817

1918
strategy:
2019
fail-fast: false

azure-kusto-ingest/tests/test_status_q.py

Lines changed: 35 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,10 @@ def get_resource_uri(account: str, container: str) -> _ResourceUri:
8282
return _ResourceUri("https://{0}.{1}.{2}/{3}?{4}".format(account, "queue", ENDPOINT_SUFFIX, container, SAS))
8383

8484

85+
def fail_test():
86+
raise Exception("This test should not be called.")
87+
88+
8589
class StatusQTests(unittest.TestCase):
8690
def test_init(self):
8791
client = QueuedIngestClient("some-cluster")
@@ -96,9 +100,11 @@ def test_isempty(self):
96100
fake_peek = fake_peek_factory(
97101
lambda queue_name, num_messages=1: [mock_message(success=True) for _ in range(0, num_messages)] if "qs" in queue_name else []
98102
)
99-
with mock.patch.object(client._resource_manager, "get_successful_ingestions_queues") as mocked_get_success_qs, mock.patch.object(
100-
client._resource_manager, "get_failed_ingestions_queues"
101-
) as mocked_get_failed_qs, mock.patch.object(QueueClient, "peek_messages", autospec=True, side_effect=fake_peek) as q_mock:
103+
with (
104+
mock.patch.object(client._resource_manager, "get_successful_ingestions_queues") as mocked_get_success_qs,
105+
mock.patch.object(client._resource_manager, "get_failed_ingestions_queues") as mocked_get_failed_qs,
106+
mock.patch.object(QueueClient, "peek_messages", autospec=True, side_effect=fake_peek) as q_mock,
107+
):
102108
fake_failed_queue = get_resource_uri("mocked_storage_account_f1", "mocked_qf_name")
103109
fake_success_queue = get_resource_uri("mocked_storage_account2", "mocked_qs_name")
104110

@@ -123,9 +129,11 @@ def test_peek(self):
123129
]
124130
)
125131

126-
with mock.patch.object(client._resource_manager, "get_successful_ingestions_queues") as mocked_get_success_qs, mock.patch.object(
127-
client._resource_manager, "get_failed_ingestions_queues"
128-
) as mocked_get_failed_qs, mock.patch.object(QueueClient, "peek_messages", autospec=True, side_effect=fake_peek) as q_mock:
132+
with (
133+
mock.patch.object(client._resource_manager, "get_successful_ingestions_queues") as mocked_get_success_qs,
134+
mock.patch.object(client._resource_manager, "get_failed_ingestions_queues") as mocked_get_failed_qs,
135+
mock.patch.object(QueueClient, "peek_messages", autospec=True, side_effect=fake_peek) as q_mock,
136+
):
129137
fake_failed_queue1 = get_resource_uri("mocked_storage_account_f1", "mocked_qf_name")
130138
fake_failed_queue2 = get_resource_uri("mocked_storage_account_f2", "mocked_qf_2_name")
131139
fake_success_queue = get_resource_uri("mocked_storage_account2", "mocked_qs_name")
@@ -168,16 +176,17 @@ def test_pop(self):
168176
]
169177
)
170178

171-
with mock.patch.object(client._resource_manager, "get_successful_ingestions_queues") as mocked_get_success_qs, mock.patch.object(
172-
client._resource_manager, "get_failed_ingestions_queues"
173-
) as mocked_get_failed_qs, mock.patch.object(
174-
QueueClient,
175-
"receive_messages",
176-
autospec=True,
177-
side_effect=fake_receive,
178-
) as q_receive_mock, mock.patch.object(
179-
QueueClient, "delete_message", return_value=None
180-
) as q_del_mock:
179+
with (
180+
mock.patch.object(client._resource_manager, "get_successful_ingestions_queues") as mocked_get_success_qs,
181+
mock.patch.object(client._resource_manager, "get_failed_ingestions_queues") as mocked_get_failed_qs,
182+
mock.patch.object(
183+
QueueClient,
184+
"receive_messages",
185+
autospec=True,
186+
side_effect=fake_receive,
187+
) as q_receive_mock,
188+
mock.patch.object(QueueClient, "delete_message", return_value=None) as q_del_mock,
189+
):
181190
fake_failed_queue1 = get_resource_uri("mocked_storage_account_f1", "mocked_qf_name")
182191
fake_failed_queue2 = get_resource_uri("mocked_storage_account_f2", "mocked_qf_2_name")
183192
fake_success_queue = get_resource_uri("mocked_storage_account2", "mocked_qs_name")
@@ -220,15 +229,16 @@ def test_pop_unbalanced_queues(self):
220229
fake_receive = fake_receive_factory(
221230
lambda queue_name, messages_per_page=1: [mock_message(success=False) for _ in range(0, messages_per_page)] if "1" in queue_name else []
222231
)
223-
with mock.patch.object(client._resource_manager, "get_successful_ingestions_queues"), mock.patch.object(
224-
client._resource_manager, "get_failed_ingestions_queues"
225-
) as mocked_get_failed_qs, mock.patch.object(
226-
QueueClient,
227-
"receive_messages",
228-
autospec=True,
229-
side_effect=fake_receive,
230-
) as q_receive_mock, mock.patch.object(
231-
QueueClient, "delete_message", return_value=None
232+
with (
233+
mock.patch.object(client._resource_manager, "get_successful_ingestions_queues"),
234+
mock.patch.object(client._resource_manager, "get_failed_ingestions_queues") as mocked_get_failed_qs,
235+
mock.patch.object(
236+
QueueClient,
237+
"receive_messages",
238+
autospec=True,
239+
side_effect=fake_receive,
240+
) as q_receive_mock,
241+
mock.patch.object(QueueClient, "delete_message", return_value=None),
232242
):
233243
fake_failed_queue1 = get_resource_uri("mocked_storage_account_f1", "mocked_qf_1_name")
234244
fake_failed_queue2 = get_resource_uri("mocked_storage_account_f2", "mocked_qf_2_name")

pyproject.toml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ dev = [
2727
"pandas>=2.3.1",
2828
"ruff>=0.12.8",
2929
"basedpyright>=1.31.1",
30+
"pytest-xdist[psutil]>=3.8.0",
3031
]
3132

3233
[tool.uv.workspace]
@@ -50,5 +51,5 @@ ignore = ["E731"] # E731 - dont assign lambdas.
5051

5152
[tool.pytest.ini_options]
5253
testpaths = ["azure-kusto-data/tests", "azure-kusto-ingest/tests"]
53-
addopts = ["-s", "--import-mode=importlib"]
54-
pythonpath = ["."]
54+
addopts = ["-s", "--import-mode=importlib", "-n", "auto"]
55+
pythonpath = ["."]

uv.lock

Lines changed: 29 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)