annotate tests/heredoctest.py @ 15235:f7044da7a793

tests: add helper script for processing doctests read from stdin Writes stdin to a temp file and doctests it. In the future we might want to spare the temp file and directly call into doctest. Also, with some tweaking it seems possible to adjust the line numbers reported in an error report so they match the ones in the original file.
author Idan Kamara <idankk86@gmail.com>
date Wed, 12 Oct 2011 22:01:13 +0200
parents
children 3cd1605e9d8e
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
15235
f7044da7a793 tests: add helper script for processing doctests read from stdin
Idan Kamara <idankk86@gmail.com>
parents:
diff changeset
1 import doctest, tempfile, os, sys
f7044da7a793 tests: add helper script for processing doctests read from stdin
Idan Kamara <idankk86@gmail.com>
parents:
diff changeset
2
f7044da7a793 tests: add helper script for processing doctests read from stdin
Idan Kamara <idankk86@gmail.com>
parents:
diff changeset
3 if __name__ == "__main__":
f7044da7a793 tests: add helper script for processing doctests read from stdin
Idan Kamara <idankk86@gmail.com>
parents:
diff changeset
4 fd, name = tempfile.mkstemp(suffix='hg-tst')
f7044da7a793 tests: add helper script for processing doctests read from stdin
Idan Kamara <idankk86@gmail.com>
parents:
diff changeset
5 os.write(fd, sys.stdin.read())
f7044da7a793 tests: add helper script for processing doctests read from stdin
Idan Kamara <idankk86@gmail.com>
parents:
diff changeset
6 os.close(fd)
f7044da7a793 tests: add helper script for processing doctests read from stdin
Idan Kamara <idankk86@gmail.com>
parents:
diff changeset
7 failures, _ = doctest.testfile(name, module_relative=False)
f7044da7a793 tests: add helper script for processing doctests read from stdin
Idan Kamara <idankk86@gmail.com>
parents:
diff changeset
8 if failures:
f7044da7a793 tests: add helper script for processing doctests read from stdin
Idan Kamara <idankk86@gmail.com>
parents:
diff changeset
9 sys.exit(1)