Skip to content

Commit 348b536

Browse files
committed
Fix coverage launcher generation
1 parent 25f34b4 commit 348b536

File tree

1 file changed

+8
-7
lines changed

1 file changed

+8
-7
lines changed

mx.graalpython/mx_graalpython.py

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1022,8 +1022,8 @@ def graalvm_vm_arg(java_arg):
10221022
exe_arg = f"--python.Executable={coverage_launcher}"
10231023
agent_args_list = shlex.split(agent_args)
10241024
extra_args_c = []
1025-
for i, arg in enumerate(agent_args_list):
1026-
extra_args_c.append(f'new_args[{i + 3}] = "' + arg.replace("\"", r"\"") + '";')
1025+
for arg in agent_args_list:
1026+
extra_args_c.append('new_args[arg_index++] = "' + arg.replace("\"", r"\"") + '";')
10271027
extra_args_c = ' '.join(extra_args_c)
10281028
c_code = dedent(f"""\
10291029
#include <stdio.h>
@@ -1032,14 +1032,15 @@ def graalvm_vm_arg(java_arg):
10321032
10331033
int main(int argc, char **argv) {{
10341034
char *new_args[argc + 3 + {len(agent_args_list)}];
1035-
new_args[0] = "{original_launcher}";
1036-
new_args[1] = "--jvm";
1037-
new_args[2] = "{exe_arg}";
1035+
int arg_index = 0;
1036+
new_args[arg_index++] = "{original_launcher}";
1037+
new_args[arg_index++] = "--jvm";
1038+
new_args[arg_index++] = "{exe_arg}";
10381039
{extra_args_c}
10391040
for (int i = 1; i < argc; i++) {{
1040-
new_args[i + 3 + {len(agent_args_list)}] = argv[i];
1041+
new_args[arg_index++] = argv[i];
10411042
}}
1042-
new_args[argc + 3 + {len(agent_args_list)}] = NULL;
1043+
new_args[arg_index] = NULL;
10431044
execvp("{original_launcher}", new_args);
10441045
perror("execvp failed");
10451046
return 1;

0 commit comments

Comments
 (0)