diff options
author | Linus Nordberg <linus@nordu.net> | 2016-11-23 17:09:48 +0100 |
---|---|---|
committer | Linus Nordberg <linus@nordu.net> | 2016-11-23 17:09:48 +0100 |
commit | 19a2a611a839c0318f58347e2d93943c8e2401a5 (patch) | |
tree | 18cd302161a88d4546b39792a4bff6b1ade95c77 /test/scripts | |
parent | 27e368196ce65e109c027987c706a697356f7bc5 (diff) |
WIP
Merge can run as four separate processes, plus a fifth controlling
proces 'merge'.
Tests are limited to testcase1.py and they're failing because of the
test with the dead merge secondary. Tests are also time consuming
because they're waiting for 60s each time a merge needs to be
verified. This could be improved by peeking at the control files, for
example.
Diffstat (limited to 'test/scripts')
-rwxr-xr-x | test/scripts/continuous-merge-start.sh | 10 | ||||
-rwxr-xr-x | test/scripts/continuous-merge-stop.sh | 6 | ||||
-rwxr-xr-x | test/scripts/continuous-merge-test-run-1.sh | 56 | ||||
-rwxr-xr-x | test/scripts/continuous-merge-test.sh | 27 | ||||
-rw-r--r-- | test/scripts/testutils.sh | 2 |
5 files changed, 100 insertions, 1 deletions
diff --git a/test/scripts/continuous-merge-start.sh b/test/scripts/continuous-merge-start.sh new file mode 100755 index 0000000..666512f --- /dev/null +++ b/test/scripts/continuous-merge-start.sh @@ -0,0 +1,10 @@ +#!/bin/sh + +set -o nounset +set -o errexit + +top_srcdir=$(cd $(dirname $0)/../..; pwd) + +. ${top_srcdir}/test/scripts/testutils.sh + +do_merge --mergeinterval 30 --pidfile merge.pid diff --git a/test/scripts/continuous-merge-stop.sh b/test/scripts/continuous-merge-stop.sh new file mode 100755 index 0000000..f6632f8 --- /dev/null +++ b/test/scripts/continuous-merge-stop.sh @@ -0,0 +1,6 @@ +#!/bin/sh + +set -o nounset + +kill $(cat merge.pid) +exit 0 diff --git a/test/scripts/continuous-merge-test-run-1.sh b/test/scripts/continuous-merge-test-run-1.sh new file mode 100755 index 0000000..537ff2f --- /dev/null +++ b/test/scripts/continuous-merge-test-run-1.sh @@ -0,0 +1,56 @@ +#!/bin/sh + +set -o nounset +set -o errexit + +top_srcdir=$(cd $(dirname $0)/../..; pwd) + +. ${top_srcdir}/test/scripts/testutils.sh + +python ${top_srcdir}/tools/testcase1.py https://localhost:8080/ keys/logkey.pem httpsca/demoCA/cacert.pem ${top_srcdir}/test --nomerge || fail "Tests failed" +check_sth +python ${top_srcdir}/tools/fetchallcerts.py ${BASEURL} --publickey=keys/logkey.pem --cafile httpsca/demoCA/cacert.pem || fail "Verification failed" +python ${top_srcdir}/tools/storagegc.py --config ${top_srcdir}/test/catlfish-test.cfg --localconfig ${top_srcdir}/test/catlfish-test-local-1.cfg || fail "GC failed" +for certfile in ${top_srcdir}/tools/testcerts/cert[1-5].txt ${top_srcdir}/tools/testcerts/pre[12].txt; do + python ${top_srcdir}/tools/submitcert.py --parallel=1 --store $certfile --check-sct --sct-file=submittedcerts ${BASEURL} --publickey=keys/logkey.pem --cafile httpsca/demoCA/cacert.pem || fail "Submission failed" +done +python ${top_srcdir}/tools/storagegc.py --config ${top_srcdir}/test/catlfish-test.cfg --localconfig ${top_srcdir}/test/catlfish-test-local-1.cfg || fail "GC failed" +echo "$0: sleeping for 60 seconds" +sleep 60 +check_sth + +assert_equal "Tree size" "$(get_treesize)" 7 + +mkdir fetchcertstore +python ${top_srcdir}/tools/fetchallcerts.py ${BASEURL} --store fetchcertstore --publickey=keys/logkey.pem --cafile httpsca/demoCA/cacert.pem || fail "Verification failed" +(cd fetchcertstore && unzip 0000.zip) + +python ${top_srcdir}/tools/comparecert.py ${top_srcdir}/tools/testcerts/cert1.txt fetchcertstore/00000000 || fail "Verification failed" +python ${top_srcdir}/tools/comparecert.py ${top_srcdir}/tools/testcerts/cert2.txt fetchcertstore/00000001 || fail "Verification failed" +python ${top_srcdir}/tools/comparecert.py ${top_srcdir}/tools/testcerts/cert3.txt fetchcertstore/00000002 || fail "Verification failed" +python ${top_srcdir}/tools/comparecert.py ${top_srcdir}/tools/testcerts/cert4.txt fetchcertstore/00000003 || fail "Verification failed" +python ${top_srcdir}/tools/comparecert.py ${top_srcdir}/tools/testcerts/cert5.txt fetchcertstore/00000004 || fail "Verification failed" +python ${top_srcdir}/tools/comparecert.py ${top_srcdir}/tools/testcerts/pre1.txt:${top_srcdir}/tools/testcerts/pre2.txt fetchcertstore/00000005:fetchcertstore/00000006 || fail"Verification failed" +python ${top_srcdir}/tools/storagegc.py --config ${top_srcdir}/test/catlfish-test.cfg --localconfig ${top_srcdir}/test/catlfish-test-local-1.cfg || fail "GC failed" + +echo NOTE: merge backup should fail with 111 Connection refused +${top_srcdir}/tools/to_catlfish.py to_erl nodes/merge-2/ "init:stop()" +python ${top_srcdir}/tools/submitcert.py --parallel=1 --store ${top_srcdir}/tools/testcerts/cert6.txt --check-sct --sct-file=submittedcerts ${BASEURL} --publickey=keys/logkey.pem --cafile httpsca/demoCA/cacert.pem || fail "Submission failed" + +echo "$0: sleeping for 60 seconds" +sleep 60 +assert_equal "Tree size" "$(get_treesize)" 7 + +check_sth +../bin/run_erl -daemon nodes/merge-2/ nodes/merge-2/log/ "exec ../bin/erl -config merge-2" +for i in 1 2 3 4 5 6 7 8 9 10; do + echo "waiting for system to start" ; \ + sleep 0.5 ; \ + if curl -s --cacert httpsca/demoCA/cacert.pem -4 https://localhost:8181 > /dev/null ; then break; fi +done + +echo "$0: sleeping for 60 seconds" +sleep 60 +assert_equal "Tree size" "$(get_treesize)" 8 + +check_sth diff --git a/test/scripts/continuous-merge-test.sh b/test/scripts/continuous-merge-test.sh new file mode 100755 index 0000000..3bb6de2 --- /dev/null +++ b/test/scripts/continuous-merge-test.sh @@ -0,0 +1,27 @@ +#!/bin/sh + +set -o nounset +set -o errexit + +top_srcdir=$(cd $(dirname $0)/../..; pwd) + +. ${top_srcdir}/test/test.shvars + +SCRIPTS=${top_srcdir}/test/scripts + +tests_start() { + ${SCRIPTS}/light-system-test-start.sh + ${SCRIPTS}/continuous-merge-start.sh & +} + +tests_stop() { + ${SCRIPTS}/continuous-merge-stop.sh + ${SCRIPTS}/light-system-test-stop.sh +} + +echo "$0: starting" +${SCRIPTS}/light-system-test-prepare.sh +tests_start +${SCRIPTS}/continuous-merge-test-run-1.sh || (echo "Tests failed"; sleep 5; tests_stop; false) +sleep 5 +tests_stop diff --git a/test/scripts/testutils.sh b/test/scripts/testutils.sh index 94d6223..908c990 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 --localconfig ${top_srcdir}/test/catlfish-test-local-merge.cfg $@ || fail "Merge failed" } |