#!/bin/sh # Format: address:expected_channel:expected_nexthop # No expectation means no match is expected. # Specify "-" to expect an empty string. echo ==== no wildcard ${VALGRIND} ./transport 'inline:{rcpt1@example1.com=channel1:nexthop1, rcpt2@example2=channel2:, example3=channel3}' <<'EOF' rcpt1@example1.com:channel1:nexthop1 rcpt1+ext1@example1.com:channel1:nexthop1 rcpt2@example2:channel2:example2 rcpt@example3:channel3:example3 EOF echo ==== with wildcard channel and nexthop ${VALGRIND} ./transport 'inline:{*=channel0:nexthop0, rcpt1@example1.com=channel1:nexthop1}' <<'EOF' rcpt1@example1.com:channel1:nexthop1 rcpt2@example2:channel0:nexthop0 EOF echo ==== with wildcard channel only ${VALGRIND} ./transport 'inline:{*=channel0, rcpt1@example1.com=channel1:nexthop1}' <<'EOF' rcpt1@example1.com:channel1:nexthop1 rcpt2@example2:channel0:example2 EOF echo ==== with wildcard nexthop only ${VALGRIND} ./transport 'inline:{*=:nexthop0, rcpt1@example1.com=channel1:nexthop1}' <<'EOF' rcpt1@example1.com:channel1:nexthop1 rcpt2@example2:DEFAULT:nexthop0 EOF echo ==== with wildcard empty fields. ${VALGRIND} ./transport 'inline:{*=:, rcpt1@example1.com=channel1:nexthop1}' <<'EOF' rcpt1@example1.com:channel1:nexthop1 rcpt2@example2:DEFAULT:example2 EOF echo === subdomain test ${VALGRIND} ./transport 'inline:{example=:example-result,.example=:dot-example-result}' <<'EOF' plain1+ext@other-example: foo@example:DEFAULT:example-result foo@sub.example:DEFAULT:dot-example-result foo@sub.sub.example:DEFAULT:dot-example-result EOF