From c6642ac7edae16337da5e76255f3b542222fd1e0 Mon Sep 17 00:00:00 2001 From: Mick Jordan <mick.jordan@oracle.com> Date: Mon, 27 Mar 2017 16:50:06 -0700 Subject: [PATCH] =?UTF-8?q?pkgtest:=20ensure=20path=20to=20=E2=80=98R?= =?UTF-8?q?=E2=80=99=20is=20on=20PATH?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mx.fastr/mx_fastr_pkgs.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/mx.fastr/mx_fastr_pkgs.py b/mx.fastr/mx_fastr_pkgs.py index f45348f89c..9a489fd72b 100644 --- a/mx.fastr/mx_fastr_pkgs.py +++ b/mx.fastr/mx_fastr_pkgs.py @@ -106,6 +106,13 @@ def _packages_test_project(): def _packages_test_project_dir(): return mx.project(_packages_test_project()).dir +def _ensure_R_on_PATH(env, bindir): + ''' + Some packages (e.g. stringi) require that 'R' is actually on the PATH + ''' + env['PATH'] = join(bindir) + os.pathsep + os.environ['PATH'] + + def installpkgs(args): _installpkgs(args) @@ -120,10 +127,18 @@ def _installpkgs(args, **kwargs): by the FASTR_GRAALVM environment variable, we can't use mx to invoke FastR, but instead have to invoke the command directly. ''' + if kwargs.has_key('env'): + env = kwargs['env'] + else: + env = os.environ.copy() + kwargs['env'] = env + script = _installpkgs_script() if _graalvm() is None: + _ensure_R_on_PATH(env, join(_fastr_suite_dir(), 'bin')) return mx_fastr.rscript([script] + args, **kwargs) else: + _ensure_R_on_PATH(env, os.path.dirname(_graalvm_rscript())) return mx.run([_graalvm_rscript(), script] + args, **kwargs) @@ -352,8 +367,10 @@ def _gnur_install_test(forwarded_args, pkgs, gnur_libinstall, gnur_install_tmp): args += ['--testdir', 'test.gnur'] _log_step('BEGIN', 'install/test', 'GnuR') if _graalvm(): + _ensure_R_on_PATH(env, os.path.dirname(_gnur_rscript())) mx.run(args, nonZeroIsFatal=False, env=env) else: + _ensure_R_on_PATH(env, mx_fastr._gnur_path()) mx_fastr.gnu_rscript(args, env=env) _log_step('END', 'install/test', 'GnuR') -- GitLab