From c86c557e2f03e5f9ea2c911df4fb25399af780cd Mon Sep 17 00:00:00 2001 From: Valeriu Predoi Date: Fri, 4 Dec 2020 13:32:35 +0000 Subject: [PATCH 1/2] include script args in quotes for vprof --- esmvalcore/_task.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/esmvalcore/_task.py b/esmvalcore/_task.py index 48cd4b06e8..32a96ee7d2 100644 --- a/esmvalcore/_task.py +++ b/esmvalcore/_task.py @@ -478,7 +478,8 @@ def _run(self, input_files): else: if self.settings['profile_diagnostic']: script_file = cmd.pop() - combo_with_settings = script_file + ' ' + str(settings_file) + combo_with_settings = ().join(['"', script_file, ' ', + str(settings_file), '"']) cmd.append(combo_with_settings) else: cmd.append(settings_file) From e41bf5854f7f71234ed3ef040ac77494918e2ece Mon Sep 17 00:00:00 2001 From: Valeriu Predoi Date: Fri, 4 Dec 2020 14:18:06 +0000 Subject: [PATCH 2/2] actual fixing the problem at hand not faffing about --- esmvalcore/_task.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/esmvalcore/_task.py b/esmvalcore/_task.py index 32a96ee7d2..9a03ae4278 100644 --- a/esmvalcore/_task.py +++ b/esmvalcore/_task.py @@ -435,7 +435,11 @@ def _start_diagnostic_script(self, cmd, env): rerun_msg = 'cd {}; '.format(cwd) if env: rerun_msg += ' '.join('{}="{}"'.format(k, env[k]) for k in env) - rerun_msg += ' ' + ' '.join(cmd) + if "vprof" in cmd: + script_args = ' "' + cmd[-1] + '"' + rerun_msg += ' ' + ' '.join(cmd[:-1]) + script_args + else: + rerun_msg += ' ' + ' '.join(cmd) logger.info("To re-run this diagnostic script, run:\n%s", rerun_msg) complete_env = dict(os.environ) @@ -478,8 +482,7 @@ def _run(self, input_files): else: if self.settings['profile_diagnostic']: script_file = cmd.pop() - combo_with_settings = ().join(['"', script_file, ' ', - str(settings_file), '"']) + combo_with_settings = script_file + ' ' + str(settings_file) cmd.append(combo_with_settings) else: cmd.append(settings_file)