34cdfc9b49
Trying to get rid of this Python script looks tempting, because it's currently the only Python script in the whole `run-make` suite that we actually run. But getting rid of it would require pulling in a Rust crate to parse XML instead, and that's probably not worth the extra hassle for a relatively-minor test.
23 lines
741 B
Python
Executable File
23 lines
741 B
Python
Executable File
#!/usr/bin/env python
|
|
|
|
# Trivial Python script that reads lines from stdin, and checks that each line
|
|
# is a well-formed XML document.
|
|
#
|
|
# This takes advantage of the fact that Python has a built-in XML parser,
|
|
# whereas doing the same check in Rust would require us to pull in an XML
|
|
# crate just for this relatively-minor test.
|
|
#
|
|
# If you're trying to remove Python scripts from the test suite, think twice
|
|
# before removing this one. You could do so, but it's probably not worth it.
|
|
|
|
import sys
|
|
import xml.etree.ElementTree as ET
|
|
|
|
# Try to decode line in order to ensure it is a valid XML document
|
|
for line in sys.stdin:
|
|
try:
|
|
ET.fromstring(line)
|
|
except ET.ParseError:
|
|
print("Invalid xml: %r" % line)
|
|
raise
|