Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/tests/test.py

    r23c2b8d3 r871b664  
    3232        return re.search("ELF\s([0-9]+)-bit", out).group(1)
    3333
    34 # reads the directory ./.expect and indentifies the tests
    35 def listTests():
    36         machineType = getMachineType()
     34def listTestsFolder(folder) :
     35        path = ('./.expect/%s/' % folder) if folder else './.expect/'
     36        subpath = "%s/" % folder if folder else ""
    3737
    3838        # tests directly in the .expect folder will always be processed
    39         generic_list = map(lambda fname: Test(fname, fname),
    40                 [splitext(f)[0] for f in listdir('./.expect')
     39        return map(lambda fname: Test(fname, subpath + fname),
     40                [splitext(f)[0] for f in listdir( path )
    4141                if not f.startswith('.') and f.endswith('.txt')
    4242                ])
    4343
     44# reads the directory ./.expect and indentifies the tests
     45def listTests( concurrent ):
     46        machineType = getMachineType()
     47
     48        # tests directly in the .expect folder will always be processed
     49        generic_list = listTestsFolder( "" )
     50
    4451        # tests in the machineType folder will be ran only for the corresponding compiler
    45         typed_list = map(lambda fname: Test( fname, "%s/%s" % (machineType, fname) ),
    46                 [splitext(f)[0] for f in listdir("./.expect/%s" % machineType)
    47                 if not f.startswith('.') and f.endswith('.txt')
    48                 ])
     52        typed_list = listTestsFolder( machineType )
     53
     54        # tests in the concurrent folder will be ran only if concurrency is enabled
     55        concurrent_list = listTestsFolder( "concurrent" ) if concurrent else []
    4956
    5057        # append both lists to get
    51         return generic_list + typed_list
     58        return generic_list + typed_list + concurrent_list;
    5259
    5360# helper functions to run terminal commands
     
    194201                sys.stderr.flush()
    195202                return test_failed
    196        
     203
    197204        except KeyboardInterrupt:
    198205                test_failed = True
     
    243250parser = argparse.ArgumentParser(description='Script which runs cforall tests')
    244251parser.add_argument('--debug', help='Run all tests in debug or release', type=yes_no, default='no')
     252parser.add_argument('--concurrent', help='Run concurrent tests', type=yes_no, default='no')
    245253parser.add_argument('--dry-run', help='Don\'t run the tests, only output the commands', action='store_true')
    246254parser.add_argument('--list', help='List all test available', action='store_true')
     
    261269
    262270# fetch the liest of all valid tests
    263 allTests = listTests()
     271allTests = listTests( options.concurrent )
    264272
    265273# if user wants all tests than no other treatement of the test list is required
Note: See TracChangeset for help on using the changeset viewer.