summaryrefslogtreecommitdiff
path: root/tests.py
blob: 3a4b6a231355e95fc1f958c993e7563235185d97 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#!/usr/bin/env python
# -*- coding: utf-8 -*-

from __future__ import print_function
import doctest
import unittest
import sys

modules = ['jsonpointer']
coverage_modules = []

suite = unittest.TestSuite()

for module in modules:
    m = __import__(module, fromlist=[module])
    coverage_modules.append(m)
    suite.addTest(doctest.DocTestSuite(m))

runner = unittest.TextTestRunner(verbosity=2)

try:
    import coverage
except ImportError:
    coverage = None

if coverage is not None:
    coverage.erase()
    coverage.start()

result = runner.run(suite)

if not result.wasSuccessful():
    sys.exit(1)

if coverage is not None:
    coverage.stop()
    coverage.report(coverage_modules)
    coverage.erase()

if coverage is None:
    print("""
    No coverage reporting done (Python module "coverage" is missing)
    Please install the python-coverage package to get coverage reporting.
    """, file=sys.stderr)