From 266a6916a29c78e687c6906ddb4a6a48232c1da3 Mon Sep 17 00:00:00 2001 From: Takuya Ueshin Date: Tue, 27 Jan 2026 17:05:21 -0800 Subject: [PATCH] Try to use a real module name instead of __main__ --- python/pyspark/testing/unittestutils.py | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/python/pyspark/testing/unittestutils.py b/python/pyspark/testing/unittestutils.py index ffb1ba22c4830..73ed588e34a6c 100644 --- a/python/pyspark/testing/unittestutils.py +++ b/python/pyspark/testing/unittestutils.py @@ -19,7 +19,10 @@ import unittest -def main(module="__main__", output="target/test-reports"): +def main(module=None, output="target/test-reports"): + if module is None: + module = _real_module_name() + try: import xmlrunner @@ -41,3 +44,12 @@ def main(module="__main__", output="target/test-reports"): sys.exit(0) else: unittest.main(module=module, testRunner=testRunner, verbosity=2) + + +def _real_module_name(): + mod = sys.modules["__main__"] + # When invoked with `-m`, __spec__.name has the real module name. + spec = getattr(mod, "__spec__", None) + if spec and spec.name: + return spec.name + return "__main__"