parser = argparse.ArgumentParser(description='Run Tests')
    parser.add_argument('--verbose', '-v', dest='verbose', type=int,  default=1,
                       help='unittest verbosity')
    known_args, other_args = parser.parse_known_args()
    
    test_runner_output = io.StringIO()
    runner = unittest.TextTestRunner(stream=test_runner_output, verbosity = known_args.verbose)
    complete_test_suite = unittest.loader.defaultTestLoader.discover('.', pattern='*.py')
    tg = TestGetter(complete_test_suite)
    result = runner.run( tg.get_num(num_to_get = 1) )
    
    i = 0
    test_suite_with_a_single_test = tg.get_num(num_to_get = 0)
    while test_suite_with_a_single_test is not None:
        cov = coverage.coverage()
        cov.start()
        result = runner.run( test_suite_with_a_single_test )
        cov.stop ()
        cov_data = called_coverage_data(cov)
        #print (cov_data) 
        if not result.wasSuccessful():
            print(test_runner_output.getvalue())
            print ("\n----------------\nError\nTest num. %d  fails" % i )
            sys.exit(-1) 
        i += 1
        test_suite_with_a_single_test = tg.get_num(num_to_get = i)
    
    print ("\n----------------\nOK\nRan %d tests in single mode" % i )
    sys.exit(-1)

 def test_called_coverage_data_2_covered_file(self):
     mc = MockCoverage(REPORT_TWO_FILES)
     data = called_coverage_data(mc)
     self.assertEqual(data, { "foo.py": 56, "bar.py":90 })