summaryrefslogtreecommitdiff
blob: c25a1807dcd42a10714cd6c3842f7ed40dfd3f7e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
From f948f821c705329a98bbcdcba5b642fe6c6f0b74 Mon Sep 17 00:00:00 2001
From: matoro <matoro@users.noreply.github.com>
Date: Wed, 15 Nov 2023 02:18:49 -0500
Subject: [PATCH] Support running tests on unicore hosts

All tests pass except those explicitly asserting that they are on a
multicore system.  Adds a conditional skip to those which are only
useful on multicore hosts.
---
 tests/test_filled.py | 7 +++++--
 tests/test_lines.py  | 7 +++++--
 tests/test_misc.py   | 8 +-------
 3 files changed, 11 insertions(+), 11 deletions(-)

diff --git a/tests/test_filled.py b/tests/test_filled.py
index b239f3b..c41e0d1 100644
--- a/tests/test_filled.py
+++ b/tests/test_filled.py
@@ -8,7 +8,7 @@
 from numpy.testing import assert_allclose, assert_array_equal
 import pytest
 
-from contourpy import FillType, contour_generator
+from contourpy import FillType, contour_generator, max_threads
 from contourpy.util.data import random, simple
 
 from . import util_test
@@ -734,7 +734,10 @@ def assert_chunk_offsets(offsets_or_none: list[cpy.OffsetArray | None]) -> None:
 @pytest.mark.threads
 @pytest.mark.parametrize("fill_type", FillType.__members__.values())
 @pytest.mark.parametrize("name, thread_count",
-                         [("serial", 1), ("threaded", 1), ("threaded", 2)])
+                         [("serial", 1), ("threaded", 1),
+                         pytest.param("threaded", 2,
+                            marks = pytest.mark.skipif(
+                            max_threads() <= 1, reason = "executing on unicore host"))])
 def test_return_by_fill_type_chunk(
     xyz_chunk_test: tuple[cpy.CoordinateArray, ...],
     name: str,
diff --git a/tests/test_lines.py b/tests/test_lines.py
index 9608591..0b0833b 100644
--- a/tests/test_lines.py
+++ b/tests/test_lines.py
@@ -6,7 +6,7 @@
 from numpy.testing import assert_allclose, assert_array_equal
 import pytest
 
-from contourpy import LineType, contour_generator
+from contourpy import LineType, contour_generator, max_threads
 from contourpy.util.data import random, simple
 
 from . import util_test
@@ -707,7 +707,10 @@ def test_return_by_line_type(
 @pytest.mark.threads
 @pytest.mark.parametrize("line_type", LineType.__members__.values())
 @pytest.mark.parametrize("name, thread_count",
-                         [("serial", 1), ("threaded", 1), ("threaded", 2)])
+                         [("serial", 1), ("threaded", 1),
+                         pytest.param("threaded", 2,
+                            marks = pytest.mark.skipif(
+                            max_threads() <= 1, reason = "executing on unicore host"))])
 def test_return_by_line_type_chunk(
     xyz_chunk_test: tuple[cpy.CoordinateArray, ...],
     name: str,
diff --git a/tests/test_misc.py b/tests/test_misc.py
index 5e46e3f..acd558a 100644
--- a/tests/test_misc.py
+++ b/tests/test_misc.py
@@ -2,13 +2,7 @@
 
 import numpy as np
 
-from contourpy import _remove_z_mask, contour_generator, max_threads
-
-
-def test_max_threads() -> None:
-    n = max_threads()
-    # Assume testing on machine with 2 or more cores.
-    assert n > 1
+from contourpy import _remove_z_mask, contour_generator
 
 
 def test_nan() -> None: