tests/heredoctest.py
author Matt Mackall <mpm@selenic.com>
Mon, 31 Oct 2011 15:41:39 -0500
branchstable
changeset 15392 d7bfbc92a1c0
parent 15247 3cd1605e9d8e
child 15398 474279be5add
permissions -rw-r--r--
util: add a doctest for empty sha() calls
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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')
15247
3cd1605e9d8e tests: remove temp doctest file when finished running it
Idan Kamara <idankk86@gmail.com>
parents: 15235
diff changeset
     5
3cd1605e9d8e tests: remove temp doctest file when finished running it
Idan Kamara <idankk86@gmail.com>
parents: 15235
diff changeset
     6
    try:
3cd1605e9d8e tests: remove temp doctest file when finished running it
Idan Kamara <idankk86@gmail.com>
parents: 15235
diff changeset
     7
        os.write(fd, sys.stdin.read())
3cd1605e9d8e tests: remove temp doctest file when finished running it
Idan Kamara <idankk86@gmail.com>
parents: 15235
diff changeset
     8
        os.close(fd)
3cd1605e9d8e tests: remove temp doctest file when finished running it
Idan Kamara <idankk86@gmail.com>
parents: 15235
diff changeset
     9
        failures, _ = doctest.testfile(name, module_relative=False)
3cd1605e9d8e tests: remove temp doctest file when finished running it
Idan Kamara <idankk86@gmail.com>
parents: 15235
diff changeset
    10
        if failures:
3cd1605e9d8e tests: remove temp doctest file when finished running it
Idan Kamara <idankk86@gmail.com>
parents: 15235
diff changeset
    11
            sys.exit(1)
3cd1605e9d8e tests: remove temp doctest file when finished running it
Idan Kamara <idankk86@gmail.com>
parents: 15235
diff changeset
    12
    finally:
3cd1605e9d8e tests: remove temp doctest file when finished running it
Idan Kamara <idankk86@gmail.com>
parents: 15235
diff changeset
    13
        os.remove(name)