summaryrefslogtreecommitdiff
path: root/test/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'test/scripts')
-rwxr-xr-xtest/scripts/light-system-test-prepare.sh16
-rwxr-xr-xtest/scripts/perf-test.sh71
-rw-r--r--test/scripts/testutils.sh2
3 files changed, 80 insertions, 9 deletions
diff --git a/test/scripts/light-system-test-prepare.sh b/test/scripts/light-system-test-prepare.sh
index 466f3aa..6f6dd07 100755
--- a/test/scripts/light-system-test-prepare.sh
+++ b/test/scripts/light-system-test-prepare.sh
@@ -39,7 +39,7 @@ createcert () {
createca
createcert
mkdir keys
-(cd keys ; ../../../tools/create-key.sh logkey)
+(cd keys ; ${top_srcdir}/tools/create-key.sh logkey)
openssl pkcs8 -topk8 -nocrypt -in keys/logkey-private.pem -out keys/logkey-private.pkcs8
mkdir mergedb
touch mergedb/logorder
@@ -47,24 +47,24 @@ mkdir mergedb-secondary
touch mergedb-secondary/logorder
printf 0 > mergedb-secondary/verifiedsize
mkdir known_roots
-cp ../../tools/testcerts/roots/* known_roots
+cp ${top_srcdir}/tools/testcerts/roots/* known_roots
for machine in ${MACHINES}; do \
- ../../tools/compileconfig.py --config ../../test/catlfish-test.cfg --localconfig ../../test/catlfish-test-local-${machine}.cfg
+ ${top_srcdir}/tools/compileconfig.py --config ${top_srcdir}/test/catlfish-test.cfg --localconfig ${top_srcdir}/test/catlfish-test-local-${machine}.cfg
mkdir -p machine/machine-${machine}/db
touch machine/machine-${machine}/db/index && touch machine/machine-${machine}/db/newentries
done
-../../tools/compileconfig.py --config ../../test/catlfish-test.cfg --localconfig ../../test/catlfish-test-local-merge-2.cfg
-../../tools/compileconfig.py --config ../../test/catlfish-test.cfg --localconfig ../../test/catlfish-test-local-signing.cfg
+${top_srcdir}/tools/compileconfig.py --config ${top_srcdir}/test/catlfish-test.cfg --localconfig ${top_srcdir}/test/catlfish-test-local-merge-2.cfg
+${top_srcdir}/tools/compileconfig.py --config ${top_srcdir}/test/catlfish-test.cfg --localconfig ${top_srcdir}/test/catlfish-test-local-signing.cfg
mkdir privatekeys
mkdir publickeys
for node in ${NODES}; do \
- (cd privatekeys ; ../../../tools/create-key.sh ${node}) ; \
+ (cd privatekeys ; ${top_srcdir}/tools/create-key.sh ${node}) ; \
mv privatekeys/${node}.pem publickeys/ ; \
mkdir -p nodes/${node}/log
done
-(cd privatekeys ; ../../../tools/create-key.sh merge-1)
+(cd privatekeys ; ${top_srcdir}/tools/create-key.sh merge-1)
mv privatekeys/merge-1.pem publickeys/
-(cd privatekeys ; ../../../tools/create-key.sh merge-2)
+(cd privatekeys ; ${top_srcdir}/tools/create-key.sh merge-2)
mv privatekeys/merge-2.pem publickeys/
test -x ${SOFTHSM} && ${SOFTHSM} --init-token --slot=0 --label=mylabel --so-pin=ffff --pin=ffff || true
test -x ${SOFTHSM} && ${SOFTHSM} --import keys/logkey-private.pkcs8 --slot 0 --label mylabel --pin ffff --id 00 || true
diff --git a/test/scripts/perf-test.sh b/test/scripts/perf-test.sh
new file mode 100755
index 0000000..aaf3b1d
--- /dev/null
+++ b/test/scripts/perf-test.sh
@@ -0,0 +1,71 @@
+#!/bin/sh
+
+set -o nounset
+set -o errexit
+
+top_srcdir=$(cd $(dirname $0)/../..; pwd)
+
+. ${top_srcdir}/test/scripts/testutils.sh
+
+SCRIPTS=${top_srcdir}/test/scripts
+
+tests_start() {
+ ${SCRIPTS}/light-system-test-start.sh
+}
+
+tests_stop() {
+ ${SCRIPTS}/light-system-test-stop.sh
+}
+
+${SCRIPTS}/light-system-test-prepare.sh
+
+cp ${top_srcdir}/test/known_roots/* known_roots
+
+tests_start
+
+do_merge
+check_sth
+
+assert_equal "Tree size" "$(get_treesize)" 0
+
+python ${top_srcdir}/tools/submitcert.py --parallel=1 --store ${top_srcdir}/test/bulktestcerts/0000.zip --sct-file=submittedcerts ${BASEURL} --publickey=keys/logkey.pem --cafile httpsca/demoCA/cacert.pem || (tests_stop ; fail "Submission failed")
+
+
+do_merge 2> bench-1 || (tests_stop ; fail "Merge failed")
+check_sth || (tests_stop ; fail "Check STH failed")
+
+sleep 5
+tests_stop
+sleep 5
+
+mv mergedb mergedb-down
+mv mergedb-secondary mergedb
+mkdir mergedb-secondary
+touch mergedb-secondary/logorder
+printf 0 > mergedb-secondary/verifiedsize
+
+tests_start
+
+do_merge 2> bench-2 || (tests_stop ; fail "Merge failed")
+check_sth || (tests_stop ; fail "Check STH failed")
+
+sleep 5
+tests_stop
+sleep 5
+
+mv machine/machine-1 machine/machine-1-down
+mkdir -p machine/machine-1/db
+touch machine/machine-1/db/index
+touch machine/machine-1/db/newentries
+
+tests_start
+
+do_merge 2> bench-3 || (tests_stop ; fail "Merge failed")
+check_sth || (tests_stop ; fail "Check STH failed")
+
+sleep 5
+tests_stop
+sleep 5
+
+grep timing: bench-[123] > bench.txt
+${top_srcdir}/tools/parsebench.py bench.txt > bench.html
diff --git a/test/scripts/testutils.sh b/test/scripts/testutils.sh
index 94d6223..e779e07 100644
--- a/test/scripts/testutils.sh
+++ b/test/scripts/testutils.sh
@@ -18,5 +18,5 @@ check_sth() {
}
do_merge() {
- ${top_srcdir}/tools/merge --config ${top_srcdir}/test/catlfish-test.cfg --localconfig ${top_srcdir}/test/catlfish-test-local-merge.cfg || fail "Merge failed"
+ ${top_srcdir}/tools/merge --config ${top_srcdir}/test/catlfish-test.cfg --timing --localconfig ${top_srcdir}/test/catlfish-test-local-merge.cfg || fail "Merge failed"
}