aboutsummaryrefslogtreecommitdiff
path: root/run_unittests.py
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2018-08-18 20:39:47 +0300
committerGitHub <noreply@github.com>2018-08-18 20:39:47 +0300
commitd83f77109a7ac22da53acfad8f7ff078d929cd9d (patch)
treeba2dc20e3a91379008d6c7c841a4f503d50b5bd8 /run_unittests.py
parent8277d94e24d4382d49289c07ef20ea78d95443e1 (diff)
downloadmeson-d83f77109a7ac22da53acfad8f7ff078d929cd9d.zip
meson-d83f77109a7ac22da53acfad8f7ff078d929cd9d.tar.gz
meson-d83f77109a7ac22da53acfad8f7ff078d929cd9d.tar.bz2
Convert buildtype to optimization and debug options (#3489)
Diffstat (limited to 'run_unittests.py')
-rwxr-xr-xrun_unittests.py35
1 files changed, 35 insertions, 0 deletions
diff --git a/run_unittests.py b/run_unittests.py
index ab5d4b7..ab71882 100755
--- a/run_unittests.py
+++ b/run_unittests.py
@@ -2552,6 +2552,41 @@ recommended as it is not supported on some platforms''')
stdout=subprocess.DEVNULL,
stderr=subprocess.DEVNULL)
+ def get_opts_as_dict(self):
+ result = {}
+ for i in self.introspect('--buildoptions'):
+ result[i['name']] = i['value']
+ return result
+
+ def test_buildtype_setting(self):
+ testdir = os.path.join(self.common_test_dir, '1 trivial')
+ self.init(testdir)
+ opts = self.get_opts_as_dict()
+ self.assertEqual(opts['buildtype'], 'debug')
+ self.assertEqual(opts['debug'], True)
+ self.setconf('-Ddebug=false')
+ opts = self.get_opts_as_dict()
+ self.assertEqual(opts['debug'], False)
+ self.assertEqual(opts['buildtype'], 'plain')
+ self.assertEqual(opts['optimization'], '0')
+
+ # Setting optimizations to 3 should cause buildtype
+ # to go to release mode.
+ self.setconf('-Doptimization=3')
+ opts = self.get_opts_as_dict()
+ self.assertEqual(opts['buildtype'], 'release')
+ self.assertEqual(opts['debug'], False)
+ self.assertEqual(opts['optimization'], '3')
+
+ # Going to debug build type should reset debugging
+ # and optimization
+ self.setconf('-Dbuildtype=debug')
+ opts = self.get_opts_as_dict()
+ self.assertEqual(opts['buildtype'], 'debug')
+ self.assertEqual(opts['debug'], True)
+ self.assertEqual(opts['optimization'], '0')
+
+
class FailureTests(BasePlatformTests):
'''
Tests that test failure conditions. Build files here should be dynamically