summaryrefslogtreecommitdiff
path: root/test/scripts/light-system-test.sh
blob: 7dd9fcf9802140c979c21cc403fa49d616a8894c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
#!/bin/sh

set -o nounset
set -o errexit

SOFTHSM=/usr/local/bin/softhsm2-util
INSTDIR=../catlfish
PREFIX=..

. test.shvars

tests_prepare() {
    rm -r ${INSTDIR}/tests || true
    mkdir ${INSTDIR}/tests
    make tests-createca
    make tests-createcert
    mkdir ${INSTDIR}/tests/keys
    (cd ${INSTDIR}/tests/keys ; ../../../tools/create-key.sh logkey)
    openssl pkcs8 -topk8 -nocrypt -in ${INSTDIR}/tests/keys/logkey-private.pem -out ${INSTDIR}/tests/keys/logkey-private.pkcs8
    mkdir ${INSTDIR}/tests/mergedb
    touch ${INSTDIR}/tests/mergedb/logorder
    mkdir ${INSTDIR}/tests/mergedb-secondary
    touch ${INSTDIR}/tests/mergedb-secondary/logorder
    printf 0 > ${INSTDIR}/tests/mergedb-secondary/verifiedsize
    mkdir ${INSTDIR}/tests/known_roots
    cp ../tools/testcerts/roots/* ${INSTDIR}/tests/known_roots
    for machine in ${MACHINES}; do \
        (cd ${INSTDIR}/tests; ../../tools/compileconfig.py --config ../../test/catlfish-test.cfg --localconfig ../../test/catlfish-test-local-${machine}.cfg) && \
	    mkdir -p ${INSTDIR}/tests/machine/machine-${machine}/db && \
	    touch ${INSTDIR}/tests/machine/machine-${machine}/db/index && touch ${INSTDIR}/tests/machine/machine-${machine}/db/newentries
    done
    (cd ${INSTDIR}/tests; ../../tools/compileconfig.py --config ../../test/catlfish-test.cfg --localconfig ../../test/catlfish-test-local-merge-2.cfg)
    (cd ${INSTDIR}/tests; ../../tools/compileconfig.py --config ../../test/catlfish-test.cfg --localconfig ../../test/catlfish-test-local-signing.cfg)
    mkdir ${INSTDIR}/tests/privatekeys
    mkdir ${INSTDIR}/tests/publickeys
    for node in ${NODES}; do \
        (cd ${INSTDIR}/tests/privatekeys ; ../../../tools/create-key.sh ${node}) ; \
        mv ${INSTDIR}/tests/privatekeys/${node}.pem ${INSTDIR}/tests/publickeys/ ; \
        mkdir -p ${INSTDIR}/tests/nodes/${node}/log
    done
    (cd ${INSTDIR}/tests/privatekeys ; ../../../tools/create-key.sh merge-1)
    mv ${INSTDIR}/tests/privatekeys/merge-1.pem ${INSTDIR}/tests/publickeys/
    (cd ${INSTDIR}/tests/privatekeys ; ../../../tools/create-key.sh merge-2)
    mv ${INSTDIR}/tests/privatekeys/merge-2.pem ${INSTDIR}/tests/publickeys/
    test -x ${SOFTHSM} && ${SOFTHSM} --init-token --slot=0 --label=mylabel --so-pin=ffff --pin=ffff || true
    test -x ${SOFTHSM} && ${SOFTHSM} --import ${INSTDIR}/tests/keys/logkey-private.pkcs8 --slot 0 --label mylabel --pin ffff --id 00 || true
}

tests_stop() {
    ${PREFIX}/test/scripts/light-system-test-stop.sh
}


tests_prepare
${PREFIX}/test/scripts/light-system-test-start.sh
${PREFIX}/test/scripts/light-system-test-run-1.sh || (echo "Tests failed"; sleep 5; tests_stop; false)
sleep 5
tests_stop
sleep 5
${PREFIX}/test/scripts/light-system-test-start.sh
${PREFIX}/test/scripts/light-system-test-run-2.sh || (echo "Tests failed"; sleep 5; tests_stop; false)
sleep 5
tests_stop
sleep 5
${PREFIX}/test/scripts/light-system-test-prepare-merge-takeover.sh
${PREFIX}/test/scripts/light-system-test-start.sh
${PREFIX}/test/scripts/light-system-test-run-3.sh || (echo "Tests failed"; sleep 5; tests_stop; false)
sleep 5
tests_stop
sleep 5
${PREFIX}/test/scripts/light-system-test-prepare-redistribute-frontend.sh
${PREFIX}/test/scripts/light-system-test-start.sh
${PREFIX}/test/scripts/light-system-test-run-4.sh || (echo "Tests failed"; sleep 5; tests_stop; false)
sleep 5
tests_stop