diff options
author | Linus Nordberg <linus@nordu.net> | 2016-11-25 10:54:17 +0100 |
---|---|---|
committer | Linus Nordberg <linus@nordu.net> | 2016-11-25 10:54:17 +0100 |
commit | 9f436ce835aba793cc06525e160bd2e07dd8f7cd (patch) | |
tree | 4a6a0a74cd6b054b51a6ab8f1767caf820970d59 /test | |
parent | 034c40cc84f28fd970fc649ffe7eb7fe797479a6 (diff) | |
parent | ccfe7c55a5d1658c0f98aac2c45e76444dcd0bc2 (diff) |
Merge remote-tracking branch 'refs/remotes/map/robust-distribution'
Diffstat (limited to 'test')
-rw-r--r-- | test/Makefile | 6 | ||||
-rwxr-xr-x | test/scripts/light-system-test-prepare.sh | 16 | ||||
-rwxr-xr-x | test/scripts/perf-test.sh | 71 | ||||
-rw-r--r-- | test/scripts/testutils.sh | 2 |
4 files changed, 86 insertions, 9 deletions
diff --git a/test/Makefile b/test/Makefile index bd58cfe..c92c30d 100644 --- a/test/Makefile +++ b/test/Makefile @@ -18,3 +18,9 @@ tests: rm -r $(INSTDIR)/tests || true mkdir $(INSTDIR)/tests (cd $(INSTDIR)/tests && ../../test/scripts/light-system-test.sh) + +perf-tests: + @make tests-makemk + rm -r $(INSTDIR)/tests || true + mkdir $(INSTDIR)/tests + (cd $(INSTDIR)/tests && ../../test/scripts/perf-test.sh) 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" } |