summaryrefslogtreecommitdiff
path: root/run_unittests.py
diff options
context:
space:
mode:
authorNirbheek Chauhan <nirbheek@centricular.com>2019-04-13 11:25:58 +0530
committerNirbheek Chauhan <nirbheek@centricular.com>2019-04-13 11:25:58 +0530
commit26cb9bb8df0d1a759d4d62abf0877e5fe3fd6bf6 (patch)
tree0bc1389fc92ce3e5f3e11f1da8951b236d0e768a /run_unittests.py
parenteaed4aecbe218018feed73192e6fc25e54034d53 (diff)
downloadmeson-warn-env-ops-dont-stack.tar.gz
interpreter: Warn when environment() ops are overridenwarn-env-ops-dont-stack
Warn when someone tries to use append() or prepend() on an env var which already has an operation set on it. People seem to think that multiple append/prepend operations stack, but they don't. Closes https://github.com/mesonbuild/meson/issues/5087
Diffstat (limited to 'run_unittests.py')
-rwxr-xr-xrun_unittests.py11
1 files changed, 11 insertions, 0 deletions
diff --git a/run_unittests.py b/run_unittests.py
index 99e3c49d1..156e4b856 100755
--- a/run_unittests.py
+++ b/run_unittests.py
@@ -1672,6 +1672,17 @@ class AllPlatformTests(BasePlatformTests):
self.build()
self.run_tests()
+ def test_env_ops_dont_stack(self):
+ '''
+ Test that env ops prepend/append do not stack, and that this usage issues a warning
+ '''
+ testdir = os.path.join(self.unit_test_dir, '59 test env doesn\'t stack')
+ out = self.init(testdir)
+ self.assertRegex(out, r'WARNING: Overriding.*TEST_VAR_APPEND')
+ self.assertRegex(out, r'WARNING: Overriding.*TEST_VAR_PREPEND')
+ self.assertNotRegex(out, r'WARNING: Overriding.*TEST_VAR_SET')
+ self.run_tests()
+
def test_testsetups(self):
if not shutil.which('valgrind'):
raise unittest.SkipTest('Valgrind not installed.')