aboutsummaryrefslogtreecommitdiff
path: root/run_unittests.py
diff options
context:
space:
mode:
authorNirbheek Chauhan <nirbheek@centricular.com>2019-04-13 11:25:58 +0530
committerJussi Pakkanen <jpakkane@gmail.com>2019-04-13 22:53:33 +0300
commit10468b3a28836bc2f8e60cb27af7a7b1c30dc189 (patch)
treedc2cb6db242169d26da540a13aeca1c55bfad48d /run_unittests.py
parentc04651fe241ebaa4a32e49590416b0bbabebc5fa (diff)
downloadmeson-10468b3a28836bc2f8e60cb27af7a7b1c30dc189.zip
meson-10468b3a28836bc2f8e60cb27af7a7b1c30dc189.tar.gz
meson-10468b3a28836bc2f8e60cb27af7a7b1c30dc189.tar.bz2
interpreter: Warn when environment() ops are overriden
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 99e3c49..156e4b8 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.')