diff options
author | Gwynne Raskind <gwynne@php.net> | 2008-03-07 23:20:54 +0000 |
---|---|---|
committer | Gwynne Raskind <gwynne@php.net> | 2008-03-07 23:20:54 +0000 |
commit | 8bbef4f940c4df2b319196a8a3d2c6110ac0782b (patch) | |
tree | 50b91f0d9452c7491388b6a1ef55b15813a8aefa | |
parent | 3e99d5cc5b1c3f47e3c65d39d73cdd1943d9782f (diff) | |
download | php-git-8bbef4f940c4df2b319196a8a3d2c6110ac0782b.tar.gz |
Forgot one file in last commit
-rw-r--r-- | ext/session/tests/bug32330.phpt | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/ext/session/tests/bug32330.phpt b/ext/session/tests/bug32330.phpt new file mode 100644 index 0000000000..c0d3370e01 --- /dev/null +++ b/ext/session/tests/bug32330.phpt @@ -0,0 +1,85 @@ +--TEST-- +Bug #32330 (session_destroy, "Failed to initialize storage module", custom session handler) +--SKIPIF-- +<?php include('skipif.inc'); ?> +--INI-- +session.use_trans_sid=0 +session.use_cookies=1 +session.name=sid +session.save_path=/ +session.gc_probability=1 +session.gc_divisor=1 +--FILE-- +<?php +error_reporting(E_ALL); + +function sOpen($path, $name) +{ + echo "open: path = {$path}, name = {$name}\n"; + return TRUE; +} + +function sClose() +{ + echo "close\n"; + return TRUE; +} + +function sRead($id) +{ + echo "read: id = {$id}\n"; + return ''; +} + +function sWrite($id, $data) +{ + echo "write: id = {$id}, data = {$data}\n"; + return TRUE; +} + +function sDestroy($id) +{ + echo "destroy: id = {$id}\n"; + return TRUE; +} + +function sGC($maxlifetime) +{ + echo "gc: maxlifetime = {$maxlifetime}\n"; + return TRUE; +} + +session_set_save_handler( 'sOpen', 'sClose', 'sRead', 'sWrite', 'sDestroy', 'sGC' ); + +// without output buffering, the debug messages will cause all manner of warnings +ob_start(); + +session_start(); +$_SESSION['A'] = 'B'; +session_write_close(); + +session_start(); +$_SESSION['C'] = 'D'; +session_destroy(); + +session_start(); +$_SESSION['E'] = 'F'; +// Don't try to destroy this time! + +?> +--EXPECTF-- +open: path = /, name = sid +read: id = %s +gc: maxlifetime = %d +write: id = %s, data = A|s:1:"B"; +close +open: path = /, name = sid +read: id = %s +gc: maxlifetime = %d +destroy: id = %s +close +open: path = /, name = sid +read: id = %s +gc: maxlifetime = %d +write: id = %s, data = E|s:1:"F"; +close |