diff options
Diffstat (limited to 'db-4.8.30/test_stl/run_base.sh')
-rw-r--r-- | db-4.8.30/test_stl/run_base.sh | 92 |
1 files changed, 92 insertions, 0 deletions
diff --git a/db-4.8.30/test_stl/run_base.sh b/db-4.8.30/test_stl/run_base.sh new file mode 100644 index 0000000..34e7c29 --- /dev/null +++ b/db-4.8.30/test_stl/run_base.sh @@ -0,0 +1,92 @@ +#run_test.sh +run_test() +{ +prog=$1 +mkdir -p ./dbenv +rm -rf dbenv/* +echo "Auto commit btree transaction tests:" +$prog -s b -m t -t a -T 200 -k 50 -l 100 -c 33554432 -n $2 >/dev/null +echo "Transaction btree tests:" +$prog -s b -m t -t e -T 200 -k 50 -l 100 -c 33554432 -n $2 >/dev/null +echo "CDS btree tests:" +$prog -s b -m c -T 200 -k 50 -l 100 -c 33554432 -n $2 >/dev/null +echo "DS btree tests:" +$prog -s b -T 200 -k 50 -l 100 -c 33554432 -n $2 >/dev/null +echo "Auto commit hash transaction tests:" +$prog -s h -m t -t a -T 200 -k 50 -l 100 -c 33554432 -n $2 >/dev/null +echo "Transaction hash tests:" +$prog -s h -m t -t e -T 200 -k 50 -l 100 -c 33554432 -n $2 >/dev/null +echo "CDS hash tests:" +$prog -s h -m c -T 200 -k 50 -l 100 -c 33554432 -n $2 >/dev/null +echo "DS hash tests:" +$prog -s h -T 200 -k 50 -l 100 -c 33554432 -n $2 >/dev/null +} + +run_mt() +{ +prog=$1 +echo "Transaction btree multithreaded tests:" +$prog -s b -m t -t e -T 200 -k 50 -l 100 -c 33554432 -M > mt_test_btree_tds.out +echo "Transaction btree multithreaded tests(auto commit):" +$prog -s b -m t -t e -T 200 -k 50 -l 100 -c 33554432 -M > mt_test_btree_tds_autocommit.out + +echo "Transaction hash multithreaded tests:" +$prog -s h -m t -t e -T 200 -k 50 -l 100 -c 33554432 -M > mt_test_hash_tds.out +echo "Transaction hash multithreaded tests:" +$prog -s h -m t -t e -T 200 -k 50 -l 100 -c 33554432 -M > mt_test_hash_tds_autocommit.out +# This test is not suitable for CDS mode because the writers will not stop inserting to +# the database until the reader reads enough key/data pairs, but the readers will never +# have a chance to open its cursor read any key/data pair since the write is writing to db. +} +run_tpcb() +{ +prog=$1 + +mkdir -p ./dbenv +rm -fr dbenv/* + +$prog -i +$prog -n $2 + +} +os=`uname -s` +ntimes=1 +mttest=0 +if test "$1" = "tpcb" ; then #running tpcb test. + if test $# -gt 1 ; then + ntimes=$2 + fi + + if test "$os" = "CYGWIN_NT-5.1" ; then + run_tpcb "../build_windows/Win32/Release/exstl_tpcb.exe" $ntimes + else + run_tpcb "../build_unix/exstl_tpcb" $ntimes + fi +else + if test "$1" = "mt" ; then #running ordinary test. + mttest=1 + elif test $# -eq 2 ; then + ntimes=$2 + fi + + if test "$os" = "CYGWIN_NT-5.1" ; then + echo "Debug version test" + if test $mttest -eq 1 ; then + run_mt "../build_windows/Win32/Debug/stl_test.exe" + else + run_test "../build_windows/Win32/Debug/stl_test.exe" $ntimes + fi + echo "Release version test" + if test $mttest -eq 1 ; then + run_mt "../build_windows/Win32/Release/stl_test.exe" + else + run_test "../build_windows/Win32/Release/stl_test.exe" $ntimes + fi + else + if test $mttest -eq 1 ; then + run_mt "../build_unix/test_dbstl" + else + run_test "../build_unix/test_dbstl" $ntimes + fi + fi +fi |