uw              Mon Jul 23 12:34:09 2007 UTC

  Added files:                 
    /php-src/ext/mysqli/tests   mysqli_driver_unclonable.phpt 
                                mysqli_result_unclonable.phpt 
                                mysqli_stmt_unclonable.phpt 
                                mysqli_unclonable.phpt 
                                mysqli_warning_unclonable.phpt 
  Log:
  Tests which verify that you really cannot clone any of the mysqli
  objects. Technically it might be possible to tweak ext/mysqli and make
  the objects cloneable - tough, we haven't checked in depth. 
  
  So, if one is interested, raise a discussion.
  
  
  

http://cvs.php.net/viewvc.cgi/php-src/ext/mysqli/tests/mysqli_driver_unclonable.phpt?view=markup&rev=1.1
Index: php-src/ext/mysqli/tests/mysqli_driver_unclonable.phpt
+++ php-src/ext/mysqli/tests/mysqli_driver_unclonable.phpt
--TEST--
Trying to clone mysqli_driver object
--SKIPIF--
<?php require_once('skipif.inc'); ?>
<?php require_once('skipifemb.inc'); ?>
--FILE--
<?php
        $driver = new mysqli_driver;
        $driver_clone = clone $driver;
        print "done!";
?>
--EXPECTF--
Fatal error: Trying to clone an uncloneable object of class mysqli_driver in %s 
on line %d
http://cvs.php.net/viewvc.cgi/php-src/ext/mysqli/tests/mysqli_result_unclonable.phpt?view=markup&rev=1.1
Index: php-src/ext/mysqli/tests/mysqli_result_unclonable.phpt
+++ php-src/ext/mysqli/tests/mysqli_result_unclonable.phpt
--TEST--
Trying to clone mysqli_result object
--SKIPIF--
<?php require_once('skipif.inc'); ?>
<?php require_once('skipifemb.inc'); ?>
--FILE--
<?php
        include "connect.inc";

        if (!$link = mysqli_connect($host, $user, $passwd, $db, $port, $socket))
                printf("[001] Cannot connect to the server using host=%s, 
user=%s, passwd=***, dbname=%s, port=%s, socket=%s\n",
                        $host, $user, $db, $port, $socket);

        if (!($res = mysqli_query($link, "SELECT 'good' AS morning")))
                printf("[002] [%d] %s\n", mysqli_errno($link), 
mysqli_error($link));

        $res_clone = clone $res;
        print "done!";
?>
--EXPECTF--
Fatal error: Trying to clone an uncloneable object of class mysqli_result in %s 
on line %d
http://cvs.php.net/viewvc.cgi/php-src/ext/mysqli/tests/mysqli_stmt_unclonable.phpt?view=markup&rev=1.1
Index: php-src/ext/mysqli/tests/mysqli_stmt_unclonable.phpt
+++ php-src/ext/mysqli/tests/mysqli_stmt_unclonable.phpt
--TEST--
Trying to clone mysqli_stmt object
--SKIPIF--
<?php require_once('skipif.inc'); ?>
<?php require_once('skipifemb.inc'); ?>
--FILE--
<?php
        include "connect.inc";

        if (!$link = mysqli_connect($host, $user, $passwd, $db, $port, $socket))
                printf("[001] Cannot connect to the server using host=%s, 
user=%s, passwd=***, dbname=%s, port=%s, socket=%s\n",
                        $host, $user, $db, $port, $socket);

        if (!$stmt = mysqli_stmt_init($link))
                printf("[002] [%d] %s\n", mysqli_errno($link), 
mysqli_error($link));

        /* no, still bails out */
        $stmt_clone = clone $stmt;
        print "done!";
?>
--EXPECTF--
Fatal error: Trying to clone an uncloneable object of class mysqli_stmt in %s 
on line %d
http://cvs.php.net/viewvc.cgi/php-src/ext/mysqli/tests/mysqli_unclonable.phpt?view=markup&rev=1.1
Index: php-src/ext/mysqli/tests/mysqli_unclonable.phpt
+++ php-src/ext/mysqli/tests/mysqli_unclonable.phpt
--TEST--
Trying to clone mysqli object
--SKIPIF--
<?php require_once('skipif.inc'); ?>
<?php require_once('skipifemb.inc'); ?>
--FILE--
<?php
        include "connect.inc";

        if (!$link = mysqli_connect($host, $user, $passwd, $db, $port, $socket))
                printf("[001] Cannot connect to the server using host=%s, 
user=%s, passwd=***, dbname=%s, port=%s, socket=%s\n",
                        $host, $user, $db, $port, $socket);

        $link_clone = clone $link;
        mysqli_close($link);

        print "done!";
?>
--EXPECTF--
Fatal error: Trying to clone an uncloneable object of class mysqli in %s on 
line %d
http://cvs.php.net/viewvc.cgi/php-src/ext/mysqli/tests/mysqli_warning_unclonable.phpt?view=markup&rev=1.1
Index: php-src/ext/mysqli/tests/mysqli_warning_unclonable.phpt
+++ php-src/ext/mysqli/tests/mysqli_warning_unclonable.phpt
--TEST--
Trying to clone mysqli_warning object
--SKIPIF--
<?php
require_once('skipif.inc');
require_once('skipifemb.inc');
require_once('connect.inc');
if (!$TEST_EXPERIMENTAL)
        die("skip - experimental (= unsupported) feature");
?>
--FILE--
<?php
        include "connect.inc";

        if (!$link = mysqli_connect($host, $user, $passwd, $db, $port, $socket))
                printf("[001] Cannot connect to the server using host=%s, 
user=%s, passwd=***, dbname=%s, port=%s, socket=%s\n",
                        $host, $user, $db, $port, $socket);

        if (!mysqli_query($link, "DROP TABLE IF EXISTS test"))
                printf("[002] [%d] %s\n", mysqli_errno($link), 
mysqli_error($link));

        if (!mysqli_query($link, "CREATE TABLE test (id SMALLINT)"))
                printf("[003] [%d] %s\n", mysqli_errno($link), 
mysqli_error($link));

        if (!mysqli_query($link, "INSERT INTO test (id) VALUES (1000000)"))
                printf("[004] [%d] %s\n", mysqli_errno($link), 
mysqli_error($link));

        if (!is_object($warning = mysqli_get_warnings($link)) || 
'mysqli_warning' != get_class($warning)) {
                printf("[005] Expecting object/mysqli_warning, got %s/%s\n", 
gettype($tmp), (is_object($tmp) ? var_dump($tmp, true) : $tmp));
        }

        $warning_clone = clone $warning;
        print "done!";
?>
--EXPECTF--
Fatal error: Trying to clone an uncloneable object of class mysqli_warning in 
%s on line %d

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to