Skip to content

Commit 3ce7693

Browse files
authored
Merge pull request #10 from boegel/modextra-envars
rename `shell_vars` options in `modextravars` to `resolve_env_vars` (+ rename `DEFAULT_MODEXTRAVARS*` constants in `ModuleGenerator` class)
2 parents b3842b4 + db919e4 commit 3ce7693

File tree

2 files changed

+20
-20
lines changed

2 files changed

+20
-20
lines changed

easybuild/tools/module_generator.py

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -138,8 +138,8 @@ class ModuleGenerator:
138138
REGEX_QUOTE_SHELL_VAR = re.compile(rf'[\"\']\$({REGEX_SHELL_VAR_PATTERN})[\"\']')
139139

140140
# default options for modextravars
141-
DEFAULT_MODEXTRAVARS_PUSHENV = False
142-
DEFAULT_MODEXTRAVARS_SHELL_VARS = True
141+
DEFAULT_MODEXTRAVARS_USE_PUSHENV = False
142+
DEFAULT_MODEXTRAVARS_RESOLVE_ENV_VARS = True
143143

144144
def __init__(self, application, fake=False):
145145
"""ModuleGenerator constructor."""
@@ -443,15 +443,15 @@ def _unpack_setenv_value(self, env_var_name, env_var_val):
443443
"""
444444
Unpack value that specifies how to define an environment variable with specified name.
445445
"""
446-
use_pushenv = self.DEFAULT_MODEXTRAVARS_PUSHENV
447-
resolve_shell_vars = self.DEFAULT_MODEXTRAVARS_SHELL_VARS
446+
use_pushenv = self.DEFAULT_MODEXTRAVARS_USE_PUSHENV
447+
resolve_env_vars = self.DEFAULT_MODEXTRAVARS_RESOLVE_ENV_VARS
448448

449449
# value may be specified as a string, or as a dict for special cases
450450
if isinstance(env_var_val, str):
451451
value = env_var_val
452452
elif isinstance(env_var_val, dict):
453-
use_pushenv = env_var_val.get('pushenv', self.DEFAULT_MODEXTRAVARS_PUSHENV)
454-
resolve_shell_vars = env_var_val.get('shell_vars', self.DEFAULT_MODEXTRAVARS_SHELL_VARS)
453+
use_pushenv = env_var_val.get('pushenv', self.DEFAULT_MODEXTRAVARS_USE_PUSHENV)
454+
resolve_env_vars = env_var_val.get('resolve_env_vars', self.DEFAULT_MODEXTRAVARS_RESOLVE_ENV_VARS)
455455
try:
456456
value = env_var_val['value']
457457
except KeyError as err:
@@ -461,7 +461,7 @@ def _unpack_setenv_value(self, env_var_name, env_var_val):
461461
raise EasyBuildError("Incorrect value type for setting $%s environment variable (%s): %s",
462462
env_var_name, type(env_var_val), env_var_val)
463463

464-
return value, use_pushenv, resolve_shell_vars
464+
return value, use_pushenv, resolve_env_vars
465465

466466
# From this point on just not implemented methods
467467

@@ -1074,12 +1074,12 @@ def set_environment(self, key, value, relpath=False):
10741074
self.log.info("Not including statement to define environment variable $%s, as specified", key)
10751075
return ''
10761076

1077-
set_value, use_pushenv, resolve_shell_vars = self._unpack_setenv_value(key, value)
1077+
set_value, use_pushenv, resolve_env_vars = self._unpack_setenv_value(key, value)
10781078

10791079
if relpath:
10801080
set_value = os.path.join('$root', set_value) if set_value else '$root'
10811081

1082-
if resolve_shell_vars:
1082+
if resolve_env_vars:
10831083
set_value = self.REGEX_SHELL_VAR.sub(r'$::env(\1)', set_value)
10841084

10851085
# quotes are needed, to ensure smooth working of EBDEVEL* modulefiles
@@ -1546,16 +1546,16 @@ def set_environment(self, key, value, relpath=False):
15461546
self.log.info("Not including statement to define environment variable $%s, as specified", key)
15471547
return ''
15481548

1549-
set_value, use_pushenv, resolve_shell_vars = self._unpack_setenv_value(key, value)
1549+
set_value, use_pushenv, resolve_env_vars = self._unpack_setenv_value(key, value)
15501550

