From: Terrance S. <ts...@us...> - 2007-06-27 00:50:23
|
Update of /cvsroot/xsb/mttests/prolog_tests In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv3988 Modified Files: iso_test.P iso_test_old test.sh Added Files: detach_test.P detach_test_old Log Message: Some tests for handling maximum threads, and detached threads, along with more ISO tests. --- NEW FILE: detach_test.P --- :- import thread_create/2,thread_create/3, thread_join/2 from thread. test:- set_xsb_flag(thread_detached,true), test_create(200), writeln(passed_detached_test), set_xsb_flag(thread_detached,false), test_create_join(200), writeln(passed_join_test), test_create_alias_join(200), writeln(passed_alias_join_test), catch(test_create(200),error(E,_,_),writeln(E)). test_create(N):- N == 0 -> true ; thread_create(true,_), N1 is N - 1, test_create(N1). test_create_join(N):- N == 0 -> true ; thread_create(true,Tid), thread_join(Tid,_), N1 is N - 1, test_create_join(N1). test_create_alias_join(N):- N == 0 -> true ; thread_create(true,Tid,[alias(foo)]), thread_join(Tid,_), N1 is N - 1, test_create_alias_join(N1). --- NEW FILE: detach_test_old --- passed_alias_join_test passed_detached_test passed_join_test resource_error(maximum threads) Index: iso_test.P =================================================================== RCS file: /cvsroot/xsb/mttests/prolog_tests/iso_test.P,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- iso_test.P 24 Jun 2007 19:09:47 -0000 1.1 +++ iso_test.P 27 Jun 2007 00:50:20 -0000 1.2 @@ -1,12 +1,13 @@ -:- import thread_create/3, thread_join/2 from thread. -:- import thread_create/2 from thread. +:- import thread_create/3, thread_join/2, thread_join/1 from thread. +:- import thread_create/2, thread_self/1, thread_join/2 from thread. test:- test_errors. test_errors:- test1i, test1ia, test1t, test2t, test3i, - test3ia, test3ib, test3t, test3d, test3ta. + test3ia, test3ib, test3t, test3d, test3ta, + ts_alias(sam),ts_alias(pam),test_pos_1,teste. test1i:- catch(thread_create(_X,_Y), error(instantiation_error,_,_), @@ -38,52 +39,30 @@ test3ta:- catch(thread_create(writeln(hello),_D,[alias(3.2)]), error(type_error(Type,Culprit),_,_), writeln(caught_type_error_3a(Type,Culprit))). +teste:- catch((thread_create(true,D,[detached(true)]), + thread_join(D,_)), + error(E,_,_), +% writeln(E) + writeln(caught_permission_existence_error)). + +% Don't yet have concurrency right -- but keeping in test suite. +ts_alias(A):- + thread_create(ts_alias_1,F,[alias(A)]),thread_join(F). + +ts_alias_1:- + thread_self(sam) -> + writeln(sam_i_am) + ; writeln(sam_i_aint). :- import get_alias/3 from file_io. test_pos_1:- - thread_create(writeln(hello),Tid,[alias(foo3),alias(foo4)]), - get_alias(F,G,H),writeln(alias(F,G,H)), - thread_join(Tid),fail. + thread_create(true,Tid,[alias(foo3),alias(foo4)]), + (get_alias(F,G,H),writeln(alias(F,G,H)),fail ; true), + thread_join(Tid,_). test(F):- thread_create(writeln(hello),_T,[glsize(100),tcsize(100),pdlsize(100),complsize(100), alias(thread1)]), thread_join(thread1,F). -time_create(N):- - cputime(Before), - test_create(N), - cputime(After), - Time is After - Before, - writeln(time(Time)). - -test_create(N):- - N == 0 -> - true - ; - thread_create(true,_), - N1 is N - 1, - test_create(N1). - -test_create_1(N):- - N == 0 -> - true - ; - thread_create(true,Tid), - thread_join(Tid,_), - writeln(Tid), - N1 is N - 1, - test_create_1(N1). - -test_create_2(N):- - N == 0 -> - true - ; - thread_create(true,Tid,[alias(foo)]), - thread_join(Tid,_), - writeln(Tid), - N1 is N - 1, - test_create_2(N1). - - \ No newline at end of file Index: iso_test_old =================================================================== RCS file: /cvsroot/xsb/mttests/prolog_tests/iso_test_old,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- iso_test_old 24 Jun 2007 19:09:47 -0000 1.1 +++ iso_test_old 27 Jun 2007 00:50:20 -0000 1.2 @@ -1,10 +1,15 @@ +alias(foo3,1,3) +alias(foo4,1,3) caught_domain_error_3d(thread_option,foo) caught_instantiation_error_1i caught_instantiation_error_1ia caught_instantiation_error_3i caught_instantiation_error_3ia caught_instantiation_error_3ib +caught_permission_existence_error caught_type_error_2t(variable,8) caught_type_error_3a(atom,3.2000) caught_type_error_3t(list,alias(foo)) caught_type_error_it(callable,7) +sam_i_aint +sam_i_am Index: test.sh =================================================================== RCS file: /cvsroot/xsb/mttests/prolog_tests/test.sh,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- test.sh 24 Jun 2007 19:09:47 -0000 1.6 +++ test.sh 27 Jun 2007 00:50:20 -0000 1.7 @@ -30,4 +30,5 @@ ../seqgentest.sh "$XEMU $options" cvartest_thread_make "test." ../seqgentest.sh "$XEMU $options" cregtest_thread_make "test." ../seqgentest.sh "$XEMU $options" cvartest_thread_make2 "test." -../seqgentest.sh "$XEMU $options" cregtest_thread_make2 "test." \ No newline at end of file +../seqgentest.sh "$XEMU $options" cregtest_thread_make2 "test." +../seqgentest.sh "$XEMU --max_threads 100" detach_test "test." |