Skip to content
Snippets Groups Projects
Commit 7c74b500 authored by Frank Sauerburger's avatar Frank Sauerburger
Browse files

Merge branch 'bug/return_code' into 'master'

Bug/return code

Closes #4

See merge request !1
parents 52cb6d28 0aeddf1e
No related branches found
Tags v0.1.1
1 merge request!1Bug/return code
Pipeline #
......@@ -2,6 +2,7 @@
import argparse
import doxec
import sys
if __name__ == "__main__":
parser = argparse.ArgumentParser(
......@@ -14,12 +15,19 @@ if __name__ == "__main__":
default="markdown",
help="The syntax parser to be used for the listed files.")
parser.add_argument("--version", action="store_true",
help="Prints the version of the doxec package and exits.")
parser.add_argument("documents", metavar="DOCUMENT", nargs="+", default=[],
help="A document from which the code examples should be parsed and "
"executed")
args = parser.parse_args()
if args.version:
print("Doxec package version: %s" % doxec.__version__)
sys.exit(0)
parser = doxec.parser[args.syntax]
def monitor(op, exception):
......@@ -29,6 +37,9 @@ if __name__ == "__main__":
print(exception, end="")
print(chr(27) + "[0m")
fail_count = 0
for doc_path in args.documents:
doc = doxec.Document(doc_path, syntax=parser)
doc.run(monitor=monitor)
fail_count += not doc.run(monitor=monitor)
sys.exit(fail_count)
......@@ -3,6 +3,8 @@ import abc
import re
import subprocess
__version__ = "0.1.1"
class TestException(Exception):
"""
This exception should be raised, if an operation performed tests and one
......@@ -310,11 +312,15 @@ class Document:
is called after every iteration. The first argument of monitor is the
operation object, the second argument is None or the exception that
occurred.
The method returns True on success.
"""
success = True
for op in self.operations:
try:
op.execute()
except TestException as e:
success = False
if callable(monitor):
monitor(op, e)
else:
......@@ -322,3 +328,4 @@ class Document:
else:
if callable(monitor):
monitor(op, None)
return success
......@@ -5,7 +5,7 @@ from setuptools import setup
setup(
name="doxec",
version= "0.1.0",
version= "0.1.1",
author="Frank Sauerburger",
author_email= "frank@sauerburger.com",
description=("Run documentation and test whether the examples work."),
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment