]> granicus.if.org Git - php/commitdiff
Fix some tests for libmysql
authorNikita Popov <nikita.ppv@gmail.com>
Thu, 17 Sep 2020 13:55:44 +0000 (15:55 +0200)
committerNikita Popov <nikita.ppv@gmail.com>
Fri, 18 Sep 2020 16:01:04 +0000 (18:01 +0200)
ext/mysqli/tests/bug66043.phpt
ext/mysqli/tests/bug73800.phpt
ext/mysqli/tests/bug77597.phpt
ext/mysqli/tests/mysqli_class_mysqli_properties_no_conn.phpt
ext/mysqli/tests/mysqli_kill.phpt
ext/mysqli/tests/mysqli_store_result_buffered_c.phpt
ext/pdo_mysql/tests/pdo_mysql___construct_uri.phpt
ext/pdo_mysql/tests/pdo_mysql_class_constants.phpt

index 07714f217a5d21657c84b1a38c964131dbf1f276..6b479a45ed01b34460318135be431f75c04ce6b3 100644 (file)
@@ -3,10 +3,6 @@ Bug #66043 (Segfault calling bind_param() on mysqli)
 --SKIPIF--
 <?php
 require_once('skipif.inc');
-require_once("connect.inc");
-if ($IS_MYSQLND) {
-    die("skip libmysql only test");
-}
 require_once('skipifconnectfailure.inc');
 ?>
 --FILE--
@@ -16,11 +12,34 @@ if (!$db = my_mysqli_connect($host, $user, $passwd, $db, $port, $socket)) {
     printf("[001] Connect failed, [%d] %s\n", mysqli_connect_errno(), mysqli_connect_error());
 }
 
