Annotation of embedaddon/php/ext/pdo_mysql/tests/bug63176.phpt, revision 1.1

1.1     ! misho       1: --TEST--
        !             2: Bug #63176 (Segmentation fault when instantiate 2 persistent PDO to the same db server)
        !             3: --SKIPIF--
        !             4: <?php
        !             5: require_once(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'skipif.inc');
        !             6: require_once(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'mysql_pdo_test.inc');
        !             7: MySQLPDOTest::skip();
        !             8: ?>
        !             9: --FILE--
        !            10: <?php
        !            11: require(dirname(__FILE__). DIRECTORY_SEPARATOR . 'config.inc');
        !            12: class PDO2 extends PDO {
        !            13:        protected $transLevel;
        !            14: }
        !            15: 
        !            16: class PDO3 extends PDO {
        !            17:        protected $tomato;
        !            18: }
        !            19: 
        !            20: 
        !            21: class ModelA {
        !            22:        public function __construct($h) {
        !            23:                var_dump($h);
        !            24:                if ($h) {
        !            25:                        $this->db = new PDO2(PDO_MYSQL_TEST_DSN, PDO_MYSQL_TEST_USER, PDO_MYSQL_TEST_PASS, array(PDO::ATTR_PERSISTENT => true));
        !            26:                } else {
        !            27:                        $this->db = new PDO3(PDO_MYSQL_TEST_DSN, PDO_MYSQL_TEST_USER, PDO_MYSQL_TEST_PASS, array(PDO::ATTR_PERSISTENT => true));
        !            28:                }
        !            29:                $this->db->query('SELECT 1')->fetchAll();
        !            30:        }
        !            31: }
        !            32: 
        !            33: $a = new ModelA(true);
        !            34: $b = new ModelA(false);
        !            35: 
        !            36: var_dump($a);
        !            37: var_dump($b);
        !            38: --EXPECTF--
        !            39: bool(true)
        !            40: bool(false)
        !            41: object(ModelA)#%d (1) {
        !            42:   ["db"]=>
        !            43:   object(PDO2)#%d (1) {
        !            44:     ["transLevel":protected]=>
        !            45:     NULL
        !            46:   }
        !            47: }
        !            48: object(ModelA)#%d (1) {
        !            49:   ["db"]=>
        !            50:   object(PDO2)#%d (1) {
        !            51:     ["transLevel":protected]=>
        !            52:     NULL
        !            53:   }
        !            54: }

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>