if len(tests) == 0:
    print 'Error: no testcases were found.'
    sys.exit(1)

suite = TestSuite(' '.join(sys.argv), tests=tests)
if exclude_file is not None:
    try:
        names = [ n.lstrip().rstrip() for n in open(exclude_file, 'r').read().lstrip().rstrip().split('\n') ]
        suite.remove_tests(names)
    except OSError as e:
        print 'Warning: an error occurred while parsing the exclude file'
        print e
        
if list_only:
    base = ''
    if recursive and len(tests) > 1:
        base = '%s/' % os.getcwd()
        print 'Base Directory: %s\n' % base

    suite.print_tests(base)
    print 'Test(s) Found: %d' % len(tests)
    
    sys.exit(0)

if threads > 0:
    raise OperationNotImplementedException('Threading not quite ready yet...Sorry')
else if procs > 0:
    raise OperationNotImplementedException('Multiple processes not quite ready yet...Sorry')
else:
    suite.run_suite(strict, quiet)