15511551
if relpath:
15521552
set_value = self._path_join_cmd(set_value)
1553-
if resolve_shell_vars:
1553+
if resolve_env_vars:
15541554
# replace quoted substring with env var with os.getenv statement
15551555
# example: pathJoin(root, "$HOME") -> pathJoin(root, os.getenv("HOME"))
15561556
set_value = self.REGEX_QUOTE_SHELL_VAR.sub(self.OS_GETENV_TEMPLATE % r"\1", set_value)
15571557
else:
1558-
if resolve_shell_vars:
1558+
if resolve_env_vars:
15591559
# replace env var with os.getenv statement
15601560
# example: $HOME -> os.getenv("HOME")
15611561
concat_getenv = self.CONCAT_STR + self.OS_GETENV_TEMPLATE % r"\1" + self.CONCAT_STR

test/framework/module_generator.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -990,21 +990,21 @@ def test_env(self):
990990
({'value': 'value',
991991
'pushenv': False}, False, 'setenv\tkey\t\t"value"\n', 'setenv("key", "value")\n'), # noqa
992992
({'value': "$VAR",
993-
'shell_vars': True}, False, 'setenv\tkey\t\t"$::env(VAR)"\n', 'setenv("key", os.getenv("VAR"))\n'), # noqa
993+
'resolve_env_vars': True}, False, 'setenv\tkey\t\t"$::env(VAR)"\n', 'setenv("key", os.getenv("VAR"))\n'), # noqa
994994
({'value': "$VAR",
995-
'shell_vars': True}, True, 'setenv\tkey\t\t"$root/$::env(VAR)"\n', 'setenv("key", pathJoin(root, os.getenv("VAR")))\n'), # noqa
995+
'resolve_env_vars': True}, True, 'setenv\tkey\t\t"$root/$::env(VAR)"\n', 'setenv("key", pathJoin(root, os.getenv("VAR")))\n'), # noqa
996996
({'value': "$VAR",
997-
'shell_vars': False}, False, 'setenv\tkey\t\t"$VAR"\n', 'setenv("key", "$VAR")\n'), # noqa
997+
'resolve_env_vars': False}, False, 'setenv\tkey\t\t"$VAR"\n', 'setenv("key", "$VAR")\n'), # noqa
998998
({'value': "$VAR",
999-
'shell_vars': False}, True, 'setenv\tkey\t\t"$root/$VAR"\n', 'setenv("key", pathJoin(root, "$VAR"))\n'), # noqa
999+
'resolve_env_vars': False}, True, 'setenv\tkey\t\t"$root/$VAR"\n', 'setenv("key", pathJoin(root, "$VAR"))\n'), # noqa
10001000
({'value': "path/$VAR/dir",
1001-
'shell_vars': True}, False, 'setenv\tkey\t\t"path/$::env(VAR)/dir"\n', 'setenv("key", "path/" .. os.getenv("VAR") .. "/dir")\n'), # noqa
1001+
'resolve_env_vars': True}, False, 'setenv\tkey\t\t"path/$::env(VAR)/dir"\n', 'setenv("key", "path/" .. os.getenv("VAR") .. "/dir")\n'), # noqa
10021002
({'value': "path/$VAR/dir",
1003-
'shell_vars': True}, True, 'setenv\tkey\t\t"$root/path/$::env(VAR)/dir"\n', 'setenv("key", pathJoin(root, "path", os.getenv("VAR"), "dir"))\n'), # noqa
1003+
'resolve_env_vars': True}, True, 'setenv\tkey\t\t"$root/path/$::env(VAR)/dir"\n', 'setenv("key", pathJoin(root, "path", os.getenv("VAR"), "dir"))\n'), # noqa
10041004
({'value': "path/$VAR/dir",
1005-
'shell_vars': False}, False, 'setenv\tkey\t\t"path/$VAR/dir"\n', 'setenv("key", "path/$VAR/dir")\n'), # noqa
1005+
'resolve_env_vars': False}, False, 'setenv\tkey\t\t"path/$VAR/dir"\n', 'setenv("key", "path/$VAR/dir")\n'), # noqa
10061006
({'value': "path/$VAR/dir",
1007-
'shell_vars': False}, True, 'setenv\tkey\t\t"$root/path/$VAR/dir"\n', 'setenv("key", pathJoin(root, "path", "$VAR", "dir"))\n'), # noqa
1007+
'resolve_env_vars': False}, True, 'setenv\tkey\t\t"$root/path/$VAR/dir"\n', 'setenv("key", pathJoin(root, "path", "$VAR", "dir"))\n'), # noqa
10081008
)
10091009
# test set_environment
10101010
for test_value, test_relpath, ref_tcl, ref_lua in collection:

0 commit comments

Comments
 (0)