svn: /php/php-src/ branches/PHP_5_4/ext/pdo/tests/bug61292.phpt trunk/ext/pdo/tests/bug61292.phpt
| From: | Xinchen Hui | Date: | Tue, 06 Mar 2012 06:24:50 +0000 |
| Subject: | svn: /php/php-src/ branches/PHP_5_4/ext/pdo/tests/bug61292.phpt trunk/ext/pdo/tests/bug61292.phpt | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-67843@lists.php.net to get a copy of this message | ||
laruence Tue, 06 Mar 2012 06:24:50 +0000
Revision: http://svn.php.net/viewvc?view=revision&revision=323936
Log:
Add test for bug #61292, bug was fixed in -r323935
Bug: https://bugs.php.net/61292 (Closed) Segfault while
calling a method on an overloaded PDO object.
Changed paths:
A php/php-src/branches/PHP_5_4/ext/pdo/tests/bug61292.phpt
A php/php-src/trunk/ext/pdo/tests/bug61292.phpt
Added: php/php-src/branches/PHP_5_4/ext/pdo/tests/bug61292.phpt
===================================================================
--- php/php-src/branches/PHP_5_4/ext/pdo/tests/bug61292.phpt (rev 0)
+++ php/php-src/branches/PHP_5_4/ext/pdo/tests/bug61292.phpt 2012-03-06 06:24:50 UTC (rev 323936)
@@ -0,0 +1,36 @@
+--TEST--
+Bug #61292 (Segfault while calling a method on an overloaded PDO object)
+--SKIPIF--
+<?php
+if (!extension_loaded('pdo')) die('skip');
+$dir = getenv('REDIR_TEST_DIR');
+if (false == $dir) die('skip no driver');
+require_once $dir . 'pdo_test.inc';
+PDOTest::skip();
+?>
+--FILE--
+<?php
+if (getenv('REDIR_TEST_DIR') === false)
putenv('REDIR_TEST_DIR='.dirname(__FILE__) . '/../../pdo/tests/');
+require_once getenv('REDIR_TEST_DIR') . 'pdo_test.inc';
+
+class Database_SQL extends PDO
+{
+ function __construct()
+ {
+ $options = array(PDO::ATTR_PERSISTENT => TRUE);
+ parent::__construct(getenv("PDOTEST_DSN"), getenv("PDOTEST_USER"),
getenv("PDOTEST_PASS"), $options);
+ }
+
+ var $bar = array();
+
+ public function foo()
+ {
+ var_dump($this->bar);
+ }
+}
+
+(new Database_SQL)->foo();
+?>
+--EXPECTF--
+array(0) {
+}
Added: php/php-src/trunk/ext/pdo/tests/bug61292.phpt
===================================================================
--- php/php-src/trunk/ext/pdo/tests/bug61292.phpt (rev 0)
+++ php/php-src/trunk/ext/pdo/tests/bug61292.phpt 2012-03-06 06:24:50 UTC (rev 323936)
@@ -0,0 +1,36 @@
+--TEST--
+Bug #61292 (Segfault while calling a method on an overloaded PDO object)
+--SKIPIF--
+<?php
+if (!extension_loaded('pdo')) die('skip');
+$dir = getenv('REDIR_TEST_DIR');
+if (false == $dir) die('skip no driver');
+require_once $dir . 'pdo_test.inc';
+PDOTest::skip();
+?>
+--FILE--
+<?php
+if (getenv('REDIR_TEST_DIR') === false)
putenv('REDIR_TEST_DIR='.dirname(__FILE__) . '/../../pdo/tests/');
+require_once getenv('REDIR_TEST_DIR') . 'pdo_test.inc';
+
+class Database_SQL extends PDO
+{
+ function __construct()
+ {
+ $options = array(PDO::ATTR_PERSISTENT => TRUE);
+ parent::__construct(getenv("PDOTEST_DSN"), getenv("PDOTEST_USER"),
getenv("PDOTEST_PASS"), $options);
+ }
+
+ var $bar = array();
+
+ public function foo()
+ {
+ var_dump($this->bar);
+ }
+}
+
+(new Database_SQL)->foo();
+?>
+--EXPECTF--
+array(0) {
+}