diff --git a/pyopencl/tools.py b/pyopencl/tools.py
index 109e0be0ae39a8f085dd86d470569d7cb8c79e1a..461b2138e58fbb228798b2a157d75388e38838b4 100644
--- a/pyopencl/tools.py
+++ b/pyopencl/tools.py
@@ -286,8 +286,15 @@ def pytest_generate_tests_for_pyopencl(metafunc):
 
             arg_values.append(tuple(arg_dict[name] for name in arg_names))
 
+    def idfn(val):
+        if isinstance(val, cl.Platform):
+            # Don't show address, so that parallel test collection works
+            return f"<pyopencl.Platform '{val.name}'>"
+        else:
+            return str(val)
+
     if arg_names:
-        metafunc.parametrize(arg_names, arg_values, ids=str)
+        metafunc.parametrize(arg_names, arg_values, ids=idfn)
 
 
 # {{{ C argument lists