]> granicus.if.org Git - php/commitdiff
add more tests for #60634 (stems from #21306) and xfail them all for the moment
authorArpad Ray <arpad@php.net>
Wed, 4 Jan 2012 11:44:05 +0000 (11:44 +0000)
committerArpad Ray <arpad@php.net>
Wed, 4 Jan 2012 11:44:05 +0000 (11:44 +0000)
ext/session/tests/bug60634.phpt
ext/session/tests/bug60634_error_1.phpt [new file with mode: 0644]
ext/session/tests/bug60634_error_2.phpt [new file with mode: 0644]
ext/session/tests/bug60634_error_3.phpt [new file with mode: 0644]
ext/session/tests/bug60634_error_4.phpt [new file with mode: 0644]
ext/session/tests/bug60634_error_5.phpt [new file with mode: 0644]

index e2dfd15b37a870907b8298b4ba79830a63da9dd2..2ec0c26c13c5cc50a1bce79f6a43b0ae80d4fac4 100644 (file)
@@ -1,5 +1,7 @@
 --TEST--
 Bug #60634 (Segmentation fault when trying to die() in SessionHandler::write())
+--XFAIL--
+Long term low priority bug, working on it
 --INI--
 session.save_path=
 session.name=PHPSESSID
@@ -42,4 +44,3 @@ echo "um, hi\n";
 ?>
 --EXPECTF--
 write: goodbye cruel world
