aboutsummaryrefslogtreecommitdiff
path: root/run_unittests.py
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2017-12-26 13:22:03 +0200
committerGitHub <noreply@github.com>2017-12-26 13:22:03 +0200
commit1806aac37669fe5b4a50175b7b8298f119248be3 (patch)
treef90f7e219fd6cc17f6db45093ae8b0f58f851bec /run_unittests.py
parentd55e98ef50782ff011f2e44d7c13886a3f6b6d05 (diff)
parent861cbc2e730805ebdea17647f78503a74bd55a34 (diff)
downloadmeson-1806aac37669fe5b4a50175b7b8298f119248be3.zip
meson-1806aac37669fe5b4a50175b7b8298f119248be3.tar.gz
meson-1806aac37669fe5b4a50175b7b8298f119248be3.tar.bz2
Merge pull request #2817 from jon-turney/master
Update prefix-dependent defaults when project(default_options:) changes prefix
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 17badae..1387130 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.