+if (!$db->query("DROP TABLE IF EXISTS test")) {
+    printf("[002] [%d] %s\n", mysqli_errno($db), mysqli_error($db));
+    die();
+}
+
+if (!$db->query("CREATE TABLE test(str TEXT)")) {
+    printf("[003] [%d] %s\n", mysqli_errno($db), mysqli_error($db));
+    die();
+}
+
+if (!$db->query("INSERT INTO test(str) VALUES ('Test')")) {
+    printf("[004] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
+    die();
+}
+
 $stmt = $db->stmt_init();
-$stmt->prepare("SELECT User FROM user WHERE password=\"\"");
+if (!$stmt->prepare("SELECT str FROM test")) {
+    printf("[004] [%d] %s\n", mysqli_errno($db), mysqli_error($db));
+    die();
+}
+
 $stmt->execute();
 $stmt->bind_result($testArg);
 echo "Okey";
 ?>
+--CLEAN--
+<?php
+require_once("clean_table.inc");
+?>
 --EXPECT--
 Okey
index af601c6e6036423ff9c12c4ba16004079889328f..af3a5c8cfb4e3b5be8df36cc06278bd1886cec14 100644 (file)
@@ -5,6 +5,7 @@ Bug #73800 (sporadic segfault with MYSQLI_OPT_INT_AND_FLOAT_NATIVE)
 require_once('skipif.inc');
 require_once('skipifconnectfailure.inc');
 if (PHP_INT_SIZE != 8) die('skip requires 64-bit');
+if (!defined('MYSQLI_OPT_INT_AND_FLOAT_NATIVE')) die('skip requires mysqlnd');
 ?>
 --FILE--
 <?php
index ef3cb0f952acba4724054ea14a1e347438dcc124..52ae874454d553d89661d33510ddb713c5bb9f36 100644 (file)
@@ -4,6 +4,7 @@ Bug #77597: mysqli_fetch_field hangs scripts
 <?php
 require_once('skipif.inc');
 require_once('skipifconnectfailure.inc');
+if (!defined('MYSQLI_STORE_RESULT_COPY_DATA')) die('skip requires mysqlnd');
 ?>
 --FILE--
 <?php
index a9d54c43673c1b4053c9cb7f1e8bf6ba2587b535..651520b70a5987b85d2fe879c481e8ca2f976ddc 100644 (file)
@@ -284,7 +284,7 @@ Magic, magic properties:
 mysqli object is already closed
 Property access is not allowed yet
 Property access is not allowed yet
-mysqli->client_version = '80000'/integer
+mysqli->client_version = '%d'/integer
 mysqli object is already closed
 mysqli object is already closed
 mysqli object is already closed
@@ -366,7 +366,7 @@ Magic, magic properties:
 mysqli object is already closed
 Property access is not allowed yet
 Property access is not allowed yet
-mysqli->client_version = '80000'/integer
+mysqli->client_version = '%d'/integer
 mysqli object is already closed
 mysqli object is already closed
 mysqli object is already closed
index d1301ac550fa684ead7400562a0d487f6b31516e..40ca9eaa1af96aae7cf633d7291a5b35cd4b8b0b 100644 (file)
@@ -95,7 +95,7 @@ object(mysqli)#%d (%d) {
   ["connect_error"]=>
   NULL
   ["errno"]=>
-  int(2006)
+  int(%d)
   ["error"]=>
   string(%d) "%s"
   ["error_list"]=>
@@ -103,7 +103,7 @@ object(mysqli)#%d (%d) {
     [0]=>
     array(3) {
       ["errno"]=>
-      int(2006)
+      int(%d)
       ["sqlstate"]=>
       string(5) "%s"
       ["error"]=>
index 6fa69005d27b468578e02ac9d304fdec99e357a8..70a864270d9af0cd49ddf3979c7806706e8e9de4 100644 (file)
@@ -4,9 +4,10 @@ mysqli_store_result()
 <?php
 require_once('skipif.inc');
 require_once('skipifconnectfailure.inc');
+if (!defined('MYSQLI_STORE_RESULT_COPY_DATA')) {
+    die("skip Requires MYSQLI_STORE_RESULT_COPY_DATA");
+}
 ?>
---INI--
-mysqlnd.debug="d:t:O,{TMP}/mysqlnd.trace"
 --FILE--
 <?php
     require_once("connect.inc");
index 8d51961c9d4ccf8ed736cd53437606fcd32738ce..99cd631a4a2ca4a78aa3fff2b45da9de0cb9882d 100644 (file)
@@ -48,6 +48,7 @@ MySQLPDOTest::skip();
                 } catch (PDOException $e) {
                     $expected = array(
                         "SQLSTATE[HY000] [1049] Unknown database 'letshopeinvalid'",
+                        "SQLSTATE[42000] [1049] Unknown database 'letshopeinvalid'",
                         "SQLSTATE[HY000] [2002] No such file or directory"
                     );
                     printf("[003] URI=%s, DSN=%s, File=%s (%d bytes, '%s'), chr(0) test, %s\n",
index 8fcce4cc8454f2428c2794a8e8f67b69c88c099d..c9877f3ac12dc3f5a58289dae122fda57abd2953 100644 (file)
@@ -27,7 +27,6 @@ if (!extension_loaded('mysqli') && !extension_loaded('mysqlnd')) {
         "MYSQL_ATTR_SSL_CIPHER"                                                => true,
         "MYSQL_ATTR_COMPRESS"                                          => true,
         "MYSQL_ATTR_MULTI_STATEMENTS"                                  => true,
-        "MYSQL_ATTR_SSL_VERIFY_SERVER_CERT"                            => true,
     );
 
     if (!MySQLPDOTest::isPDOMySQLnd()) {
@@ -37,6 +36,7 @@ if (!extension_loaded('mysqli') && !extension_loaded('mysqlnd')) {
     }
 
     if (extension_loaded('mysqlnd')) {
+        $expected['MYSQL_ATTR_SSL_VERIFY_SERVER_CERT']  = true;
         $expected['MYSQL_ATTR_SERVER_PUBLIC_KEY']              = true;
     } else if (extension_loaded('mysqli')) {
         if (mysqli_get_client_version() > 50605) {