From 7353e31b84fefc18574c526706e7fddbeae6c8a5 Mon Sep 17 00:00:00 2001 From: Alexandru Fikl Date: Wed, 19 Feb 2025 09:59:10 +0200 Subject: [PATCH] fix(tests): re-arrange imports and remove faulthandler --- test/test_apps.py | 31 ++++++++----------------------- test/test_c_execution.py | 13 ++----------- test/test_callables.py | 6 +++++- test/test_dg.py | 2 -- test/test_diff.py | 24 +++++------------------- test/test_domain.py | 24 +++++------------------- test/test_einsum.py | 11 +++++++---- test/test_expression.py | 24 +++++------------------- test/test_fortran.py | 18 +++++------------- test/test_linalg.py | 8 ++++---- test/test_loopy.py | 24 +++++------------------- test/test_misc.py | 6 ++---- test/test_nbody.py | 11 +++-------- test/test_numa_diff.py | 22 ++++++++-------------- test/test_reduction.py | 22 ++++------------------ test/test_scan.py | 26 ++++++-------------------- test/test_statistics.py | 1 + test/test_target.py | 24 +++++------------------- test/test_transform.py | 24 +++++------------------- 19 files changed, 85 insertions(+), 236 deletions(-) diff --git a/test/test_apps.py b/test/test_apps.py index 862b3946..bf86148a 100644 --- a/test/test_apps.py +++ b/test/test_apps.py @@ -21,39 +21,23 @@ THE SOFTWARE. """ import logging -import sys import numpy as np import pytest -import pyopencl as cl +import pyopencl as cl # noqa: F401 import pyopencl.clmath -import pyopencl.clrandom # noqa +import pyopencl.clrandom # noqa: F401 +from pyopencl.tools import ( # noqa: F401 + pytest_generate_tests_for_pyopencl as pytest_generate_tests, +) import loopy as lp - - -logger = logging.getLogger(__name__) - -try: - import faulthandler -except ImportError: - pass -else: - faulthandler.enable() - -from pyopencl.tools import pytest_generate_tests_for_pyopencl as pytest_generate_tests - from loopy.diagnostic import LoopyError +from loopy.version import LOOPY_USE_LANGUAGE_VERSION_2018_2 # noqa: F401 -__all__ = [ - "cl", # "cl.create_some_context" - "pytest_generate_tests" -] - - -from loopy.version import LOOPY_USE_LANGUAGE_VERSION_2018_2 # noqa: F401 +logger = logging.getLogger(__name__) # {{{ convolutions @@ -750,6 +734,7 @@ def test_sumpy_p2p_reduced(): if __name__ == "__main__": + import sys if len(sys.argv) > 1: exec(sys.argv[1]) else: diff --git a/test/test_c_execution.py b/test/test_c_execution.py index 699c8f16..adcd8e40 100644 --- a/test/test_c_execution.py +++ b/test/test_c_execution.py @@ -21,27 +21,17 @@ THE SOFTWARE. """ import logging -import sys import numpy as np import pytest import loopy as lp from loopy import CACHING_ENABLED +from loopy.version import LOOPY_USE_LANGUAGE_VERSION_2018_2 # noqa: F401 logger = logging.getLogger(__name__) -try: - import faulthandler -except ImportError: - pass -else: - faulthandler.enable() - - -from loopy.version import LOOPY_USE_LANGUAGE_VERSION_2018_2 # noqa - def test_c_target(): from loopy.target.c import ExecutableCTarget @@ -377,6 +367,7 @@ def test_scalar_global_args(): if __name__ == "__main__": + import sys if len(sys.argv) > 1: exec(sys.argv[1]) else: diff --git a/test/test_callables.py b/test/test_callables.py index eabba3fe..17289b3b 100644 --- a/test/test_callables.py +++ b/test/test_callables.py @@ -20,7 +20,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. """ -import sys +import logging import numpy as np import pytest @@ -36,6 +36,9 @@ import loopy as lp from loopy.version import LOOPY_USE_LANGUAGE_VERSION_2018_2 # noqa: F401 +logger = logging.getLogger(__name__) + + def test_register_function_lookup(ctx_factory): ctx = ctx_factory() queue = cl.CommandQueue(ctx) @@ -1529,6 +1532,7 @@ def test_inline_constant_access(): if __name__ == "__main__": + import sys if len(sys.argv) > 1: exec(sys.argv[1]) else: diff --git a/test/test_dg.py b/test/test_dg.py index 47d02a61..25e7405c 100644 --- a/test/test_dg.py +++ b/test/test_dg.py @@ -38,8 +38,6 @@ logger = logging.getLogger(__name__) def test_dg_volume(ctx_factory): - # logging.basicConfig(level=logging.DEBUG) - dtype = np.float32 dtype4 = cl.array.vec.float4 ctx = ctx_factory() diff --git a/test/test_diff.py b/test/test_diff.py index d1d81b13..b1fdc7e8 100644 --- a/test/test_diff.py +++ b/test/test_diff.py @@ -21,37 +21,22 @@ THE SOFTWARE. """ import logging -import sys import numpy as np import numpy.linalg as la import pyopencl as cl import pyopencl.clrandom +from pyopencl.tools import ( # noqa: F401 + pytest_generate_tests_for_pyopencl as pytest_generate_tests, +) import loopy as lp +from loopy.version import LOOPY_USE_LANGUAGE_VERSION_2018_2 # noqa: F401 logger = logging.getLogger(__name__) -try: - import faulthandler -except ImportError: - pass -else: - faulthandler.enable() - -from pyopencl.tools import pytest_generate_tests_for_pyopencl as pytest_generate_tests - - -__all__ = [ - "cl", # 'cl.create_some_context' - "pytest_generate_tests" -] - - -from loopy.version import LOOPY_USE_LANGUAGE_VERSION_2018_2 # noqa - def test_diff(ctx_factory): ctx = ctx_factory() @@ -109,6 +94,7 @@ def test_diff(ctx_factory): if __name__ == "__main__": + import sys if len(sys.argv) > 1: exec(sys.argv[1]) else: diff --git a/test/test_domain.py b/test/test_domain.py index c915498e..8209777b 100644 --- a/test/test_domain.py +++ b/test/test_domain.py @@ -21,7 +21,6 @@ THE SOFTWARE. """ import logging -import sys import numpy as np import pytest @@ -29,30 +28,16 @@ import pytest import pyopencl as cl import pyopencl.clmath import pyopencl.clrandom +from pyopencl.tools import ( # noqa: F401 + pytest_generate_tests_for_pyopencl as pytest_generate_tests, +) import loopy as lp +from loopy.version import LOOPY_USE_LANGUAGE_VERSION_2018_2 # noqa: F401 logger = logging.getLogger(__name__) -try: - import faulthandler -except ImportError: - pass -else: - faulthandler.enable() - -from pyopencl.tools import pytest_generate_tests_for_pyopencl as pytest_generate_tests - - -__all__ = [ - "cl", # 'cl.create_some_context' - "pytest_generate_tests" -] - - -from loopy.version import LOOPY_USE_LANGUAGE_VERSION_2018_2 # noqa - def test_assume(): knl = lp.make_kernel( @@ -378,6 +363,7 @@ def test_triangle_domain(): if __name__ == "__main__": + import sys if len(sys.argv) > 1: exec(sys.argv[1]) else: diff --git a/test/test_einsum.py b/test/test_einsum.py index b641e3b0..29753fa6 100644 --- a/test/test_einsum.py +++ b/test/test_einsum.py @@ -20,21 +20,23 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. """ - -import sys +import logging import numpy as np import pytest import pyopencl as cl import pyopencl.array -from pyopencl.tools import ( - pytest_generate_tests_for_pyopencl as pytest_generate_tests, # noqa +from pyopencl.tools import ( # noqa: F401 + pytest_generate_tests_for_pyopencl as pytest_generate_tests, ) import loopy as lp +logger = logging.getLogger(__name__) + + def test_make_einsum_error_handling(): with pytest.raises(ValueError): lp.make_einsum("ij,j->j", ("a",)) @@ -173,6 +175,7 @@ def test_einsum_with_variable_strides(ctx_factory): if __name__ == "__main__": + import sys if len(sys.argv) > 1: exec(sys.argv[1]) else: diff --git a/test/test_expression.py b/test/test_expression.py index ca033cbf..acb5572f 100644 --- a/test/test_expression.py +++ b/test/test_expression.py @@ -21,7 +21,6 @@ THE SOFTWARE. """ import logging -import sys import numpy as np import pytest @@ -30,30 +29,16 @@ import pyopencl as cl import pyopencl.clmath import pyopencl.clrandom from pymbolic.mapper.evaluator import EvaluationMapper +from pyopencl.tools import ( # noqa: F401 + pytest_generate_tests_for_pyopencl as pytest_generate_tests, +) import loopy as lp +from loopy.version import LOOPY_USE_LANGUAGE_VERSION_2018_2 # noqa: F401 logger = logging.getLogger(__name__) -try: - import faulthandler -except ImportError: - pass -else: - faulthandler.enable() - -from pyopencl.tools import pytest_generate_tests_for_pyopencl as pytest_generate_tests - - -__all__ = [ - "cl", # "cl.create_some_context" - "pytest_generate_tests" -] - - -from loopy.version import LOOPY_USE_LANGUAGE_VERSION_2018_2 # noqa - # {{{ code generator fuzzing @@ -719,6 +704,7 @@ def test_complex_functions_with_real_args(ctx_factory, target): if __name__ == "__main__": + import sys if len(sys.argv) > 1: exec(sys.argv[1]) else: diff --git a/test/test_fortran.py b/test/test_fortran.py index 7a5d73a9..f237ec79 100644 --- a/test/test_fortran.py +++ b/test/test_fortran.py @@ -20,31 +20,22 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. """ - import logging -import sys import numpy as np import pytest import pyopencl as cl import pyopencl.clrandom +from pyopencl.tools import ( # noqa: F401 + pytest_generate_tests_for_pyopencl as pytest_generate_tests, +) import loopy as lp -logger = logging.getLogger(__name__) - -from pyopencl.tools import pytest_generate_tests_for_pyopencl as pytest_generate_tests - - -__all__ = [ - "cl", # "cl.create_some_context" - "pytest_generate_tests" -] - - pytest.importorskip("fparser") +logger = logging.getLogger(__name__) def test_fp_prec_comparison(): @@ -684,6 +675,7 @@ def test_division_in_shapes(ctx_factory): if __name__ == "__main__": + import sys if len(sys.argv) > 1: exec(sys.argv[1]) else: diff --git a/test/test_linalg.py b/test/test_linalg.py index b09b3fb6..6990889b 100644 --- a/test/test_linalg.py +++ b/test/test_linalg.py @@ -74,9 +74,9 @@ def test_axpy(ctx_factory): for dtype, check, a, b in [ (np.complex64, None, 5, 7), - (cltypes.float4, check_float4, # pylint:disable=no-member - cltypes.make_float4(1, 2, 3, 4), # pylint:disable=no-member - cltypes.make_float4(6, 7, 8, 9)), # pylint:disable=no-member + (cl.cltypes.float4, check_float4, # pylint:disable=no-member + cl.cltypes.make_float4(1, 2, 3, 4), # pylint:disable=no-member + cl.cltypes.make_float4(6, 7, 8, 9)), # pylint:disable=no-member (np.float32, None, 5, 7), ]: knl = lp.make_kernel( @@ -162,7 +162,7 @@ def test_plain_matrix_mul(ctx_factory): n = get_suitable_size(ctx) for dtype, check, vec_size in [ - (cltypes.float4, check_float4, 4), # pylint:disable=no-member + (cl.cltypes.float4, check_float4, 4), # pylint:disable=no-member (np.float32, None, 1), ]: knl = lp.make_kernel( diff --git a/test/test_loopy.py b/test/test_loopy.py index 4983d8df..3412238c 100644 --- a/test/test_loopy.py +++ b/test/test_loopy.py @@ -21,7 +21,6 @@ THE SOFTWARE. """ import logging -import sys import numpy as np import pytest @@ -30,30 +29,16 @@ import pyopencl as cl import pyopencl.array import pyopencl.clmath import pyopencl.clrandom +from pyopencl.tools import ( # noqa: F401 + pytest_generate_tests_for_pyopencl as pytest_generate_tests, +) import loopy as lp +from loopy.version import LOOPY_USE_LANGUAGE_VERSION_2018_2 # noqa: F401 logger = logging.getLogger(__name__) -try: - import faulthandler -except ImportError: - pass -else: - faulthandler.enable() - -from pyopencl.tools import pytest_generate_tests_for_pyopencl as pytest_generate_tests - - -__all__ = [ - "cl", # "cl.create_some_context" - "pytest_generate_tests" -] - - -from loopy.version import LOOPY_USE_LANGUAGE_VERSION_2018_2 # noqa - def test_globals_decl_once_with_multi_subprogram(ctx_factory): ctx = ctx_factory() @@ -3725,6 +3710,7 @@ def test_loop_imperfect_nest_priorities_in_v2_scheduler(): if __name__ == "__main__": + import sys if len(sys.argv) > 1: exec(sys.argv[1]) else: diff --git a/test/test_misc.py b/test/test_misc.py index 184b720b..79c7698e 100644 --- a/test/test_misc.py +++ b/test/test_misc.py @@ -21,20 +21,17 @@ THE SOFTWARE. """ import logging -import sys from pickle import dumps, loads import pytest import loopy as lp +from loopy.version import LOOPY_USE_LANGUAGE_VERSION_2018_2 # noqa: F401 logger = logging.getLogger(__name__) -from loopy.version import LOOPY_USE_LANGUAGE_VERSION_2018_2 # noqa - - def test_kernel_pickling_and_hashing(): knl = lp.make_kernel("{[i]: 0<=i<10}", """ @@ -342,6 +339,7 @@ def test_memoize_on_disk_with_pym_expr(): if __name__ == "__main__": + import sys if len(sys.argv) > 1: exec(sys.argv[1]) else: diff --git a/test/test_nbody.py b/test/test_nbody.py index 02dcb174..7d75fe15 100644 --- a/test/test_nbody.py +++ b/test/test_nbody.py @@ -20,28 +20,23 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. """ - import logging import numpy as np -import pyopencl as cl # noqa -from pyopencl.tools import ( # noqa +import pyopencl as cl # noqa: F401 +from pyopencl.tools import ( # noqa: F401 pytest_generate_tests_for_pyopencl as pytest_generate_tests, ) import loopy as lp +from loopy.version import LOOPY_USE_LANGUAGE_VERSION_2018_2 # noqa: F401 logger = logging.getLogger(__name__) -from loopy.version import LOOPY_USE_LANGUAGE_VERSION_2018_2 # noqa - - def test_nbody(ctx_factory): - logging.basicConfig(level=logging.INFO) - dtype = np.float32 ctx = ctx_factory() diff --git a/test/test_numa_diff.py b/test/test_numa_diff.py index 0bc59818..da7b4387 100644 --- a/test/test_numa_diff.py +++ b/test/test_numa_diff.py @@ -23,29 +23,20 @@ THE SOFTWARE. """ import logging -import os -import sys import pytest -import pyopencl as cl +import pyopencl as cl # noqa: F401 +from pyopencl.tools import ( # noqa: F401 + pytest_generate_tests_for_pyopencl as pytest_generate_tests, +) import loopy as lp +from loopy.version import LOOPY_USE_LANGUAGE_VERSION_2018_2 # noqa: F401 logger = logging.getLogger(__name__) -from pyopencl.tools import pytest_generate_tests_for_pyopencl as pytest_generate_tests - - -__all__ = [ - "cl", # 'cl.create_some_context' - "pytest_generate_tests" -] - - -from loopy.version import LOOPY_USE_LANGUAGE_VERSION_2018_2 # noqa - @pytest.mark.parametrize("ilp_multiple", [1, 2]) @pytest.mark.parametrize("Nq", [7]) @@ -59,6 +50,8 @@ def test_gnuma_horiz_kernel(ctx_factory, ilp_multiple, Nq, opt_level): # noqa: # about 400s, cf. https://gitlab.tiker.net/inducer/loopy/-/jobs/421250#L937 pytest.skip("takes a very long time to compile on pocl") + import os + filename = os.path.join(os.path.dirname(__file__), "strongVolumeKernels.f90") with open(filename) as sourcef: source = sourcef.read() @@ -274,6 +267,7 @@ def test_gnuma_horiz_kernel(ctx_factory, ilp_multiple, Nq, opt_level): # noqa: if __name__ == "__main__": + import sys if len(sys.argv) > 1: exec(sys.argv[1]) else: diff --git a/test/test_reduction.py b/test/test_reduction.py index 7b2a98c5..eef8ffa6 100644 --- a/test/test_reduction.py +++ b/test/test_reduction.py @@ -30,30 +30,16 @@ import pyopencl as cl import pyopencl.clmath import pyopencl.clrandom import pyopencl.version +from pyopencl.tools import ( # noqa: F401 + pytest_generate_tests_for_pyopencl as pytest_generate_tests, +) import loopy as lp +from loopy.version import LOOPY_USE_LANGUAGE_VERSION_2018_2 # noqa: F401 logger = logging.getLogger(__name__) -try: - import faulthandler -except ImportError: - pass -else: - faulthandler.enable() - -from pyopencl.tools import pytest_generate_tests_for_pyopencl as pytest_generate_tests - - -__all__ = [ - "cl", # 'cl.create_some_context' - "pytest_generate_tests" -] - - -from loopy.version import LOOPY_USE_LANGUAGE_VERSION_2018_2 # noqa - def test_nonsense_reduction(ctx_factory): diff --git a/test/test_scan.py b/test/test_scan.py index 36deb9f6..f9d55aa9 100644 --- a/test/test_scan.py +++ b/test/test_scan.py @@ -24,7 +24,6 @@ THE SOFTWARE. """ import logging -import sys import numpy as np import pytest @@ -32,34 +31,20 @@ import pytest import pyopencl as cl import pyopencl.clmath import pyopencl.clrandom +from pyopencl.tools import ( # noqa: F401 + pytest_generate_tests_for_pyopencl as pytest_generate_tests, +) import loopy as lp +from loopy.version import LOOPY_USE_LANGUAGE_VERSION_2018_2 # noqa: F401 logger = logging.getLogger(__name__) -try: - import faulthandler -except ImportError: - pass -else: - faulthandler.enable() - -from pyopencl.tools import pytest_generate_tests_for_pyopencl as pytest_generate_tests - - -__all__ = [ - "cl", # 'cl.create_some_context' - "pytest_generate_tests" -] - - -# More things to test. +# TODO: More things to test. # - scan(a) + scan(b) # - test for badly tagged inames -from loopy.version import LOOPY_USE_LANGUAGE_VERSION_2018_2 # noqa - @pytest.mark.parametrize("n", [1, 2, 3, 16]) @pytest.mark.parametrize("stride", [1, 2]) @@ -422,6 +407,7 @@ def test_segmented_scan(ctx_factory, n, segment_boundaries_indices, iname_tag): if __name__ == "__main__": + import sys if len(sys.argv) > 1: exec(sys.argv[1]) else: diff --git a/test/test_statistics.py b/test/test_statistics.py index adaffcbe..ce3f0d0f 100644 --- a/test/test_statistics.py +++ b/test/test_statistics.py @@ -1570,6 +1570,7 @@ def test_within_stats(): if __name__ == "__main__": + import sys if len(sys.argv) > 1: exec(sys.argv[1]) else: diff --git a/test/test_target.py b/test/test_target.py index b0cb5e73..32ca21ed 100644 --- a/test/test_target.py +++ b/test/test_target.py @@ -21,7 +21,6 @@ THE SOFTWARE. """ import logging -import sys import numpy as np import pytest @@ -32,33 +31,19 @@ import pyopencl.clmath import pyopencl.clrandom import pyopencl.tools import pyopencl.version +from pyopencl.tools import ( # noqa: F401 + pytest_generate_tests_for_pyopencl as pytest_generate_tests, +) import loopy as lp from loopy.diagnostic import LoopyError from loopy.target.c import CTarget from loopy.target.opencl import OpenCLTarget +from loopy.version import LOOPY_USE_LANGUAGE_VERSION_2018_2 # noqa: F401 logger = logging.getLogger(__name__) -try: - import faulthandler -except ImportError: - pass -else: - faulthandler.enable() - -from pyopencl.tools import pytest_generate_tests_for_pyopencl as pytest_generate_tests - - -__all__ = [ - "cl", # "cl.create_some_context" - "pytest_generate_tests" -] - - -from loopy.version import LOOPY_USE_LANGUAGE_VERSION_2018_2 # noqa - def test_ispc_target(): from loopy.target.ispc import ISPCTarget @@ -868,6 +853,7 @@ def test_cl_vectorize_ternary(ctx_factory): if __name__ == "__main__": + import sys if len(sys.argv) > 1: exec(sys.argv[1]) else: diff --git a/test/test_transform.py b/test/test_transform.py index 4c42b4dc..a4d04e61 100644 --- a/test/test_transform.py +++ b/test/test_transform.py @@ -21,7 +21,6 @@ THE SOFTWARE. """ import logging -import sys import numpy as np import pytest @@ -29,31 +28,17 @@ import pytest import pyopencl as cl import pyopencl.clmath import pyopencl.clrandom +from pyopencl.tools import ( # noqa: F401 + pytest_generate_tests_for_pyopencl as pytest_generate_tests, +) from pytools.tag import Tag import loopy as lp +from loopy.version import LOOPY_USE_LANGUAGE_VERSION_2018_2 # noqa: F401 logger = logging.getLogger(__name__) -try: - import faulthandler -except ImportError: - pass -else: - faulthandler.enable() - -from pyopencl.tools import pytest_generate_tests_for_pyopencl as pytest_generate_tests - - -__all__ = [ - "cl", # "cl.create_some_context" - "pytest_generate_tests" -] - - -from loopy.version import LOOPY_USE_LANGUAGE_VERSION_2018_2 # noqa - # {{{ ContainsFloorDiv @@ -1760,6 +1745,7 @@ def test_duplicate_iname_not_read_only_nested(ctx_factory): if __name__ == "__main__": + import sys if len(sys.argv) > 1: exec(sys.argv[1]) else: -- GitLab