diff --git a/test/config/dovecot-lmtp/dh.pem b/test/config/dovecot-lmtp/dh.pem new file mode 100644 index 00000000..4ebe8dd2 --- /dev/null +++ b/test/config/dovecot-lmtp/dh.pem @@ -0,0 +1,8 @@ +-----BEGIN DH PARAMETERS----- +MIIBCAKCAQEAlYgX/PXMu60WVkgKXOqnT562wd2F3l1WDwyn7DLWDqb9rCI6SAB8 +8uDkImAeoRFQycL77fXBqO9KKVk5x569Qjltacbw4/taOhWPAq/+6Wf5bZsUEp5g +wD+hLvgYn/0pdGkjiAJ+jlRBxarF9lJac4QPztqw3qJPtVdIKbmo58hoxERIthD2 +f/ZkGjaZXzOIvD8Ai0NQ+H4k5DK5dLlFI78XbrsH161t4Jcspq+v5VUdUyUMAvti +4peK0RgHw47h90kkee+qIf5F+WWSw28tjkbILWx2ld/bN59eZj4itb3UUw/OZRpC +Y0pOBOvl1wp5PS+pUJAMsg6PR50yPNYREwIBAg== +-----END DH PARAMETERS----- diff --git a/test/config/relay-hosts/dhparams.pem b/test/config/relay-hosts/dhparams.pem new file mode 100644 index 00000000..4ebe8dd2 --- /dev/null +++ b/test/config/relay-hosts/dhparams.pem @@ -0,0 +1,8 @@ +-----BEGIN DH PARAMETERS----- +MIIBCAKCAQEAlYgX/PXMu60WVkgKXOqnT562wd2F3l1WDwyn7DLWDqb9rCI6SAB8 +8uDkImAeoRFQycL77fXBqO9KKVk5x569Qjltacbw4/taOhWPAq/+6Wf5bZsUEp5g +wD+hLvgYn/0pdGkjiAJ+jlRBxarF9lJac4QPztqw3qJPtVdIKbmo58hoxERIthD2 +f/ZkGjaZXzOIvD8Ai0NQ+H4k5DK5dLlFI78XbrsH161t4Jcspq+v5VUdUyUMAvti +4peK0RgHw47h90kkee+qIf5F+WWSw28tjkbILWx2ld/bN59eZj4itb3UUw/OZRpC +Y0pOBOvl1wp5PS+pUJAMsg6PR50yPNYREwIBAg== +-----END DH PARAMETERS----- diff --git a/test/test_helper/common.bash b/test/test_helper/common.bash index 82fb86c5..00d1635f 100644 --- a/test/test_helper/common.bash +++ b/test/test_helper/common.bash @@ -5,6 +5,7 @@ NAME=tvial/docker-mailserver:testing # default timeout is 120 seconds TEST_TIMEOUT_IN_SECONDS=${TEST_TIMEOUT_IN_SECONDS-120} +NUMBER_OF_LOG_LINES=${NUMBER_OF_LOG_LINES-10} function repeat_until_success_or_timeout { if ! [[ "$1" =~ ^[0-9]+$ ]]; then @@ -31,16 +32,25 @@ function wait_for_smtp_port_in_container() { # @param $1 name of the postfix container function wait_for_finished_setup_in_container() { - repeat_until_success_or_timeout $TEST_TIMEOUT_IN_SECONDS sh -c "docker logs $1 | grep 'is up and running'" + local status=0 + repeat_until_success_or_timeout $TEST_TIMEOUT_IN_SECONDS sh -c "docker logs $1 | grep 'is up and running'" || status=1 + if [[ $status -eq 1 ]]; then + echo "Last $NUMBER_OF_LOG_LINES lines of container \`$1\`'s log" + docker logs $1 | tail -n $NUMBER_OF_LOG_LINES + fi + return $status } -SETUP_FILE_MARKER="$BATS_TMPDIR/`basename \"$BATS_TEST_FILENAME\".setup_file`" +SETUP_FILE_MARKER="$BATS_TMPDIR/`basename \"$BATS_TEST_FILENAME\"`.setup_file" # use in setup() in conjunction with a `@test "first" {}` to trigger setup_file reliably function run_setup_file_if_necessary() { if [ "$BATS_TEST_NAME" == 'test_first' ]; then - rm -f "$SETUP_FILE_MARKE" + # prevent old markers from marking success or get an error if we cannot remove due to permissions + rm -f "$SETUP_FILE_MARKER" + setup_file + touch "$SETUP_FILE_MARKER" else if [ ! -f "$SETUP_FILE_MARKER" ]; then @@ -53,7 +63,8 @@ function run_setup_file_if_necessary() { # use in teardown() in conjunction with a `@test "last" {}` to trigger teardown_file reliably function run_teardown_file_if_necessary() { if [ "$BATS_TEST_NAME" == 'test_last' ]; then - rm -f "$SETUP_FILE_MARKE" + # cleanup setup file marker + rm -f "$SETUP_FILE_MARKER" teardown_file fi }