diff --git i/tests/test-webserver.sh w/tests/test-webserver.sh index 6d10b011..52128884 100755 --- i/tests/test-webserver.sh +++ w/tests/test-webserver.sh @@ -3,25 +3,25 @@ set -euo pipefail dir=$1 -cmd=${2:-python -m SimpleHTTPServer 0} +cmd=${2:-python -m http.server 0} test_tmpdir=$(pwd) [ "$dir" != "" ] && cd ${dir} echo "Running web server: PYTHONUNBUFFERED=1 setsid $cmd" >&2 touch ${test_tmpdir}/httpd-output env PYTHONUNBUFFERED=1 setsid $cmd >${test_tmpdir}/httpd-output & child_pid=$! echo "Web server pid: $child_pid" >&2 for x in $(seq 300); do echo "Waiting for web server ($x/300)..." >&2 # Snapshot the output cp ${test_tmpdir}/httpd-output{,.tmp} sed -ne 's/^/# httpd-output.tmp: /' < ${test_tmpdir}/httpd-output.tmp >&2 echo >&2 # If it's non-empty, see whether it matches our regexp if test -s ${test_tmpdir}/httpd-output.tmp; then - sed -e 's,Serving HTTP on 0.0.0.0 port \([0-9]*\) \.\.\.,\1,' < ${test_tmpdir}/httpd-output.tmp > ${test_tmpdir}/httpd-port + sed -e 's,Serving HTTP on 0.0.0.0 port \([0-9]*\) .*,\1,' < ${test_tmpdir}/httpd-output.tmp > ${test_tmpdir}/httpd-port if ! cmp ${test_tmpdir}/httpd-output.tmp ${test_tmpdir}/httpd-port 1>/dev/null; then # If so, we've successfully extracted the port break