diff options
Diffstat (limited to 'run_unittests.py')
-rwxr-xr-x | run_unittests.py | 35 |
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 |