Skip to content

Commit f9dfd91

Browse files
committed
Fix running mx graalpytest with CPython
1 parent 7462923 commit f9dfd91

File tree

1 file changed

+15
-8
lines changed

1 file changed

+15
-8
lines changed

mx.graalpython/mx_graalpython.py

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1096,21 +1096,28 @@ def graalpytest(args):
10961096
parser.add_argument('--python')
10971097
args, unknown_args = parser.parse_known_args(args)
10981098

1099+
env = extend_os_env(
1100+
MX_GRAALPYTEST='1',
1101+
PYTHONHASHSEED='0',
1102+
)
1103+
10991104
cmd_args = []
11001105
# if we got a binary path it's most likely CPython, so don't add graalpython args
1106+
is_graalpy = False
11011107
if not args.python:
1108+
is_graalpy = True
11021109
cmd_args += ["--experimental-options=true", "--python.EnableDebuggingBuiltins"]
1103-
elif 'graalpy' in os.path.basename(args.python):
1110+
elif 'graalpy' in os.path.basename(args.python) or 'mxbuild' in args.python:
1111+
is_graalpy = True
11041112
gp_args = ["--vm.ea", "--vm.esa", "--experimental-options=true", "--python.EnableDebuggingBuiltins"]
11051113
mx.log(f"Executable seems to be GraalPy, prepending arguments: {gp_args}")
11061114
cmd_args += gp_args
11071115
cmd_args += [_python_test_runner(), *unknown_args]
1108-
env = extend_os_env(
1109-
MX_GRAALPYTEST='1',
1110-
PYTHONHASHSEED='0',
1111-
PYTHONPATH=os.path.join(_dev_pythonhome(), 'lib-python', '3'),
1112-
)
11131116
delete_bad_env_keys(env)
1117+
if is_graalpy:
1118+
pythonpath = [os.path.join(_dev_pythonhome(), 'lib-python', '3')]
1119+
pythonpath += [p for p in env.get('PYTHONPATH', '').split(os.pathsep) if p]
1120+
env['PYTONPATH'] = os.pathsep.join(pythonpath)
11141121
if args.python:
11151122
return mx.run([args.python] + cmd_args, nonZeroIsFatal=True, env=env)
11161123
else:
@@ -1216,7 +1223,7 @@ def run_python_unittests(python_binary, args=None, paths=None, aot_compatible=Fa
12161223
if paths is not None:
12171224
args += paths
12181225
else:
1219-
args.append('.')
1226+
args.append(os.path.relpath(SUITE.dir))
12201227

12211228
mx.logv(shlex.join([python_binary] + args))
12221229
if lock:
@@ -1338,7 +1345,7 @@ def run_tagged_unittests(python_binary, env=None, cwd=None, nonZeroIsFatal=True,
13381345
run_python_unittests(
13391346
python_binary,
13401347
runner_args=['--tagged'],
1341-
paths=['.'],
1348+
paths=[os.path.relpath(SUITE.dir)],
13421349
env=sub_env,
13431350
cwd=cwd,
13441351
nonZeroIsFatal=nonZeroIsFatal,

0 commit comments

Comments
 (0)