aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAleksey Filippov <alekseyf@google.com>2018-03-21 01:20:58 +0000
committerNirbheek Chauhan <nirbheek@centricular.com>2018-03-22 01:01:55 +0530
commit17c402f708ff8edef83924fbb2f4c2fc32e1a827 (patch)
tree03f35dbfdc33778fc7a631b5e94d2a82c22aeab6
parentdebe99d76eb3df5408a74b4cd395f87950fe0b21 (diff)
downloadmeson-17c402f708ff8edef83924fbb2f4c2fc32e1a827.zip
meson-17c402f708ff8edef83924fbb2f4c2fc32e1a827.tar.gz
meson-17c402f708ff8edef83924fbb2f4c2fc32e1a827.tar.bz2
Add unittests for b_ndebug=if-release and buildtype interactions
-rwxr-xr-xrun_unittests.py14
-rw-r--r--test cases/unit/25 ndebug if-release/main.c11
-rw-r--r--test cases/unit/25 ndebug if-release/meson.build3
3 files changed, 28 insertions, 0 deletions
diff --git a/run_unittests.py b/run_unittests.py
index 06146c2..ef19383 100755
--- a/run_unittests.py
+++ b/run_unittests.py
@@ -1832,6 +1832,20 @@ int main(int argc, char **argv) {
self.init(testdir, ['--cross-file=' + name], inprocess=True)
self.wipe()
+ def test_ndebug_if_release_disabled(self):
+ testdir = os.path.join(self.unit_test_dir, '25 ndebug if-release')
+ self.init(testdir, extra_args=['--buildtype=release', '-Db_ndebug=if-release'])
+ self.build()
+ exe = os.path.join(self.builddir, 'main')
+ self.assertEqual(b'NDEBUG=1', subprocess.check_output(exe).strip())
+
+ def test_ndebug_if_release_enabled(self):
+ testdir = os.path.join(self.unit_test_dir, '25 ndebug if-release')
+ self.init(testdir, extra_args=['--buildtype=debugoptimized', '-Db_ndebug=if-release'])
+ self.build()
+ exe = os.path.join(self.builddir, 'main')
+ self.assertEqual(b'NDEBUG=0', subprocess.check_output(exe).strip())
+
class FailureTests(BasePlatformTests):
'''
diff --git a/test cases/unit/25 ndebug if-release/main.c b/test cases/unit/25 ndebug if-release/main.c
new file mode 100644
index 0000000..70b3d04
--- /dev/null
+++ b/test cases/unit/25 ndebug if-release/main.c
@@ -0,0 +1,11 @@
+#include <stdio.h>
+#include <stdlib.h>
+
+int main(void) {
+#ifdef NDEBUG
+ printf("NDEBUG=1\n");
+#else
+ printf("NDEBUG=0\n");
+#endif
+ return 0;
+}
diff --git a/test cases/unit/25 ndebug if-release/meson.build b/test cases/unit/25 ndebug if-release/meson.build
new file mode 100644
index 0000000..4af2406
--- /dev/null
+++ b/test cases/unit/25 ndebug if-release/meson.build
@@ -0,0 +1,3 @@
+project('ndebug enabled', 'c')
+
+executable('main', 'main.c')