[tor-commits] [stem/master] Using absolute paths for doctest
atagar at torproject.org
atagar at torproject.org
Sun Oct 27 18:13:00 UTC 2013
commit 3abe1400567b3479a567b96f9da41cf9152b6fa4
Author: Damian Johnson <atagar at torproject.org>
Date: Sun Oct 27 09:20:06 2013 -0700
Using absolute paths for doctest
By default doctests refuse absolute paths, which required us to do a gross
hack. It turns out that the module has a module_relative argument that lets us
accept them, so dropping the hack.
Also making sure we run all doctests before failing (so we get output for all
of them before aborting).
---
test/unit/doctest.py | 16 ++++++++++------
1 file changed, 10 insertions(+), 6 deletions(-)
diff --git a/test/unit/doctest.py b/test/unit/doctest.py
index cae58a7..a7a2a20 100644
--- a/test/unit/doctest.py
+++ b/test/unit/doctest.py
@@ -21,10 +21,11 @@ except ImportError:
class TestDocumentation(unittest.TestCase):
def test_examples(self):
- cwd = os.getcwd()
+ stem_dir = os.path.join(test.util.STEM_BASE, 'stem')
+ is_failed = False
- for path in test.util._get_files_with_suffix(os.path.join(test.util.STEM_BASE, 'stem')):
- path = '../../' + path[len(cwd) + 1:]
+ for path in test.util._get_files_with_suffix(stem_dir):
+ args = {'module_relative': False}
test_run = None
if path.endswith('/stem/util/conf.py'):
@@ -35,9 +36,12 @@ class TestDocumentation(unittest.TestCase):
pass # examples refrence a control instance
elif path.endswith('/stem/version.py'):
with patch('stem.version.get_system_tor_version', Mock(return_value = stem.version.Version('0.2.1.30'))):
- test_run = doctest.testfile(path)
+ test_run = doctest.testfile(path, **args)
else:
- test_run = doctest.testfile(path)
+ test_run = doctest.testfile(path, **args)
if test_run and test_run.failed > 0:
- self.fail()
+ is_failed = True
+
+ if is_failed:
+ self.fail("doctests encountered errors")
More information about the tor-commits
mailing list