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:
|