From: Terrance S. <ts...@us...> - 2006-03-17 18:29:25
|
Update of /cvsroot/xsb/xsbtests/table_tests In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv25266 Modified Files: abol_test2.P abol_test2_old abol_test3.P test.sh Added Files: abol_test2a.P abol_test2a_old abol_test3a.P abol_test3a_old abol_test3b.P abol_test3b_old abol_test3c.P abol_test3c_old Log Message: New tests for abolishing tables and garbage collecting the space. --- NEW FILE: abol_test2a.P --- arc(1,2). arc(2,3). arc(2,4). arc(4,1). :- table upath/2. upath(X,Y) :- arc(X,Y). upath(X,Y) :- upath(X,Z), arc(Z,Y). :- import mpath/2 from abol_test2_module. :- import abolish_module_tables/1 from tables. test:- upath(1,_),fail. test:- mpath(1,_),fail. test:- mpath(1,X),abolish_module_tables(abol_test2_module),fail. test:- abolish_module_tables(abol_test2_module),fail. test:- upath(1,_),abolish_module_tables(usermod),fail. test:- get_residual(upath(1,Y),_),writeln(answer(u(a,Y))),fail. test:- get_residual(mpath(1,Y),_),writeln(answer(m(a,Y))),fail. test:- gc_tables(N),write(remaining(N)),fail. test. --- NEW FILE: abol_test2a_old --- remaining(0) --- NEW FILE: abol_test3a.P --- /* Tests DTF creation and garbage collection of two tables for different predicates. */ :- table tpred/1. tpred(X):- p(X). :- table upred/1. upred(X):- p(X). p(f(1)). p(f(2)). p(f(3)). p(g(1)). p(g(2)). p(g(3)). %------------------ :- dynamic tr/1. :- index(tr/1,trie). test:- assert(tr(a)),assert(tr(b)),assert(tr(c)),fail. test:- tpred(_X),fail. test:- tpred(X),tr(Y), abolish_table_pred(tpred/1), writeln((X,Y)),fail. test:- upred(_X),fail. test:- upred(X),tr(Y), abolish_table_pred(upred/1), fail. test:- get_residual(tpred(X),_),writeln(first(X)),fail. test:- get_residual(upred(X),_),writeln(first(X)),fail. test:- gc_tables(N),writeln(remaining(N)). --- NEW FILE: abol_test3a_old --- (f(1) ',' a) (f(1) ',' b) (f(1) ',' c) (f(2) ',' a) (f(2) ',' b) (f(2) ',' c) (f(3) ',' a) (f(3) ',' b) (f(3) ',' c) (g(1) ',' a) (g(1) ',' b) (g(1) ',' c) (g(2) ',' a) (g(2) ',' b) (g(2) ',' c) (g(3) ',' a) (g(3) ',' b) (g(3) ',' c) remaining(0) --- NEW FILE: abol_test3b.P --- /* Tests DTF creation and garbage collection of two tables for different predicates. */ :- table tpred/1. tpred(X):- p(X). :- table upred/1. upred(X):- p(X). p(f(1)). p(f(2)). p(f(3)). p(g(1)). p(g(2)). p(g(3)). %------------------ :- dynamic tr/1. :- index(tr/1,trie). test:- assert(tr(a)),assert(tr(b)),assert(tr(c)),fail. test:- tpred(_X),fail. test:- tpred(X),tr(Y), abolish_table_pred(tpred/1), writeln((X,Y)),fail. test:- upred(_X),fail. test:- upred(X),tr(Y), abolish_table_pred(upred/1), fail. test:- upred(_),fail. test:- get_residual(tpred(X),_),writeln(first(X)),fail. test:- get_residual(upred(X),_),writeln(first(X)),fail. test:- gc_tables(N),writeln(remaining(N)),fail. test:- get_residual(upred(X),_),writeln(first(X)),fail. test. --- NEW FILE: abol_test3b_old --- (f(1) ',' a) (f(1) ',' b) (f(1) ',' c) (f(2) ',' a) (f(2) ',' b) (f(2) ',' c) (f(3) ',' a) (f(3) ',' b) (f(3) ',' c) (g(1) ',' a) (g(1) ',' b) (g(1) ',' c) (g(2) ',' a) (g(2) ',' b) (g(2) ',' c) (g(3) ',' a) (g(3) ',' b) (g(3) ',' c) first(f(1)) first(f(1)) first(f(2)) first(f(2)) first(f(3)) first(f(3)) first(g(1)) first(g(1)) first(g(2)) first(g(2)) first(g(3)) first(g(3)) remaining(0) --- NEW FILE: abol_test3c.P --- /* Tests DTF creation and garbage collection of two tables for different predicates, when one of the predicates has a valid table.*/ :- table tpred/1. tpred(X):- p(X). :- table upred/1. upred(X):- p(X). p(f(1)). p(f(2)). p(f(3)). p(g(1)). p(g(2)). p(g(3)). %------------------ :- dynamic tr/1. :- index(tr/1,trie). test:- assert(tr(a)),assert(tr(b)),assert(tr(c)),fail. test:- tpred(_X),fail. test:- tpred(X),tr(Y), abolish_table_pred(tpred/1), writeln((X,Y)),fail. test:- upred(_X),fail. test:- upred(X),tr(Y), abolish_table_pred(upred/1), fail. test:- upred(X),abolish_table_pred(upred/1),gc_tables(N), writeln(remaining1(N)),fail. test:- gc_tables(N),writeln(remaining2(N)),fail. test. --- NEW FILE: abol_test3c_old --- (f(1) ',' a) (f(1) ',' b) (f(1) ',' c) (f(2) ',' a) (f(2) ',' b) (f(2) ',' c) (f(3) ',' a) (f(3) ',' b) (f(3) ',' c) (g(1) ',' a) (g(1) ',' b) (g(1) ',' c) (g(2) ',' a) (g(2) ',' b) (g(2) ',' c) (g(3) ',' a) (g(3) ',' b) (g(3) ',' c) remaining1(0) remaining1(1) remaining1(1) remaining1(1) remaining1(1) remaining1(1) remaining2(0) Index: abol_test2.P =================================================================== RCS file: /cvsroot/xsb/xsbtests/table_tests/abol_test2.P,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- abol_test2.P 13 Mar 2006 23:13:17 -0000 1.1 +++ abol_test2.P 17 Mar 2006 18:29:21 -0000 1.2 @@ -24,4 +24,4 @@ test:- writeln('-------'),fail. test:- get_residual(upath(1,Y),_),writeln(answer(u(c,Y))),fail. test:- get_residual(mpath(1,Y),_),writeln(answer(m(c,Y))),fail. -test. +test:- gc_tables(N),writeln(remaining(N)). Index: abol_test2_old =================================================================== RCS file: /cvsroot/xsb/xsbtests/table_tests/abol_test2_old,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- abol_test2_old 13 Mar 2006 23:13:17 -0000 1.1 +++ abol_test2_old 17 Mar 2006 18:29:21 -0000 1.2 @@ -12,3 +12,4 @@ answer(u(b,2)) answer(u(b,3)) answer(u(b,4)) +remaining(0) Index: abol_test3.P =================================================================== RCS file: /cvsroot/xsb/xsbtests/table_tests/abol_test3.P,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- abol_test3.P 15 Mar 2006 13:19:16 -0000 1.1 +++ abol_test3.P 17 Mar 2006 18:29:21 -0000 1.2 @@ -1,4 +1,7 @@ +/* Tests DTF creation and garbage collection of two tables for the + same predicate. */ + :- table tpred/1. tpred(X):- p(X). @@ -14,14 +17,18 @@ :- dynamic tr/1. :- index(tr/1,trie). -test:- - tpred(_X),fail. - test:- assert(tr(a)),assert(tr(b)),assert(tr(c)),fail. +test:- tpred(_X),fail. test:- tpred(X),tr(Y), abolish_table_pred(tpred/1), writeln((X,Y)),fail. + +test:- tpred(_X),fail. +test:- tpred(X),tr(Y), + abolish_table_pred(tpred/1), + fail. + test:- get_residual(tpred(X),_),writeln(first(X)),fail. test:- gc_tables(N),writeln(remaining(N)). Index: test.sh =================================================================== RCS file: /cvsroot/xsb/xsbtests/table_tests/test.sh,v retrieving revision 1.18 retrieving revision 1.19 diff -u -r1.18 -r1.19 --- test.sh 15 Mar 2006 13:19:16 -0000 1.18 +++ test.sh 17 Mar 2006 18:29:21 -0000 1.19 @@ -65,12 +65,20 @@ ../gentest.sh "$XEMU $options" testh "time2048." #------------------------------------------------- ../gentest.sh "$XEMU $options" empty_answer "test". -#------------------------------------------------- +#------------------------------------------------- atp/atc basic ../gentest.sh "$XEMU $options" abol_test "test". -#------------------------------------------------- +#------------------------------------------------- amt basic ../gentest.sh "$XEMU $options" abol_test2 "test". -#------------------------------------------------- +#------------------------------------------------- amt gc diff preds +../gentest.sh "$XEMU $options" abol_test2a "test". +#------------------------------------------------- atp gc same preds ../gentest.sh "$XEMU $options" abol_test3 "test". +#------------------------------------------------- atp gc diff preds +../gentest.sh "$XEMU $options" abol_test3a "test". +#------------------------------------------------- atp gc diff preds + valid +../gentest.sh "$XEMU $options" abol_test3b "test". +#------------------------------------------------- atp gc diff preds + valid + multiple gcs +../gentest.sh "$XEMU $options" abol_test3c "test". #------------------------------------------------- ../gentest.sh "$XEMU $options" flora1 "test". #------------------------------------------------- |