diff --git a/.github/valgrind/cppinterop-clang22-valgrind.supp b/.github/valgrind/cppinterop-clang22-valgrind.supp index cc88b36..2e25864 100644 --- a/.github/valgrind/cppinterop-clang22-valgrind.supp +++ b/.github/valgrind/cppinterop-clang22-valgrind.supp @@ -217,3 +217,12 @@ fun:*TargetLowering*LowerCallTo* ... } +{ + Clang 22 concepts: uninitialised value in Sema::BuildExprRequirement (seen on aarch64) + Memcheck:Cond + fun:_ZN5clang4Sema20BuildExprRequirementEPNS_4ExprEbNS_14SourceLocationENS_8concepts15ExprRequirement21ReturnTypeRequirementE + fun:_ZN5clang13TreeTransformIN12_GLOBAL__N_120TemplateInstantiatorEE21TransformRequiresExprEPNS_12RequiresExprE + fun:_ZN12_GLOBAL__N_120TemplateInstantiator21TransformRequiresExprEPN5clang12RequiresExprE + fun:_ZN5clang4Sema19SubstConstraintExprEPNS_4ExprERKNS_30MultiLevelTemplateArgumentListE + fun:_ZN12_GLOBAL__N_129ConstraintSatisfactionChecker8EvaluateERKN5clang20NormalizedConstraintERKNS1_30MultiLevelTemplateArgumentListE +} diff --git a/requirements.txt b/requirements.txt index dde89e6..7b3c9bf 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,11 +1,10 @@ -uv - pytest pytest-xdist -# Numba tests (Not tested for Python >= 3.14) -numba==0.61.2; python_version < '3.14' +# Numba tests (numba dropped macOS x86_64 wheels after 0.61) +numba==0.67.0; sys_platform != "darwin" or platform_machine != "x86_64" +numba==0.61.2; sys_platform == "darwin" and platform_machine == "x86_64" and python_version < "3.14" numpy -# Leak check tests (To be re-enabled) -# psutil +# Leak check tests +psutil diff --git a/test/test_leakcheck.py b/test/test_leakcheck.py index 39128be..ea21184 100644 --- a/test/test_leakcheck.py +++ b/test/test_leakcheck.py @@ -2,6 +2,7 @@ import sys from pytest import mark, skip +from support import IS_MAC nopsutil = False try: @@ -74,6 +75,9 @@ def check_func(self, scope, func, *args, **kwds): assert fail < M + @mark.xfail( + condition=IS_MAC, reason="std::string overload fails to resolve on OS X" + ) def test01_free_functions(self): """Leak test of free functions""" @@ -99,6 +103,9 @@ def test01_free_functions(self): self.check_func(ns, "free_f_ret1") self.check_func(ns, "free_f_ret1") + @mark.xfail( + condition=IS_MAC, reason="std::string overload fails to resolve on OS X" + ) def test02_test_static_methods(self): """Leak test of static methods""" @@ -125,6 +132,9 @@ class MyClass02 { self.check_func(m, "static_method_ol", 42.0, tmpl_args="float") self.check_func(m, "static_method_ret") + @mark.xfail( + condition=IS_MAC, reason="std::string overload fails to resolve on OS X" + ) def test03_test_methods(self): """Leak test of methods""" diff --git a/test/test_numba.py b/test/test_numba.py index 646dd2e..ee89390 100644 --- a/test/test_numba.py +++ b/test/test_numba.py @@ -18,7 +18,7 @@ class TestREFLEX: def setup_class(cls): - pass + import cppjit.reflex # noqa: F401 def test01_instance_box_unbox(self): """Access to box/unbox methods""" @@ -95,7 +95,7 @@ class MyData_d1 { @mark.skipif(has_numba == False, reason="numba not found") class TestNUMBA: def setup_class(cls): - pass + import cppjit.numba_ext # noqa: F401 def compare(self, go_slow, go_fast, N, *args): t0 = time.time() @@ -759,7 +759,7 @@ def mul_njit(m, x): @mark.skipif(has_numba == False, reason="numba not found") class TestNUMBA_DOC: def setup_class(cls): - pass + import cppjit.numba_ext # noqa: F401 def test01_templated_freefunction(self): """Numba support documentation example: free templated function"""