From f948f821c705329a98bbcdcba5b642fe6c6f0b74 Mon Sep 17 00:00:00 2001 From: matoro 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: