aboutsummaryrefslogtreecommitdiff
path: root/run_unittests.py
diff options
context:
space:
mode:
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