data_suffix=True,
                            config_file=False,
                            branch=True,
                            source=['ipv8'],
                            include=['*'],
                            omit="ipv8/ipv8.py")
    cov.exclude('pass')
    cov.start()

    for line in lines:
        print "Measuring coverage for", line

        output_stream = StringIO()
        formatted_line = line.replace('/', '.').replace('.py:', '.')

        suite = TestLoader().loadTestsFromName(formatted_line)
        reporter = VerboseTextReporter(stream=output_stream)
        reporter.failfast = True
        suite.run(reporter)

        assert len(reporter.errors) == 0,\
            "ERROR: UNIT TESTS FAILED, PLEASE FIX BEFORE RUNNING COVERAGE:\n%s\n%s" % (output_stream.getvalue(), ''.join([repr(error) for error in reporter.errors]))
        output_stream.close()

    cov.stop()
    print "Generating HTML report"
    cov.html_report(directory='coverage', omit="ipv8/keyvault/libnacl/*")
    cov.erase()

clean_directory()