- Timestamp:
- Mar 4, 2017, 10:31:03 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:
- 3f80888
- Parents:
- c3ebf37 (diff), 8191203 (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:
-
- 6 added
- 5 edited
- 2 moved
-
.expect/concurrent/coroutine.txt (moved) (moved from src/tests/.expect/coroutine.txt )
-
.expect/concurrent/monitor.txt (added)
-
.expect/concurrent/multi-monitor.txt (added)
-
.expect/concurrent/thread.txt (moved) (moved from src/tests/.expect/thread.txt )
-
.expect/globals.txt (added)
-
Makefile.am (modified) (3 diffs)
-
Makefile.in (modified) (4 diffs)
-
avltree/avl_test.c (modified) (1 diff)
-
globals.c (added)
-
monitor.c (added)
-
multi-monitor.c (added)
-
simpleGenericTriple.c (modified) (1 diff)
-
test.py (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/tests/Makefile.am
rc3ebf37 rd107010 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
rc3ebf37 rd107010 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/avltree/avl_test.c
rc3ebf37 rd107010 36 36 37 37 // char* -> char* 38 int ?<?(char *a, char *b) { 39 return strcmp(a,b) < 0; 38 struct c_str { char *str; }; // wraps a C string 39 int ?<?(c_str a, c_str b) { 40 return strcmp(a.str,b.str) < 0; 40 41 } 41 tree(c har *, char *) * ssmap = create("queso", "cheese");42 insert(&ssmap, "foo", "bar");43 insert(&ssmap, "hello", "world");42 tree(c_str, char *) * ssmap = create((c_str){"queso"}, "cheese"); 43 insert(&ssmap, (c_str){"foo"}, "bar"); 44 insert(&ssmap, (c_str){"hello"}, "world"); 44 45 assert( height(ssmap) == 2 ); 45 46 46 printf("%s %s %s\n", *find(ssmap, "hello"), *find(ssmap, "foo"), *find(ssmap, "queso"));47 printf("%s %s %s\n", *find(ssmap, (c_str){"hello"}), *find(ssmap, (c_str){"foo"}), *find(ssmap, (c_str){"queso"})); 47 48 48 remove(&ssmap, "foo");49 remove(&ssmap, (c_str){"foo"}); 49 50 delete(ssmap); 50 51 } -
src/tests/simpleGenericTriple.c
rc3ebf37 rd107010 28 28 int x1 = 123, x3 = 456; 29 29 double x2 = 999.123; 30 struct T3(int) Li = { x1, x2, x3 };30 struct T3(int) Li = { x1, (int)x2, x3 }; 31 31 struct T3(int) Ri = { 9, 2, 3 }; 32 32 struct T3(int) reti = Li+Ri; -
src/tests/test.py
rc3ebf37 rd107010 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.