summaryrefslogtreecommitdiff
path: root/db-4.8.30/test_stl/run_base.sh
diff options
context:
space:
mode:
Diffstat (limited to 'db-4.8.30/test_stl/run_base.sh')
-rw-r--r--db-4.8.30/test_stl/run_base.sh92
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