diff --git a/_test_tools/ncsvr/ncsvr.sh b/_test_tools/ncsvr/ncsvr.sh index 9ced7a76e..3b5b4d73d 100755 --- a/_test_tools/ncsvr/ncsvr.sh +++ b/_test_tools/ncsvr/ncsvr.sh @@ -20,7 +20,11 @@ if [ -z "$1" -o -z "$2" ]; then exit 1 fi +F="/tmp/fifo.$RANDOM" + while true; do - sh -c "$2" | nc -l -p "$1" -N -w0 >/dev/null + rm -f "$F" + mkfifo "$F" + cat "$F" | sh -c "$2" 2>&1 | nc -l -p "$1" -N -w1 > "$F" date >> /var/log/hits done diff --git a/test_e2e.sh b/test_e2e.sh index 386f4a446..c1ed35fd4 100755 --- a/test_e2e.sh +++ b/test_e2e.sh @@ -937,7 +937,7 @@ function e2e::auth_askpass_url_wrong_password() { CTR=$(docker_run \ -v "$HITLOG":/var/log/hits \ e2e/test/test-ncsvr \ - 80 ' + 80 'read X echo "HTTP/1.1 200 OK" echo echo "username=my-username" @@ -969,7 +969,7 @@ function e2e::auth_askpass_url_correct_password() { CTR=$(docker_run \ -v "$HITLOG":/var/log/hits \ e2e/test/test-ncsvr \ - 80 ' + 80 'read X echo "HTTP/1.1 200 OK" echo echo "username=my-username" @@ -1022,7 +1022,7 @@ function e2e::auth_askpass_url_flaky() { CTR=$(docker_run \ -v "$HITLOG":/var/log/hits \ e2e/test/test-ncsvr \ - 80 ' + 80 'read X echo "HTTP/1.1 200 OK" echo if [ -f /tmp/flag ]; then @@ -1209,7 +1209,9 @@ function e2e::webhook_success() { CTR=$(docker_run \ -v "$HITLOG":/var/log/hits \ e2e/test/test-ncsvr \ - 80 'echo "HTTP/1.1 200 OK"') + 80 'read X + echo "HTTP/1.1 200 OK" + ') IP=$(docker_ip "$CTR") echo "$FUNCNAME 1" > "$REPO"/file git -C "$REPO" commit -qam "$FUNCNAME 1" @@ -1255,7 +1257,9 @@ function e2e::webhook_fail_retry() { CTR=$(docker_run \ -v "$HITLOG":/var/log/hits \ e2e/test/test-ncsvr \ - 80 'echo "HTTP/1.1 500 Internal Server Error"') + 80 'read X + echo "HTTP/1.1 500 Internal Server Error" + ') IP=$(docker_ip "$CTR") echo "$FUNCNAME 1" > "$REPO"/file git -C "$REPO" commit -qam "$FUNCNAME 1" @@ -1284,7 +1288,9 @@ function e2e::webhook_fail_retry() { --ip="$IP" \ -v "$HITLOG":/var/log/hits \ e2e/test/test-ncsvr \ - 80 'echo "HTTP/1.1 200 OK"') + 80 'read X + echo "HTTP/1.1 200 OK" + ') sleep 2 HITS=$(cat "$HITLOG" | wc -l) if [[ "$HITS" < 1 ]]; then @@ -1303,7 +1309,10 @@ function e2e::webhook_success_once() { CTR=$(docker_run \ -v "$HITLOG":/var/log/hits \ e2e/test/test-ncsvr \ - 80 'sleep 3 && echo "HTTP/1.1 200 OK"') + 80 'read X + sleep 3 + echo "HTTP/1.1 200 OK" + ') IP=$(docker_ip "$CTR") echo "$FUNCNAME 1" > "$REPO"/file git -C "$REPO" commit -qam "$FUNCNAME 1" @@ -1338,7 +1347,10 @@ function e2e::webhook_fail_retry_once() { CTR=$(docker_run \ -v "$HITLOG":/var/log/hits \ e2e/test/test-ncsvr \ - 80 'sleep 3 && echo "HTTP/1.1 500 Internal Server Error"') + 80 'read X + sleep 3 + echo "HTTP/1.1 500 Internal Server Error" + ') IP=$(docker_ip "$CTR") echo "$FUNCNAME 1" > "$REPO"/file git -C "$REPO" commit -qam "$FUNCNAME 1" @@ -1373,7 +1385,9 @@ function e2e::webhook_fire_and_forget() { CTR=$(docker_run \ -v "$HITLOG":/var/log/hits \ e2e/test/test-ncsvr \ - 80 'echo "HTTP/1.1 404 Not Found"') + 80 'read X + echo "HTTP/1.1 404 Not Found" + ') IP=$(docker_ip "$CTR") # First sync