test262/tools/lint/lib/whitelist.py
jugglinmike 74954bfa91 Introduce automated validation for test format (#994)
This script is intended to identify common test file formatting errors
prior to their acceptance into the project. It is designed to support
future extensions for additional validation rules.
2017-05-01 12:04:05 -04:00

25 lines
710 B
Python

def parse(handle):
'''Parse the contents of the provided file descriptor as a linting
whitelist file. Return a dictionary whose keys are test file names and
whose values are Python sets of "Check" ID strings.'''
whitelist = dict()
for line in handle:
if line.startswith('#'):
continue
parts = line.split()
file_name = parts[0]
check_names = set(parts[1:])
assert file_name not in whitelist, (
'Whitelist should have a single entry for each file')
assert len(check_names) > 0, (
'Each whitelist entry should specify at least on check')
whitelist[file_name] = check_names
return whitelist