This is to allow smtp-dummy to potentially be used from multiple T*.sh without collisions during parallel test running. --- test/T310-emacs.sh | 3 +++ test/smtp-dummy.c | 7 ++++++- test/test-lib.sh | 4 +++- 3 files changed, 12 insertions(+), 2 deletions(-)
diff --git a/test/T310-emacs.sh b/test/T310-emacs.sh index c06a8133..3eab1ba9 100755 --- a/test/T310-emacs.sh +++ b/test/T310-emacs.sh @@ -5,6 +5,9 @@ test_description="emacs interface" EXPECTED=$NOTMUCH_SRCDIR/test/emacs.expected-output +# this port must be unique to each test script using smtp-dummy +export SMTP_DUMMY_PORT=25125 + add_email_corpus # syntax errors in test-lib.el cause mysterious failures diff --git a/test/smtp-dummy.c b/test/smtp-dummy.c index 71992edd..4cd66f5c 100644 --- a/test/smtp-dummy.c +++ b/test/smtp-dummy.c @@ -120,6 +120,7 @@ int main (int argc, char *argv[]) { const char *progname; + const char *port_str; char *output_filename; FILE *peer_file = NULL, *output = NULL; int sock = -1, peer, err; @@ -191,7 +192,11 @@ main (int argc, char *argv[]) memset (&addr, 0, sizeof (addr)); addr.sin_family = AF_INET; - addr.sin_port = htons (25025); + if ((port_str = getenv ("SMTP_DUMMY_PORT"))) + addr.sin_port = htons (atoi (port_str)); + else + addr.sin_port = htons (25025); + addr.sin_addr = *(struct in_addr *) hostinfo->h_addr; err = bind (sock, (struct sockaddr *) &addr, sizeof (addr)); if (err) { diff --git a/test/test-lib.sh b/test/test-lib.sh index 43339902..f3be537b 100644 --- a/test/test-lib.sh +++ b/test/test-lib.sh @@ -93,6 +93,8 @@ TEST_GDB=${TEST_GDB:-gdb} TEST_CC=${TEST_CC:-cc} TEST_CFLAGS=${TEST_CFLAGS:-"-g -O0"} +SMTP_DUMMY_PORT=${SMTP_DUMMY_PORT:-25025} + # Protect ourselves from common misconfiguration to export # CDPATH into the environment unset CDPATH @@ -324,7 +326,7 @@ emacs_deliver_message () "(let ((message-send-mail-function 'message-smtpmail-send-it) (mail-host-address \"example.com\") (smtpmail-smtp-server \"localhost\") - (smtpmail-smtp-service \"25025\")) + (smtpmail-smtp-service \"${SMTP_DUMMY_PORT}\")) (notmuch-mua-mail) (message-goto-to) (insert \"test_su...@notmuchmail.org\nDate: 01 Jan 2000 12:00:00 -0000\") -- 2.20.1 _______________________________________________ notmuch mailing list notmuch@notmuchmail.org https://notmuchmail.org/mailman/listinfo/notmuch