- Timestamp:
- Mar 3, 2017, 10:12:10 PM (9 years ago)
- Branches:
- ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, deferred_resn, demangler, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, resolv-new, with_gc
- Children:
- c443d1d, d107010
- Parents:
- dd020c0 (diff), bf8da66 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)links above to see all the changes relative to each parent. - Location:
- src/tests
- Files:
-
- 2 added
- 4 edited
- 3 moved
-
.expect/concurrent/coroutine.txt (moved) (moved from src/tests/.expect/coroutine.txt )
-
.expect/concurrent/monitor.txt (moved) (moved from src/tests/.expect/monitor.txt )
-
.expect/concurrent/multi-monitor.txt (added)
-
.expect/concurrent/thread.txt (moved) (moved from src/tests/.expect/thread.txt )
-
Makefile.am (modified) (3 diffs)
-
Makefile.in (modified) (4 diffs)
-
monitor.c (modified) (1 diff)
-
multi-monitor.c (added)
-
test.py (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/tests/Makefile.am
rdd020c0 r8191203 17 17 debug=yes 18 18 19 quick_test=vector_test avl_test operators numericConstants expression enum array typeof cast dtor-early-exit init_once 20 21 if BUILD_CONCURRENCY 22 concurrent=yes 23 quick_test+= coroutine thread monitor 24 else 25 concurrent=no 26 endif 27 28 19 29 # applies to both programs 20 30 EXTRA_FLAGS = … … 30 40 31 41 all-local : 32 @+python test.py vector_test avl_test operators numericConstants expression enum array typeof cast dtor-early-exit init_once coroutine thread42 @+python test.py --debug=${debug} --concurrent=${concurrent} ${quick_test} 33 43 34 44 all-tests : 35 @+python test.py --all --debug=${debug} # '@' => do not echo command (SILENT), '+' => allows recursive make from within python program45 @+python test.py --all --debug=${debug} --concurrent=${concurrent} # '@' => do not echo command (SILENT), '+' => allows recursive make from within python program 36 46 37 47 clean-local : … … 39 49 40 50 list : 41 @+python test.py --list 51 @+python test.py --list --concurrent=${concurrent} 42 52 43 53 constant0-1DP : constant0-1.c -
src/tests/Makefile.in
rdd020c0 r8191203 37 37 build_triplet = @build@ 38 38 host_triplet = @host@ 39 @BUILD_CONCURRENCY_TRUE@am__append_1 = coroutine thread monitor 39 40 EXTRA_PROGRAMS = fstream_test$(EXEEXT) vector_test$(EXEEXT) \ 40 41 avl_test$(EXEEXT) constant0-1DP$(EXEEXT) \ … … 222 223 top_srcdir = @top_srcdir@ 223 224 debug = yes 225 quick_test = vector_test avl_test operators numericConstants \ 226 expression enum array typeof cast dtor-early-exit init_once \ 227 $(am__append_1) 228 @BUILD_CONCURRENCY_FALSE@concurrent = no 229 @BUILD_CONCURRENCY_TRUE@concurrent = yes 224 230 225 231 # applies to both programs … … 651 657 652 658 all-local : 653 @+python test.py vector_test avl_test operators numericConstants expression enum array typeof cast dtor-early-exit init_once coroutine thread659 @+python test.py --debug=${debug} --concurrent=${concurrent} ${quick_test} 654 660 655 661 all-tests : 656 @+python test.py --all --debug=${debug} # '@' => do not echo command (SILENT), '+' => allows recursive make from within python program662 @+python test.py --all --debug=${debug} --concurrent=${concurrent} # '@' => do not echo command (SILENT), '+' => allows recursive make from within python program 657 663 658 664 clean-local : … … 660 666 661 667 list : 662 @+python test.py --list 668 @+python test.py --list --concurrent=${concurrent} 663 669 664 670 constant0-1DP : constant0-1.c -
src/tests/monitor.c
rdd020c0 r8191203 16 16 17 17 void increment( /*mutex*/ global_t * this ) { 18 monitor_guard_t g1 = { &this->m }; 18 __monitor_t * mon = &this->m; 19 monitor_guard_t g1 = { &mon }; 19 20 { 20 monitor_guard_t g2 = { & this->m};21 monitor_guard_t g2 = { &mon }; 21 22 { 22 monitor_guard_t g3 = { & this->m};23 monitor_guard_t g3 = { &mon }; 23 24 this->value += 1; 24 25 } -
src/tests/test.py
rdd020c0 r8191203 32 32 return re.search("ELF\s([0-9]+)-bit", out).group(1) 33 33 34 # reads the directory ./.expect and indentifies the tests 35 def listTests(): 36 machineType = getMachineType()34 def listTestsFolder(folder) : 35 path = ('./.expect/%s/' % folder) if folder else './.expect/' 36 subpath = "%s/" % folder if folder else "" 37 37 38 38 # 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 ) 41 41 if not f.startswith('.') and f.endswith('.txt') 42 42 ]) 43 43 44 # reads the directory ./.expect and indentifies the tests 45 def listTests( concurrent ): 46 machineType = getMachineType() 47 48 # tests directly in the .expect folder will always be processed 49 generic_list = listTestsFolder( "" ) 50 44 51 # 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 [] 49 56 50 57 # append both lists to get 51 return generic_list + typed_list 58 return generic_list + typed_list + concurrent_list; 52 59 53 60 # helper functions to run terminal commands … … 194 201 sys.stderr.flush() 195 202 return test_failed 196 203 197 204 except KeyboardInterrupt: 198 205 test_failed = True … … 243 250 parser = argparse.ArgumentParser(description='Script which runs cforall tests') 244 251 parser.add_argument('--debug', help='Run all tests in debug or release', type=yes_no, default='no') 252 parser.add_argument('--concurrent', help='Run concurrent tests', type=yes_no, default='no') 245 253 parser.add_argument('--dry-run', help='Don\'t run the tests, only output the commands', action='store_true') 246 254 parser.add_argument('--list', help='List all test available', action='store_true') … … 261 269 262 270 # fetch the liest of all valid tests 263 allTests = listTests( )271 allTests = listTests( options.concurrent ) 264 272 265 273 # 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.