Commit Diff


commit - 5d22294a59e7e9cbe6457b9e6244fff2ede09956
commit + 9adeb265792f0049321c34bf9e32674b0be65942
blob - a186ce857f9f8e33cba0bea6aed1ddb45bbb1ce9
blob + 30a6fd97056d67b975d5bd78eeeb1b01be02441a
--- regress/regress
+++ regress/regress
@@ -50,7 +50,7 @@ run_test test_block_return_fmt
 run_test test_require_client_ca
 run_test test_root_inside_location
 run_test test_root_inside_location_with_redirect
-# run_test test_fastcgi		XXX: needs to be fixed
+run_test test_fastcgi
 run_test test_macro_expansion
 run_test test_proxy_relay_to
 run_test test_proxy_with_certs
blob - a46e44dc4fb7f79385e4b1110ec728454e36a8b1
blob + eb9b54f3eed539ff6e3d6cafe75dc91522848d4f
--- regress/tests.sh
+++ regress/tests.sh
@@ -205,11 +205,25 @@ location "/foo/*" { root "'$PWD'/testdata" strip 1 }'
 }
 
 test_fastcgi() {
-	# XXX: prefork 1 for testing
-	setup_simple_test 'prefork 1' 'fastcgi spawn "'$PWD'/fcgi-test"'
+	./fcgi-test fcgi.sock &
+	fcgi_pid=$!
 
-	fetch /
-	check_reply "20 text/gemini" "# Hello, world!"
+	setup_simple_test 'prefork 1' 'fastcgi "'$PWD'/fcgi.sock"'
+
+	i=0
+	while [ $i -lt 10 ]; do
+		fetch /
+		check_reply "20 text/gemini" "# hello from fastcgi!"
+		if [ $? -ne 0 ]; then
+			kill $fcgi_pid
+			return 1
+		fi
+
+		i=$(($i + 1))
+	done
+
+	kill $fcgi_pid
+	return 0
 }
 
 test_macro_expansion() {