aboutsummaryrefslogtreecommitdiff
path: root/run_unittests.py
diff options
context:
space:
mode:
authorJon Turney <jon.turney@dronecode.org.uk>2017-12-21 12:55:29 +0000
committerJon Turney <jon.turney@dronecode.org.uk>2017-12-21 19:10:18 +0000
commit198251395a36b9b2e9e9b903b6de92786fd86d6e (patch)
tree52e338cd4b53e39850acc986238cce28307bba3b /run_unittests.py
parentb437977a608038cf754aba41346efa390411302e (diff)
downloadmeson-198251395a36b9b2e9e9b903b6de92786fd86d6e.zip
meson-198251395a36b9b2e9e9b903b6de92786fd86d6e.tar.gz
meson-198251395a36b9b2e9e9b903b6de92786fd86d6e.tar.bz2
Add a test of prefix-dependent defaults for project(default_options:)
See #2811
Diffstat (limited to 'run_unittests.py')
-rwxr-xr-xrun_unittests.py39
1 files changed, 39 insertions, 0 deletions
diff --git a/run_unittests.py b/run_unittests.py
index d7d5ed0..c8f1b24 100755
--- a/run_unittests.py
+++ b/run_unittests.py
@@ -789,6 +789,45 @@ class AllPlatformTests(BasePlatformTests):
self.assertEqual(value, expected[prefix][name])
self.wipe()
+ def test_default_options_prefix_dependent_defaults(self):
+ '''
+ Tests that setting a prefix in default_options in project() sets prefix
+ dependent defaults for other options, and that those defaults can
+ be overridden in default_options or by the command line.
+ '''
+ testdir = os.path.join(self.common_test_dir, '173 default options prefix dependent defaults')
+ expected = {
+ '':
+ {'prefix': '/usr',
+ 'sysconfdir': '/etc',
+ 'localstatedir': '/var',
+ 'sharedstatedir': '/sharedstate'},
+ '--prefix=/usr':
+ {'prefix': '/usr',
+ 'sysconfdir': '/etc',
+ 'localstatedir': '/var',
+ 'sharedstatedir': '/sharedstate'},
+ '--sharedstatedir=/var/state':
+ {'prefix': '/usr',
+ 'sysconfdir': '/etc',
+ 'localstatedir': '/var',
+ 'sharedstatedir': '/var/state'},
+ '--sharedstatedir=/var/state --prefix=/usr --sysconfdir=sysconf':
+ {'prefix': '/usr',
+ 'sysconfdir': 'sysconf',
+ 'localstatedir': '/var',
+ 'sharedstatedir': '/var/state'},
+ }
+ for args in expected:
+ self.init(testdir, args.split(), default_args=False)
+ opts = self.introspect('--buildoptions')
+ for opt in opts:
+ name = opt['name']
+ value = opt['value']
+ if name in expected[args]:
+ self.assertEqual(value, expected[args][name])
+ self.wipe()
+
def test_static_library_overwrite(self):
'''
Tests that static libraries are never appended to, always overwritten.