coredata: use a frozenset instead of a dict where values are always None

pull/11277/head
Dylan Baker 2 years ago committed by Eli Schwartz
parent dd83d5e4a1
commit 3f733437da
  1. 43
      mesonbuild/coredata.py
  2. 6
      unittests/allplatformstests.py

@ -1251,24 +1251,25 @@ BULITIN_DIR_NOPREFIX_OPTIONS: T.Dict[OptionKey, T.Dict[str, str]] = {
OptionKey('purelibdir', module='python'): {},
}
FORBIDDEN_TARGET_NAMES = {'clean': None,
'clean-ctlist': None,
'clean-gcno': None,
'clean-gcda': None,
'coverage': None,
'coverage-text': None,
'coverage-xml': None,
'coverage-html': None,
'phony': None,
'PHONY': None,
'all': None,
'test': None,
'benchmark': None,
'install': None,
'uninstall': None,
'build.ninja': None,
'scan-build': None,
'reconfigure': None,
'dist': None,
'distcheck': None,
}
FORBIDDEN_TARGET_NAMES = frozenset({
'clean',
'clean-ctlist',
'clean-gcno',
'clean-gcda',
'coverage',
'coverage-text',
'coverage-xml',
'coverage-html',
'phony',
'PHONY',
'all',
'test',
'benchmark',
'install',
'uninstall',
'build.ninja',
'scan-build',
'reconfigure',
'dist',
'distcheck',
})

@ -1507,12 +1507,12 @@ class AllPlatformTests(BasePlatformTests):
test. Needs to be a unit test because it accesses Meson internals.
'''
testdir = os.path.join(self.common_test_dir, '150 reserved targets')
targets = mesonbuild.coredata.FORBIDDEN_TARGET_NAMES
targets = set(mesonbuild.coredata.FORBIDDEN_TARGET_NAMES)
# We don't actually define a target with this name
targets.pop('build.ninja')
targets.remove('build.ninja')
# Remove this to avoid multiple entries with the same name
# but different case.
targets.pop('PHONY')
targets.remove('PHONY')
for i in targets:
self.assertPathExists(os.path.join(testdir, i))

Loading…
Cancel
Save