mirror of
https://blitiri.com.ar/repos/chasquid
synced 2025-12-17 14:37:02 +00:00
This patch updates the shell scripts with some of the common best practices, which should make them more resilient to unusual failures and unexpected environments (in particular, directories with spaces). Most of these were identified by shellcheck.
50 lines
1.1 KiB
Bash
Executable File
50 lines
1.1 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
set -e
|
|
. "$(dirname "$0")/../util/lib.sh"
|
|
|
|
init
|
|
check_hostaliases
|
|
|
|
mkdir -p .logs
|
|
|
|
generate_certs_for testserver
|
|
add_user user@testserver secretpassword
|
|
add_user someone@testserver secretpassword
|
|
|
|
function send_one() {
|
|
rm -f .logs/mail_log .logs/stdout .logs/stderr
|
|
envsubst < config/chasquid.conf.in > config/chasquid.conf
|
|
|
|
chasquid -v=2 --logfile=.logs/chasquid.log --config_dir=config \
|
|
> .logs/stdout 2> .logs/stderr &
|
|
wait_until_ready 1025
|
|
|
|
run_msmtp someone@testserver < content
|
|
wait_for_file .mail/someone@testserver
|
|
mail_diff content .mail/someone@testserver
|
|
|
|
pkill -s 0 chasquid
|
|
sleep 0.2
|
|
}
|
|
|
|
export MAIL_LOG_PATH="../.logs/mail_log"
|
|
send_one
|
|
if ! grep -q "from=user@testserver all done" .logs/mail_log; then
|
|
fail "entries not found in .logs/mail_log"
|
|
fi
|
|
|
|
export MAIL_LOG_PATH="<stdout>"
|
|
send_one
|
|
if ! grep -q "from=user@testserver all done" .logs/stdout; then
|
|
fail "entries not found in .logs/stdout"
|
|
fi
|
|
|
|
export MAIL_LOG_PATH="<stderr>"
|
|
send_one
|
|
if ! grep -q "from=user@testserver all done" .logs/stderr; then
|
|
fail "entries not found in .logs/stderr"
|
|
fi
|
|
|
|
success
|