From 2eb6c64a8aaadd36f0ad920feb1cd712e7fc8b90 Mon Sep 17 00:00:00 2001 From: Kaushik Kulkarni <kaushikcfd@gmail.com> Date: Tue, 29 Jun 2021 09:11:58 -0500 Subject: [PATCH] don't stringify PyOpenCLArrayContext, rather let the sub-classes implement it --- arraycontext/pytest.py | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/arraycontext/pytest.py b/arraycontext/pytest.py index 33783e6..e93a8b3 100644 --- a/arraycontext/pytest.py +++ b/arraycontext/pytest.py @@ -69,13 +69,6 @@ class PytestPyOpenCLArrayContextFactory: def __call__(self) -> ArrayContext: raise NotImplementedError - def __str__(self): - return ("<%s for <pyopencl.Device '%s' on '%s'>" % - ( - self.actx_class.__name__, - self.device.name.strip(), - self.device.platform.name.strip())) - class _PytestPyOpenCLArrayContextFactoryWithClass(PytestPyOpenCLArrayContextFactory): force_device_scalars = True @@ -96,6 +89,13 @@ class _PytestPyOpenCLArrayContextFactoryWithClass(PytestPyOpenCLArrayContextFact queue, force_device_scalars=self.force_device_scalars) + def __str__(self): + return ("<%s for <pyopencl.Device '%s' on '%s'>>" % + ( + self.actx_class.__name__, + self.device.name.strip(), + self.device.platform.name.strip())) + class _PytestPyOpenCLArrayContextFactoryWithClassAndHostScalars( _PytestPyOpenCLArrayContextFactoryWithClass): @@ -117,8 +117,13 @@ class _PytestPytatoPyOpenCLArrayContextFactory( # On some implementations (notably Intel CPU), holding a reference # to a queue does not keep the context alive. ctx, queue = self.get_command_queue() - return self.actx_class( - queue) + return self.actx_class(queue) + + def __str__(self): + return ("<PytatoPyOpenCLArrayContext for <pyopencl.Device '%s' on '%s'>>" % + ( + self.device.name.strip(), + self.device.platform.name.strip())) _ARRAY_CONTEXT_FACTORY_REGISTRY: \ -- GitLab