summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--test/php/fastcgi_finish_request/index.php11
-rw-r--r--test/test_php_application.py26
2 files changed, 37 insertions, 0 deletions
diff --git a/test/php/fastcgi_finish_request/index.php b/test/php/fastcgi_finish_request/index.php
new file mode 100644
index 00000000..a6211303
--- /dev/null
+++ b/test/php/fastcgi_finish_request/index.php
@@ -0,0 +1,11 @@
+<?php
+if (!isset($_GET['skip'])) {
+ echo "0123";
+}
+
+if (!fastcgi_finish_request()) {
+ error_log("Error in fastcgi_finish_request");
+}
+
+echo "4567";
+?>
diff --git a/test/test_php_application.py b/test/test_php_application.py
index f1a9e293..578de0b7 100644
--- a/test/test_php_application.py
+++ b/test/test_php_application.py
@@ -94,6 +94,32 @@ class TestPHPApplication(TestApplicationPHP):
assert resp['status'] == 200, 'query string empty status'
assert resp['headers']['Query-String'] == '', 'query string empty'
+ def test_php_application_fastcgi_finish_request(self, temp_dir):
+ self.load('fastcgi_finish_request')
+
+ assert self.get()['body'] == '0123'
+
+ unit_stop()
+
+ with open(temp_dir + '/unit.log', 'r', errors='ignore') as f:
+ errs = re.findall(r'Error in fastcgi_finish_request', f.read())
+
+ assert len(errs) == 0, 'no error'
+
+ def test_php_application_fastcgi_finish_request_2(self, temp_dir):
+ self.load('fastcgi_finish_request')
+
+ resp = self.get(url='/?skip')
+ assert resp['status'] == 200
+ assert resp['body'] == ''
+
+ unit_stop()
+
+ with open(temp_dir + '/unit.log', 'r', errors='ignore') as f:
+ errs = re.findall(r'Error in fastcgi_finish_request', f.read())
+
+ assert len(errs) == 0, 'no error'
+
def test_php_application_query_string_absent(self):
self.load('query_string')