Changeset a08b25e in mod_gnutls for test


Ignore:
Timestamp:
Nov 25, 2015, 5:14:01 PM (4 years ago)
Author:
Thomas Klute <thomas2.klute@…>
Branches:
debian/master, debian/stretch-backports, jessie-backports, master, upstream
Children:
412ee84
Parents:
3e04c0b
git-author:
Thomas Klute <thomas2.klute@…> (11/25/15 16:58:03)
git-committer:
Thomas Klute <thomas2.klute@…> (11/25/15 17:14:01)
Message:

Test suite: Listen on IPv6 and IPv4 loopback by default

Distributions handle host names for loopback addresses and their
resolution differently, which caused trouble with the previous
defaults of TEST_HOST=localhost and TEST_IP=[::1]. While they work
fine on Debian, tests on Ubuntu failed apparently randomly because
connections to localhost sometimes used 127.0.0.1, and setting
TEST_IP=127.0.0.1 would sometimes be hit by the opposite effect.

The best solution seems to be to let the test servers listen on both
IPv4 and IPv6 loopback addresses (127.0.0.1 and [::1]): "localhost"
should always resolve to at least one of them, so we don't have to
care about the details. Apache handles the transport layer anyway, so
this change will not hide bugs in mod_gnutls itself.

Listening on both addresses is achieved by treating TEST_IP as a list
of addresses to listen on, changing the default to "[::1] 127.0.0.1",
and building a config file containing "Listen" directives for the test
servers from that. With this change there is no need to export TEST_IP
to the test environment any more.

Users who want to set their own TEST_IP can do so as before, but
should note that IPv6 addresses must be enclosed in square brackets.

Location:
test
Files:
1 added
4 edited

Legend:

Unmodified
Added
Removed
  • test/.gitignore

    r3e04c0b ra08b25e  
    11cache
     2listen.conf
    23*~
    34logs
  • test/Makefile.am

    r3e04c0b ra08b25e  
    146146        export TEST_LOCK_WAIT="$(lock_wait)"; \
    147147        export TEST_HOST="$(TEST_HOST)"; \
    148         export TEST_IP="$(TEST_IP)"; \
    149148        export TEST_PORT="$(TEST_PORT)"; \
    150149        export MSVA_PORT="$(MSVA_PORT)"; \
     
    152151        export TEST_MSVA_WAIT="$(TEST_MSVA_WAIT)"; \
    153152        export TEST_QUERY_DELAY="$(TEST_QUERY_DELAY)"; \
    154         export BACKEND_HOST="$(TEST_HOST)"; \
    155         export BACKEND_IP="$(TEST_IP)";
     153        export BACKEND_HOST="$(TEST_HOST)";
    156154
    157155# Echo AM_TESTS_ENVIRONMENT. This can be useful for debugging, e.g. if
  • test/base_apache.conf

    r3e04c0b ra08b25e  
    1414TypesConfig ${srcdir}/mime.types
    1515
    16 Listen ${TEST_IP}:${TEST_PORT}
     16Include ${srcdir}/listen.conf
    1717
    1818DocumentRoot ${srcdir}/data
  • test/runtests

    r3e04c0b ra08b25e  
    1717
    1818BADVARS=0
    19 for v in APACHE2 TEST_HOST TEST_IP TEST_PORT TEST_QUERY_DELAY TEST_MSVA_WAIT \
     19for v in APACHE2 TEST_HOST TEST_PORT TEST_QUERY_DELAY TEST_MSVA_WAIT \
    2020                 MSVA_PORT TEST_LOCK; do
    2121    if [ ! -v "$v" ]; then
Note: See TracChangeset for help on using the changeset viewer.