Skip to content

Commit 0a1cbc4

Browse files
committed
update test
1 parent 247c7bb commit 0a1cbc4

File tree

1 file changed

+24
-9
lines changed

1 file changed

+24
-9
lines changed

tests/unit/testplan/common/entity/test_environment.py

Lines changed: 24 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,18 @@
11
import multiprocessing.pool as mp
2+
import os
3+
import sys
24
import time
3-
from testplan.common.entity.base import Resource, Environment
45

56
import pytest
67

8+
from testplan.common.entity.base import Environment, Resource
9+
10+
# Python 3.13+ uses process_cpu_count() for ThreadPool sizing
11+
if sys.version_info >= (3, 13):
12+
CPU_COUNT = os.process_cpu_count()
13+
else:
14+
CPU_COUNT = os.cpu_count()
15+
716

817
@pytest.fixture
918
def environment():
@@ -73,15 +82,17 @@ def test_basic(self, environment, pool, mocker):
7382
environment.start_in_pool(pool)
7483
b = time.time()
7584

76-
assert b - a < 2, "resources didn't start concurrently"
85+
if CPU_COUNT and CPU_COUNT >= 2:
86+
assert b - a < 2, "resources didn't start concurrently"
7787
assert pre.call_count == 2, "pre-hooks not invoked"
7888
assert post.call_count == 2, "post-hooks not invoked"
7989

8090
c = time.time()
8191
environment.stop_in_pool(pool)
8292
d = time.time()
8393

84-
assert d - c < 2, "resources didn't stop concurrently"
94+
if CPU_COUNT and CPU_COUNT >= 2:
95+
assert d - c < 2, "resources didn't stop concurrently"
8596
assert pre.call_count == 4, "pre-hooks not invoked"
8697
assert post.call_count == 4, "post-hooks not invoked"
8798

@@ -108,7 +119,8 @@ def test_long_pre(self, environment, pool, mocker):
108119
b = time.time()
109120
environment.stop_in_pool(pool)
110121

111-
assert b - a < 3, "resources didn't start concurrently"
122+
if CPU_COUNT and CPU_COUNT >= 2:
123+
assert b - a < 3, "resources didn't start concurrently"
112124
assert wait.call_count == 2, "wait-hooks not invoked"
113125
assert post.call_count == 2, "post-hooks not invoked"
114126

@@ -135,7 +147,8 @@ def test_long_post(self, environment, pool, mocker):
135147
environment.stop_in_pool(pool)
136148
b = time.time()
137149

138-
assert b - a < 3, "resources didn't stop concurrently"
150+
if CPU_COUNT and CPU_COUNT >= 2:
151+
assert b - a < 3, "resources didn't stop concurrently"
139152
assert wait.call_count == 2, "wait-hooks not invoked"
140153
assert pre.call_count == 2, "pre-hooks not invoked"
141154

@@ -164,7 +177,8 @@ def test_manual_resource(self, environment, pool, mocker):
164177
a = time.time()
165178
environment.start_in_pool(pool)
166179
b = time.time()
167-
assert b - a < 2, "resources didn't start concurrently"
180+
if CPU_COUNT and CPU_COUNT >= 2:
181+
assert b - a < 2, "resources didn't start concurrently"
168182
assert not len(environment.start_exceptions)
169183

170184
m.start()
@@ -201,7 +215,7 @@ def test_op_timeout(self, environment, pool, mocker):
201215

202216
def test_nested_pool(self, environment, pool, mocker):
203217
wait, post = mocker.Mock(), mocker.Mock()
204-
with mp.ThreadPool() as pool:
218+
with mp.ThreadPool() as another_pool:
205219

206220
def _nested(_):
207221
environment.add(
@@ -223,9 +237,10 @@ def _nested(_):
223237
environment.stop_in_pool(pool)
224238
b = time.time()
225239

226-
assert b - a < 2, "resources didn't start concurrently"
240+
if CPU_COUNT and CPU_COUNT >= 4:
241+
assert b - a < 4, "resources didn't start concurrently"
227242

228-
r = pool.map_async(
243+
r = another_pool.map_async(
229244
_nested,
230245
[None, None],
231246
)

0 commit comments

Comments
 (0)