Skip to content

Commit 0c949e7

Browse files
committed
Add warn_exists parameter also to append_paths
1 parent beeceed commit 0c949e7

File tree

2 files changed

+10
-6
lines changed

2 files changed

+10
-6
lines changed

easybuild/tools/module_generator.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -241,7 +241,7 @@ def _filter_paths(self, key, paths, warn_exists=True):
241241
filtered_paths = None
242242
return filtered_paths
243243

244-
def append_paths(self, key, paths, allow_abs=False, expand_relpaths=True, delim=':'):
244+
def append_paths(self, key, paths, allow_abs=False, expand_relpaths=True, delim=':', warn_exists=True):
245245
"""
246246
Generate append-path statements for the given list of paths.
247247
@@ -250,8 +250,9 @@ def append_paths(self, key, paths, allow_abs=False, expand_relpaths=True, delim=
250250
:param allow_abs: allow providing of absolute paths
251251
:param expand_relpaths: expand relative paths into absolute paths (by prefixing install dir)
252252
:param delim: delimiter used between paths
253+
:param warn_exists: Show a warning if any path was already added to the variable
253254
"""
254-
paths = self._filter_paths(key, paths)
255+
paths = self._filter_paths(key, paths, warn_exists=warn_exists)
255256
if paths is None:
256257
return ''
257258
return self.update_paths(key, paths, prepend=False, allow_abs=allow_abs, expand_relpaths=expand_relpaths,

test/framework/module_generator.py

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -782,13 +782,16 @@ def append_paths(*args, **kwargs):
782782
# check for warning that is printed when same path is added multiple times
783783
with self.modgen.start_module_creation():
784784
self.modgen.append_paths('TEST', 'path1')
785-
self.mock_stderr(True)
786-
self.modgen.append_paths('TEST', 'path1')
787-
stderr = self.get_stderr()
788-
self.mock_stderr(False)
785+
with self.mocked_stdout_stderr():
786+
self.modgen.append_paths('TEST', 'path1')
787+
stderr = self.get_stderr()
789788
expected_warning = "\nWARNING: Suppressed adding the following path(s) to $TEST of the module "
790789
expected_warning += "as they were already added: path1\n\n"
791790
self.assertEqual(stderr, expected_warning)
791+
with self.mocked_stdout_stderr():
792+
self.modgen.append_paths('TEST', 'path1', warn_exists=False)
793+
stderr = self.get_stderr()
794+
self.assertEqual(stderr, '')
792795

793796
def test_module_extensions(self):
794797
"""test the extensions() for extensions"""

0 commit comments

Comments
 (0)