import xml.etree.ElementTree
def _IsNatvisFile(affected_file):
return affected_file.Extension() == ".natvis"
def _CheckNatvisIsValidXml(input_api, output_api):
results = []
for f in input_api.AffectedTestableFiles(file_filter=_IsNatvisFile):
try:
content = '\n'.join(f.NewContents())
xml.etree.ElementTree.fromstring(content)
except xml.etree.ElementTree.ParseError as e:
results.append(
output_api.PresubmitError(
f"{f.LocalPath()} has invalid XML:\n{str(e)}"))
return results
def CheckChangeOnUpload(input_api, output_api):
return _CheckNatvisIsValidXml(input_api, output_api)
def CheckChangeOnCommit(input_api, output_api):
return []