aboutsummaryrefslogtreecommitdiff
path: root/run_unittests.py
diff options
context:
space:
mode:
authorDylan Baker <dylan@pnwbakers.com>2021-02-16 10:48:20 -0800
committerJussi Pakkanen <jpakkane@gmail.com>2021-02-17 14:46:15 +0200
commit10d94a12b85ba19dc2bcfc6296632eaf74f5d4f0 (patch)
tree5c3d1544f8870c004bcc7cb91adddfa2968363cd /run_unittests.py
parent7812ceec5fe6147bfe8a5a265b58db1282d2cabc (diff)
downloadmeson-10d94a12b85ba19dc2bcfc6296632eaf74f5d4f0.zip
meson-10d94a12b85ba19dc2bcfc6296632eaf74f5d4f0.tar.gz
meson-10d94a12b85ba19dc2bcfc6296632eaf74f5d4f0.tar.bz2
Environment: Fix passing envrionment variables CPPFLAGS and CFLAGS
Or other language flags that use CPPFLAGS (like CXXFLAGS). The problem here is actually rather simple, `dict.setdefault()` doesn't work like I thought it did, I thought it created a weak entry, but it actually is equivalent to: ```python if k not in dict: dict[k] = v ``` Instead we'll use an intermediate dictionary (a default dictionary actually, since that makes things a little cleaner) and then add the keys from that dict to self.options as applicable. Test case written by Jussi, Fix by Dylan Co-authored-by: Jussi Pakkanen Fixes: #8361 Fixes: #8345
Diffstat (limited to 'run_unittests.py')
-rwxr-xr-xrun_unittests.py8
1 files changed, 8 insertions, 0 deletions
diff --git a/run_unittests.py b/run_unittests.py
index 0bd6d4b..3aa1cb3 100755
--- a/run_unittests.py
+++ b/run_unittests.py
@@ -5476,6 +5476,14 @@ class AllPlatformTests(BasePlatformTests):
projinfo = self.introspect('--projectinfo')
self.assertEqual(projinfo['version'], '1.0.0')
+ def test_cflags_cppflags(self):
+ envs = {'CPPFLAGS': '-DCPPFLAG',
+ 'CFLAGS': '-DCFLAG',
+ 'CXXFLAGS': '-DCXXFLAG'}
+ srcdir = os.path.join(self.unit_test_dir, '90 multiple envvars')
+ self.init(srcdir, override_envvars=envs)
+ self.build()
+
class FailureTests(BasePlatformTests):
'''