dev-python/contourpy: Grab a fix for running tests on unicore system

Signed-off-by: Michał Górny <mgorny@gentoo.org>
This commit is contained in:
Michał Górny
2023-11-15 09:07:43 +01:00
parent 00015751f2
commit 36d91d94d5
2 changed files with 88 additions and 0 deletions

View File

@@ -42,6 +42,11 @@ DISTUTILS_ARGS=(
distutils_enable_tests pytest
PATCHES=(
# https://github.com/contourpy/contourpy/pull/327
"${FILESDIR}/${P}-unicore.patch"
)
python_test() {
local EPYTEST_IGNORE=(
# linters

View File

@@ -0,0 +1,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: