fix: avoid pipefail/SIGPIPE by using temp files for HTTP tests
This commit is contained in:
+10
-4
@@ -58,10 +58,16 @@ done
|
|||||||
|
|
||||||
echo ""
|
echo ""
|
||||||
echo "Test: GET /"
|
echo "Test: GET /"
|
||||||
RESPONSE=$(curl -sf -D - "$BASE_URL/")
|
TMPDIR=$(mktemp -d)
|
||||||
STATUS=$(echo "$RESPONSE" | head -1 | grep -oP '\d{3}')
|
cleanup() {
|
||||||
CONTENT_TYPE=$(echo "$RESPONSE" | grep -i 'content-type' | tr -d '\r' | cut -d: -f2- | xargs)
|
docker rm -f "$CONTAINER_NAME" >/dev/null 2>&1 || true
|
||||||
BODY=$(echo "$RESPONSE" | sed -n '/^\r$/,$p' | tail -n +2)
|
rm -rf "$TMPDIR"
|
||||||
|
}
|
||||||
|
curl -sf -o "$TMPDIR/body" -D "$TMPDIR/headers" "$BASE_URL/"
|
||||||
|
STATUS=$(head -1 "$TMPDIR/headers" | grep -oP '\d{3}')
|
||||||
|
CONTENT_TYPE=$(grep -i 'content-type' "$TMPDIR/headers" | tr -d '\r' | cut -d: -f2- | xargs)
|
||||||
|
BODY=$(cat "$TMPDIR/body")
|
||||||
|
trap cleanup EXIT
|
||||||
|
|
||||||
assert "HTTP status is 200" "200" "$STATUS"
|
assert "HTTP status is 200" "200" "$STATUS"
|
||||||
assert_match "Content-Type is text/html" "text/html" "$CONTENT_TYPE"
|
assert_match "Content-Type is text/html" "text/html" "$CONTENT_TYPE"
|
||||||
|
|||||||
Reference in New Issue
Block a user