coredata: Fix changing prefix option

This is a regression from #11537.
pull/11619/head
Xavier Claessens 2 years ago committed by Eli Schwartz
parent b30cd5d2d5
commit ad151d9f11
  1. 4
      mesonbuild/coredata.py
  2. 8
      unittests/allplatformstests.py

@ -837,10 +837,10 @@ class CoreData:
pfk = OptionKey('prefix')
if pfk in options:
prefix = self.sanitize_prefix(options[pfk])
self.options[OptionKey('prefix')].set_value(prefix)
dirty |= self.options[OptionKey('prefix')].set_value(prefix)
for key in BULITIN_DIR_NOPREFIX_OPTIONS:
if key not in options:
self.options[key].set_value(BUILTIN_OPTIONS[key].prefixed_default(key, prefix))
dirty |= self.options[key].set_value(BUILTIN_OPTIONS[key].prefixed_default(key, prefix))
unknown_options: T.List[OptionKey] = []
for k, v in options.items():

@ -4601,21 +4601,21 @@ class AllPlatformTests(BasePlatformTests):
olddata = filename.read_bytes()
oldmtime = os.path.getmtime(filename)
for opt in ('-Dstring=val', '--buildtype=plain', '-Dfeature=disabled'):
for opt in ('-Dstring=val', '--buildtype=plain', '-Dfeature=disabled', '-Dprefix=/abc'):
self.setconf([opt])
newdata = filename.read_bytes()
newmtime = os.path.getmtime(filename)
self.assertEqual(olddata, newdata)
self.assertEqual(oldmtime, newmtime)
self.assertEqual(olddata, newdata)
olddata = newdata
oldmtime = newmtime
for opt in ('-Dstring=abc', '--buildtype=release', '-Dfeature=enabled'):
for opt in ('-Dstring=abc', '--buildtype=release', '-Dfeature=enabled', '-Dprefix=/def'):
self.setconf([opt])
newdata = filename.read_bytes()
newmtime = os.path.getmtime(filename)
self.assertNotEqual(olddata, newdata)
self.assertGreater(newmtime, oldmtime)
self.assertNotEqual(olddata, newdata)
olddata = newdata
oldmtime = newmtime

Loading…
Cancel
Save