From b1725dc19ec7af95ca2522cc4f0cc5b12c7b8e6f Mon Sep 17 00:00:00 2001 From: Frederik Hennig <frederik.hennig@fau.de> Date: Tue, 10 Dec 2024 11:49:07 +0100 Subject: [PATCH] delete redudant code and remove deprecated stuff from coverage --- pytest.ini | 4 ++++ src/pystencils/_deprecation.py | 1 + src/pystencils/codegen/config.py | 4 ++-- src/pystencils/codegen/driver.py | 25 ------------------------- src/pystencils/codegen/kernel.py | 8 ++++---- src/pystencils/codegen/parameters.py | 8 ++++---- 6 files changed, 15 insertions(+), 35 deletions(-) diff --git a/pytest.ini b/pytest.ini index b43b0f00c..281eaa21e 100644 --- a/pytest.ini +++ b/pytest.ini @@ -40,6 +40,7 @@ omit = doc/* src/pystencils/cache.py src/pystencils/pacxx/benchmark.py src/pystencils/_version.py + src/pystencils/_deprecation.py src/pystencils/old venv/ @@ -62,6 +63,9 @@ exclude_lines = if False: if __name__ == .__main__.: + # Don't cover type checking imports + if TYPE_CHECKING: + skip_covered = True fail_under = 80 diff --git a/src/pystencils/_deprecation.py b/src/pystencils/_deprecation.py index 29ee648a7..68218f0ae 100644 --- a/src/pystencils/_deprecation.py +++ b/src/pystencils/_deprecation.py @@ -5,4 +5,5 @@ def _deprecated(feature, instead, version="2.1"): f"{feature} is deprecated and will be removed in pystencils {version}." f"Use {instead} instead.", DeprecationWarning, + stacklevel=2 ) diff --git a/src/pystencils/codegen/config.py b/src/pystencils/codegen/config.py index b6567e74a..9bd9cc9a3 100644 --- a/src/pystencils/codegen/config.py +++ b/src/pystencils/codegen/config.py @@ -428,7 +428,7 @@ class CreateKernelConfig: cpu_openmp: bool | int | None, cpu_vectorize_info: dict | None, gpu_indexing_params: dict | None, - ): + ): # pragma: no cover optim: CpuOptimConfig | None = None if data_type is not None: @@ -527,7 +527,7 @@ class CreateKernelConfig: ) -def _deprecated_option(name, instead): +def _deprecated_option(name, instead): # pragma: no cover from warnings import warn warn( diff --git a/src/pystencils/codegen/driver.py b/src/pystencils/codegen/driver.py index f7836ea79..62a3f44db 100644 --- a/src/pystencils/codegen/driver.py +++ b/src/pystencils/codegen/driver.py @@ -371,31 +371,6 @@ class DefaultKernelCreationDriver: f"Code generation for target {self._target} not implemented" ) - def _get_function_params(self, symbols: Iterable[PsSymbol]): - params: list[Parameter] = [] - - from pystencils.backend.memory import BufferBasePtr - - for symb in symbols: - props: set[PsSymbolProperty] = set() - for prop in symb.properties: - match prop: - case FieldShape() | FieldStride(): - props.add(prop) - case BufferBasePtr(buf): - field = self._ctx.find_field(buf.name) - props.add(FieldBasePtr(field)) - params.append(Parameter(symb.name, symb.get_dtype(), props)) - - params.sort(key=lambda p: p.name) - return params - - def _get_headers(self, body: PsBlock): - req_headers = collect_required_headers(body) - req_headers |= self._platform.required_headers - req_headers |= self._ctx.required_headers - return req_headers - def create_cpu_kernel_function( ctx: KernelCreationContext, diff --git a/src/pystencils/codegen/kernel.py b/src/pystencils/codegen/kernel.py index c4ad860b6..3adc47876 100644 --- a/src/pystencils/codegen/kernel.py +++ b/src/pystencils/codegen/kernel.py @@ -62,12 +62,12 @@ class Kernel: self._name = n @property - def function_name(self) -> str: + def function_name(self) -> str: # pragma: no cover _deprecated("function_name", "name") return self._name @function_name.setter - def function_name(self, n: str): + def function_name(self, n: str): # pragma: no cover _deprecated("function_name", "name") self._name = n @@ -75,7 +75,7 @@ class Kernel: def parameters(self) -> tuple[Parameter, ...]: return self._params - def get_parameters(self) -> tuple[Parameter, ...]: + def get_parameters(self) -> tuple[Parameter, ...]: # pragma: no cover _deprecated("Kernel.get_parameters", "Kernel.parameters") return self.parameters @@ -83,7 +83,7 @@ class Kernel: return set(chain.from_iterable(p.fields for p in self._params)) @property - def fields_accessed(self) -> set[Field]: + def fields_accessed(self) -> set[Field]: # pragma: no cover warn( "`fields_accessed` is deprecated and will be removed in a future version of pystencils. " "Use `get_fields` instead.", diff --git a/src/pystencils/codegen/parameters.py b/src/pystencils/codegen/parameters.py index d40eae220..d8411266e 100644 --- a/src/pystencils/codegen/parameters.py +++ b/src/pystencils/codegen/parameters.py @@ -97,7 +97,7 @@ class Parameter: # These are kept mostly for the legacy waLBerla code generation system @property - def is_field_pointer(self) -> bool: + def is_field_pointer(self) -> bool: # pragma: no cover warn( "`is_field_pointer` is deprecated and will be removed in a future version of pystencils. " "Use `param.get_properties(FieldBasePtr)` instead.", @@ -106,7 +106,7 @@ class Parameter: return bool(self.get_properties(FieldBasePtr)) @property - def is_field_stride(self) -> bool: + def is_field_stride(self) -> bool: # pragma: no cover warn( "`is_field_stride` is deprecated and will be removed in a future version of pystencils. " "Use `param.get_properties(FieldStride)` instead.", @@ -115,7 +115,7 @@ class Parameter: return bool(self.get_properties(FieldStride)) @property - def is_field_shape(self) -> bool: + def is_field_shape(self) -> bool: # pragma: no cover warn( "`is_field_shape` is deprecated and will be removed in a future version of pystencils. " "Use `param.get_properties(FieldShape)` instead.", @@ -124,7 +124,7 @@ class Parameter: return bool(self.get_properties(FieldShape)) @property - def field_name(self) -> str: + def field_name(self) -> str: # pragma: no cover warn( "`field_name` is deprecated and will be removed in a future version of pystencils. " "Use `param.fields[0].name` instead.", -- GitLab