-close: goodbye cruel world
diff --git a/ext/session/tests/bug60634_error_1.phpt b/ext/session/tests/bug60634_error_1.phpt
new file mode 100644 (file)
index 0000000..3b6e394
--- /dev/null
@@ -0,0 +1,49 @@
+--TEST--
+Bug #60634 (Segmentation fault when trying to die() in SessionHandler::write()) - fatal error in write during exec
+--XFAIL--
+Long term low priority bug, working on it
+--INI--
+session.save_path=
+session.name=PHPSESSID
+--SKIPIF--
+<?php include('skipif.inc'); ?>
+--FILE--
+<?php
+
+ob_start();
+
+function open($save_path, $session_name) {
+    return true;
+}
+
+function close() {
+       echo "close: goodbye cruel world\n";
+}
+
+function read($id) {
+       return '';
+}
+
+function write($id, $session_data) {
+       echo "write: goodbye cruel world\n";
+       undefined_function();
+}
+
+function destroy($id) {
+    return true;
+}
+
+function gc($maxlifetime) {
+    return true;
+}
+
+session_set_save_handler('open', 'close', 'read', 'write', 'destroy', 'gc');
+session_start();
+session_write_close();
+echo "um, hi\n";
+
+?>
+--EXPECTF--
+write: goodbye cruel world
+
+Fatal error: Call to undefined function undefined_function() in %s on line %d
diff --git a/ext/session/tests/bug60634_error_2.phpt b/ext/session/tests/bug60634_error_2.phpt
new file mode 100644 (file)
index 0000000..265fb30
--- /dev/null
@@ -0,0 +1,49 @@
+--TEST--
+Bug #60634 (Segmentation fault when trying to die() in SessionHandler::write()) - exception in write during exec
+--XFAIL--
+Long term low priority bug, working on it
+--INI--
+session.save_path=
+session.name=PHPSESSID
+--SKIPIF--
+<?php include('skipif.inc'); ?>
+--FILE--
+<?php
+
+ob_start();
+
+function open($save_path, $session_name) {
+    return true;
+}
+
+function close() {
+       echo "close: goodbye cruel world\n";
+}
+
+function read($id) {
+       return '';
+}
+
+function write($id, $session_data) {
+       echo "write: goodbye cruel world\n";
+       throw new Exception;
+}
+
+function destroy($id) {
+    return true;
+}
+
+function gc($maxlifetime) {
+    return true;
+}
+
+session_set_save_handler('open', 'close', 'read', 'write', 'destroy', 'gc');
+session_start();
+session_write_close();
+echo "um, hi\n";
+
+?>
+--EXPECTF--
+write: goodbye cruel world
+
+Fatal error: Uncaught exception 'Exception' in %s
diff --git a/ext/session/tests/bug60634_error_3.phpt b/ext/session/tests/bug60634_error_3.phpt
new file mode 100644 (file)
index 0000000..b2004d6
--- /dev/null
@@ -0,0 +1,48 @@
+--TEST--
+Bug #60634 (Segmentation fault when trying to die() in SessionHandler::write()) - fatal error in write after exec
+--XFAIL--
+Long term low priority bug, working on it
+--INI--
+session.save_path=
+session.name=PHPSESSID
+--SKIPIF--
+<?php include('skipif.inc'); ?>
+--FILE--
+<?php
+
+ob_start();
+
+function open($save_path, $session_name) {
+    return true;
+}
+
+function close() {
+       echo "close: goodbye cruel world\n";
+       exit;
+}
+
+function read($id) {
+       return '';
+}
+
+function write($id, $session_data) {
+       echo "write: goodbye cruel world\n";
+       undefined_function();
+}
+
+function destroy($id) {
+    return true;
+}
+
+function gc($maxlifetime) {
+    return true;
+}
+
+session_set_save_handler('open', 'close', 'read', 'write', 'destroy', 'gc');
+session_start();
+
+?>
+--EXPECTF--
+write: goodbye cruel world
+
+Fatal error: Call to undefined function undefined_function() in %s on line %d
diff --git a/ext/session/tests/bug60634_error_4.phpt b/ext/session/tests/bug60634_error_4.phpt
new file mode 100644 (file)
index 0000000..60bc0dc
--- /dev/null
@@ -0,0 +1,48 @@
+--TEST--
+Bug #60634 (Segmentation fault when trying to die() in SessionHandler::write()) - exception in write after exec
+--XFAIL--
+Long term low priority bug, working on it
+--INI--
+session.save_path=
+session.name=PHPSESSID
+--SKIPIF--
+<?php include('skipif.inc'); ?>
+--FILE--
+<?php
+
+ob_start();
+
+function open($save_path, $session_name) {
+    return true;
+}
+
+function close() {
+       echo "close: goodbye cruel world\n";
+       exit;
+}
+
+function read($id) {
+       return '';
+}
+
+function write($id, $session_data) {
+       echo "write: goodbye cruel world\n";
+       throw new Exception;
+}
+
+function destroy($id) {
+    return true;
+}
+
+function gc($maxlifetime) {
+    return true;
+}
+
+session_set_save_handler('open', 'close', 'read', 'write', 'destroy', 'gc');
+session_start();
+
+?>
+--EXPECTF--
+write: goodbye cruel world
+
+Fatal error: Uncaught exception 'Exception' in %s
diff --git a/ext/session/tests/bug60634_error_5.phpt b/ext/session/tests/bug60634_error_5.phpt
new file mode 100644 (file)
index 0000000..376b65f
--- /dev/null
@@ -0,0 +1,49 @@
+--TEST--
+Bug #60634 (Segmentation fault when trying to die() in SessionHandler::write()) - fatal error in close during exec
+--XFAIL--
+Long term low priority bug, working on it
+--INI--
+session.save_path=
+session.name=PHPSESSID
+--SKIPIF--
+<?php include('skipif.inc'); ?>
+--FILE--
+<?php
+
+ob_start();
+
+function open($save_path, $session_name) {
+    return true;
+}
+
+function close() {
+       echo "close: goodbye cruel world\n";
+       undefined_function();
+}
+
+function read($id) {
+       return '';
+}
+
+function write($id, $session_data) {
+       return true;
+}
+
+function destroy($id) {
+    return true;
+}
+
+function gc($maxlifetime) {
+    return true;
+}
+
+session_set_save_handler('open', 'close', 'read', 'write', 'destroy', 'gc');
+session_start();
+session_write_close();
+echo "um, hi\n";
+
+?>
+--EXPECTF--
+close: goodbye cruel world
+
+Fatal error: Call to undefined function undefined_function() in %s on line %d