diff options
Diffstat (limited to 'build_tests.py')
| -rw-r--r-- | build_tests.py | 27 | 
1 files changed, 27 insertions, 0 deletions
| diff --git a/build_tests.py b/build_tests.py new file mode 100644 index 0000000..3fe4e9a --- /dev/null +++ b/build_tests.py @@ -0,0 +1,27 @@ +import sys +import json +from ast import literal_eval +from urllib.request import urlopen + +out = sys.argv[1] +url_base = 'https://sourceforge.net/p/docutils/code/HEAD/tree/trunk/docutils' + +with urlopen(f'{url_base}/test/test_writers/test_html5_polyglot_parts.py?format=raw') as con: +	code = con.read().decode() + +code = code[code.find('totest ='):code.find('if __name__')] +exec(code) +with open(out, 'w') as f: +	t = 0 +	for k, (opts, tests) in totest.items(): +		for rst, result_code in tests: +			result = literal_eval(result_code)['fragment'] +			rst, result = (r.replace('"', r'\"') for r in (rst, result)) +			f.write(f'''\ +#[test] +fn test_{t:02}() {{ +	check_renders_to("{rst}", "{result.strip()}"); +}} +''') +			t += 1 +			 | 
