Skip to content
Snippets Groups Projects
Commit aa8e91bf authored by Lukas Stadler's avatar Lukas Stadler
Browse files

[GR-3370] In pkgtest: ensure path to ‘R’ is on PATH.

parents 9e9144c8 c6642ac7
Branches
No related tags found
No related merge requests found
...@@ -106,6 +106,13 @@ def _packages_test_project(): ...@@ -106,6 +106,13 @@ def _packages_test_project():
def _packages_test_project_dir(): def _packages_test_project_dir():
return mx.project(_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): def installpkgs(args):
_installpkgs(args) _installpkgs(args)
...@@ -120,10 +127,18 @@ def _installpkgs(args, **kwargs): ...@@ -120,10 +127,18 @@ def _installpkgs(args, **kwargs):
by the FASTR_GRAALVM environment variable, we can't use mx to invoke by the FASTR_GRAALVM environment variable, we can't use mx to invoke
FastR, but instead have to invoke the command directly. 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() script = _installpkgs_script()
if _graalvm() is None: if _graalvm() is None:
_ensure_R_on_PATH(env, join(_fastr_suite_dir(), 'bin'))
return mx_fastr.rscript([script] + args, **kwargs) return mx_fastr.rscript([script] + args, **kwargs)
else: else:
_ensure_R_on_PATH(env, os.path.dirname(_graalvm_rscript()))
return mx.run([_graalvm_rscript(), script] + args, **kwargs) return mx.run([_graalvm_rscript(), script] + args, **kwargs)
...@@ -352,8 +367,10 @@ def _gnur_install_test(forwarded_args, pkgs, gnur_libinstall, gnur_install_tmp): ...@@ -352,8 +367,10 @@ def _gnur_install_test(forwarded_args, pkgs, gnur_libinstall, gnur_install_tmp):
args += ['--testdir', 'test.gnur'] args += ['--testdir', 'test.gnur']
_log_step('BEGIN', 'install/test', 'GnuR') _log_step('BEGIN', 'install/test', 'GnuR')
if _graalvm(): if _graalvm():
_ensure_R_on_PATH(env, os.path.dirname(_gnur_rscript()))
mx.run(args, nonZeroIsFatal=False, env=env) mx.run(args, nonZeroIsFatal=False, env=env)
else: else:
_ensure_R_on_PATH(env, mx_fastr._gnur_path())
mx_fastr.gnu_rscript(args, env=env) mx_fastr.gnu_rscript(args, env=env)
_log_step('END', 'install/test', 'GnuR') _log_step('END', 'install/test', 'GnuR')
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment