Annotation of embedaddon/php/ext/mysqli/tests/bug36949.phpt, revision 1.1.1.1

1.1       misho       1: --TEST--
                      2: Bug #36949 (invalid internal mysqli objects dtor)
                      3: --SKIPIF--
                      4: <?php
                      5: require_once('skipif.inc');
                      6: require_once('skipifconnectfailure.inc');
                      7: ?>
                      8: --FILE--
                      9: <?php
                     10: require_once("connect.inc");
                     11: class A {
                     12: 
                     13:        private $mysqli;
                     14: 
                     15:        public function __construct() {
                     16:                global $user, $host, $passwd, $db, $port, $socket;
                     17:                $this->mysqli = new mysqli($host, $user, $passwd, $db, $port, $socket);
                     18:                $result = $this->mysqli->query("SELECT NOW() AS my_time FROM DUAL");
                     19:                $row = $result->fetch_object();
                     20:                echo $row->my_time."<br>\n";
                     21:                $result->close();
                     22:        }
                     23: 
                     24:        public function __destruct() {
                     25:                $this->mysqli->close();
                     26:        }
                     27: }
                     28: 
                     29: class B {
                     30: 
                     31:        private $mysqli;
                     32: 
                     33:        public function __construct() {
                     34:                global $user, $host, $passwd, $db, $port, $socket;
                     35:                $this->mysqli = new mysqli($host, $user, $passwd, $db, $port, $socket);
                     36:                $result = $this->mysqli->query("SELECT NOW() AS my_time FROM DUAL");
                     37:                $row = $result->fetch_object();
                     38:                echo $row->my_time."<br>\n";
                     39:                $result->close();
                     40:        }
                     41: 
                     42:        public function __destruct() {
                     43:                $this->mysqli->close();
                     44:        }
                     45: }
                     46: 
                     47: $A = new A();
                     48: $B = new B();
                     49: ?>
                     50: --CLEAN--
                     51: <?php
                     52: require_once("connect.inc");
                     53: if (!$link = my_mysqli_connect($host, $user, $passwd, $db, $port, $socket))
                     54:    printf("[c001] [%d] %s\n", mysqli_connect_errno(), mysqli_connect_error());
                     55: 
                     56: if (!mysqli_query($link, "DROP TABLE IF EXISTS my_time"))
                     57:        printf("[002] Cannot drop table, [%d] %s\n", mysqli_errno($link), mysqli_error($link));
                     58: 
                     59: mysqli_close($link);
                     60: ?>
                     61: --EXPECTF--
                     62: %d%d%d%d-%d%d-%d%d %d%d:%d%d:%d%d<br>
                     63: %d%d%d%d-%d%d-%d%d %d%d:%d%d:%d%d<br>

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