#!/usr/bin/python3
import unittest
import os
import re
import shutil
import sys

coverage = True
try:
    from coverage import coverage
    cov = coverage()
    cov.start()
except ImportError:
    print("No coverage report, make sure python-coverage is installed")
    coverage = False

sys.path.insert(0, '.')

if len(sys.argv) > 1:
    test_filter = sys.argv[1]
else:
    test_filter = ''

tests = [t[:-3] for t in os.listdir('tests')
         if t.startswith('test_') and t.endswith('.py') and
         re.search(test_filter, t)]
tests.sort()
suite = unittest.TestLoader().loadTestsFromNames(tests)
res = unittest.TextTestRunner(verbosity=2).run(suite)

if coverage:
    if os.path.exists('tests/coverage'):
        shutil.rmtree('tests/coverage')
    cov.stop()
    cov.html_report(include=["arkose/__init__.py"], directory='tests/coverage')
