diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2018-08-18 20:39:47 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-08-18 20:39:47 +0300 |
commit | d83f77109a7ac22da53acfad8f7ff078d929cd9d (patch) | |
tree | ba2dc20e3a91379008d6c7c841a4f503d50b5bd8 /run_unittests.py | |
parent | 8277d94e24d4382d49289c07ef20ea78d95443e1 (diff) | |
download | meson-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-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 |