[PHP-CVS] svn: /php/php-src/ branches/PHP_5_3/ext/mysqli/tests/bug52891.phpt trunk/ext/mysqli/tests/bug52891.phpt

2010-09-22 Thread Andrey Hristov
andrey   Wed, 22 Sep 2010 11:09:29 +

Revision: http://svn.php.net/viewvc?view=revision&revision=303669

Log:
update tests

Changed paths:
U   php/php-src/branches/PHP_5_3/ext/mysqli/tests/bug52891.phpt
U   php/php-src/trunk/ext/mysqli/tests/bug52891.phpt

Modified: php/php-src/branches/PHP_5_3/ext/mysqli/tests/bug52891.phpt
===
--- php/php-src/branches/PHP_5_3/ext/mysqli/tests/bug52891.phpt 2010-09-22 
09:38:05 UTC (rev 303668)
+++ php/php-src/branches/PHP_5_3/ext/mysqli/tests/bug52891.phpt 2010-09-22 
11:09:29 UTC (rev 303669)
@@ -4,6 +4,9 @@
 
 --FILE--
 
 --FILE--
 -- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

[PHP-CVS] svn: /php/php-src/ branches/PHP_5_3/ext/mysqli/tests/bug52891.phpt trunk/ext/mysqli/tests/bug52891.phpt

2010-09-20 Thread Ulf Wendel
uw   Mon, 20 Sep 2010 18:26:11 +

Revision: http://svn.php.net/viewvc?view=revision&revision=303629

Log:
Align test to the style used in the other tests

Changed paths:
U   php/php-src/branches/PHP_5_3/ext/mysqli/tests/bug52891.phpt
U   php/php-src/trunk/ext/mysqli/tests/bug52891.phpt

Modified: php/php-src/branches/PHP_5_3/ext/mysqli/tests/bug52891.phpt
===
--- php/php-src/branches/PHP_5_3/ext/mysqli/tests/bug52891.phpt	2010-09-20 17:26:39 UTC (rev 303628)
+++ php/php-src/branches/PHP_5_3/ext/mysqli/tests/bug52891.phpt	2010-09-20 18:26:11 UTC (rev 303629)
@@ -8,51 +8,78 @@
 --FILE--
 query("DROP TABLE IF EXISTS tuint"));
-	var_dump($link->query("DROP TABLE IF EXISTS tsint"));
-	var_dump($link->query("CREATE TABLE tuint(a bigint unsigned) ENGINE=".$engine));
-	var_dump($link->query("CREATE TABLE tsint(a bigint) ENGINE=".$engine));
-
-	$stmt = $link->prepare("INSERT INTO tuint VALUES(?)");
-	$stmt2 = $link->prepare("INSERT INTO tsint VALUES(?)");
+
+	if (!$link->query("DROP TABLE IF EXISTS tuint") ||
+		!$link->query("DROP TABLE IF EXISTS tsint")) {
+		printf("[002] [%d] %s\n", $link->errno, $link->error);
+	}
+
+	if (!$link->query("CREATE TABLE tuint(a BIGINT UNSIGNED) ENGINE=" . $engine) ||
+		!$link->query("CREATE TABLE tsint(a BIGINT) ENGINE=" . $engine)) {
+		printf("[003] [%d] %s\n", $link->errno, $link->error);
+	}
+
+
+	if (!$stmt1 = $link->prepare("INSERT INTO tuint VALUES(?)"))
+		printf("[004] [%d] %s\n", $link->errno, $link->error);
+
+	if (!$stmt2 = $link->prepare("INSERT INTO tsint VALUES(?)"))
+		printf("[005] [%d] %s\n", $link->errno, $link->error);
+
 	$param = 42;
-	$stmt->bind_param("i", $param);
-	$stmt2->bind_param("i", $param);

+	if (!$stmt1->bind_param("i", $param))
+		printf("[006] [%d] %s\n", $stmt1->errno, $stmt1->error);
+
+	if (!$stmt2->bind_param("i", $param))
+		printf("[007] [%d] %s\n", $stmt2->errno, $stmt2->error);
+
 	/* first insert normal value to force initial send of types */
-	var_dump($stmt->execute());
-	var_dump($stmt2->execute());
+	if (!$stmt1->execute())
+		printf("[008] [%d] %s\n", $stmt1->errno, $stmt1->error);

+	if	(!$stmt2->execute())
+		printf("[009] [%d] %s\n", $stmt2->errno, $stmt2->error);
+
 	/* now try values that don't fit in long, on 32bit, new types should be sent or 0 will be inserted */
 	$param = -4294967297;
-	var_dump($stmt2->execute());
+	if (!$stmt2->execute())
+		printf("[010] [%d] %s\n", $stmt2->errno, $stmt2->error);

 	/* again normal value */
 	$param = 43;
-	var_dump($stmt->execute());
-	var_dump($stmt2->execute());

+	if (!$stmt1->execute())
+		printf("[011] [%d] %s\n", $stmt1->errno, $stmt1->error);
+
+	if	(!$stmt2->execute())
+		printf("[012] [%d] %s\n", $stmt2->errno, $stmt2->error);
+
 	/* again conversion */
 	$param = -4294967295;
-	var_dump($stmt2->execute());
+	if (!$stmt2->execute())
+		printf("[013] [%d] %s\n", $stmt2->errno, $stmt2->error);

 	$param = 4294967295;
-	var_dump($stmt->execute());
-	var_dump($stmt2->execute());
+	if (!$stmt1->execute())
+		printf("[014] [%d] %s\n", $stmt1->errno, $stmt1->error);

+	if	(!$stmt2->execute())
+		printf("[015] [%d] %s\n", $stmt2->errno, $stmt2->error);
+
 	$param = 4294967297;
-	var_dump($stmt->execute());
-	var_dump($stmt2->execute());
+	if (!$stmt1->execute())
+		printf("[016] [%d] %s\n", $stmt1->errno, $stmt1->error);

-	$result = $link->query("SELECT * FROM tsint ORDER BY a");
-	$result2 = $link->query("SELECT * FROM tuint ORDER BY a");
+	if	(!$stmt2->execute())
+		printf("[017] [%d] %s\n", $stmt2->errno, $stmt2->error);

-	var_dump($link->query("DROP TABLE tsint"));
-	var_dump($link->query("DROP TABLE tuint"));
+	$result = $link->query("SELECT * FROM tsint ORDER BY a ASC");
+	$result2 = $link->query("SELECT * FROM tuint ORDER BY a ASC");

 	echo "tsint:\n";
 	while ($row = $result->fetch_assoc()) {
@@ -62,26 +89,29 @@
 	while ($row = $result2->fetch_assoc()) {
 		var_dump($row);
 	}
-
+
 	echo "done";
 ?>
+--CLEAN--
+
 --EXPECTF--
-bool(true)
-bool(true)
-bool(true)
-bool(true)
-bool(true)
-bool(true)
-bool(true)
-bool(true)
-bool(true)
-bool(true)
-bool(true)
-bool(true)
-bool(true)
-bool(true)
-bool(true)
-bool(true)
 tsint:
 array(1) {
   ["a"]=>
@@ -124,4 +154,4 @@
   ["a"]=>
   string(10) "4294967297"
 }
-done
+done
\ No newline at end of file

Modified: php/php-src/trunk/ext/mysqli/tests/bug52891.phpt
===
--- php/php-src/trunk/ext/mysqli/tests/bug52891.phpt	2010-09-20 17:26:39 UTC (rev 303628)
+++ php/php-src/trunk/ext/mysqli/tests/bug52891.phpt	2010-09-20 18:26:11 UTC (rev 303629)
@@ -8,51 +8,78 @@
 --FILE--
 query("DROP TABLE IF EXISTS tuint"));
-	var_dump($link->query("DROP TABLE IF EXISTS tsint"));
-	var_dump($link->query("CREATE TABLE tuint(a bigint unsigned) ENGINE=".$engine));
-	var_dump($link->query("CREATE TABLE tsint(a bigint) ENGINE=".$engine));
-
-	$stmt = $link->prepare("INSERT INTO tu

[PHP-CVS] svn: /php/php-src/ branches/PHP_5_3/ext/mysqli/tests/bug52891.phpt trunk/ext/mysqli/tests/bug52891.phpt

2010-09-20 Thread Andrey Hristov
andrey   Mon, 20 Sep 2010 09:02:31 +

Revision: http://svn.php.net/viewvc?view=revision&revision=303599

Log:
add test case for 52891

Changed paths:
A   php/php-src/branches/PHP_5_3/ext/mysqli/tests/bug52891.phpt
A   php/php-src/trunk/ext/mysqli/tests/bug52891.phpt

Added: php/php-src/branches/PHP_5_3/ext/mysqli/tests/bug52891.phpt
===
--- php/php-src/branches/PHP_5_3/ext/mysqli/tests/bug52891.phpt 
(rev 0)
+++ php/php-src/branches/PHP_5_3/ext/mysqli/tests/bug52891.phpt 2010-09-20 
09:02:31 UTC (rev 303599)
@@ -0,0 +1,127 @@
+--TEST--
+Bug #52891 (Wrong data inserted with mysqli/mysqlnd when using 
bind_param,value > LONG_MAX)
+--SKIPIF--
+
+--FILE--
+query("DROP TABLE IF EXISTS tuint"));
+   var_dump($link->query("DROP TABLE IF EXISTS tsint"));
+   var_dump($link->query("CREATE TABLE tuint(a bigint unsigned) 
ENGINE=".$engine));
+   var_dump($link->query("CREATE TABLE tsint(a bigint) ENGINE=".$engine));
+
+   $stmt = $link->prepare("INSERT INTO tuint VALUES(?)");
+   $stmt2 = $link->prepare("INSERT INTO tsint VALUES(?)");
+   $param = 42;
+   $stmt->bind_param("i", $param);
+   $stmt2->bind_param("i", $param);
+
+   /* first insert normal value to force initial send of types */
+   var_dump($stmt->execute());
+   var_dump($stmt2->execute());
+
+   /* now try values that don't fit in long, on 32bit, new types should be 
sent or 0 will be inserted */
+   $param = -4294967297;
+   var_dump($stmt2->execute());
+
+   /* again normal value */
+   $param = 43;
+   var_dump($stmt->execute());
+   var_dump($stmt2->execute());
+
+   /* again conversion */
+   $param = -4294967295;
+   var_dump($stmt2->execute());
+
+   $param = 4294967295;
+   var_dump($stmt->execute());
+   var_dump($stmt2->execute());
+
+   $param = 4294967297;
+   var_dump($stmt->execute());
+   var_dump($stmt2->execute());
+
+   $result = $link->query("SELECT * FROM tsint ORDER BY a");
+   $result2 = $link->query("SELECT * FROM tuint ORDER BY a");
+
+   var_dump($link->query("DROP TABLE tsint"));
+   var_dump($link->query("DROP TABLE tuint"));
+
+   echo "tsint:\n";
+   while ($row = $result->fetch_assoc()) {
+   var_dump($row);
+   }
+   echo "tuint:\n";
+   while ($row = $result2->fetch_assoc()) {
+   var_dump($row);
+   }
+
+   echo "done";
+?>
+--EXPECTF--
+bool(true)
+bool(true)
+bool(true)
+bool(true)
+bool(true)
+bool(true)
+bool(true)
+bool(true)
+bool(true)
+bool(true)
+bool(true)
+bool(true)
+bool(true)
+bool(true)
+bool(true)
+bool(true)
+tsint:
+array(1) {
+  ["a"]=>
+  string(11) "-4294967297"
+}
+array(1) {
+  ["a"]=>
+  string(11) "-4294967295"
+}
+array(1) {
+  ["a"]=>
+  string(2) "42"
+}
+array(1) {
+  ["a"]=>
+  string(2) "43"
+}
+array(1) {
+  ["a"]=>
+  string(10) "4294967295"
+}
+array(1) {
+  ["a"]=>
+  string(10) "4294967297"
+}
+tuint:
+array(1) {
+  ["a"]=>
+  string(2) "42"
+}
+array(1) {
+  ["a"]=>
+  string(2) "43"
+}
+array(1) {
+  ["a"]=>
+  string(10) "4294967295"
+}
+array(1) {
+  ["a"]=>
+  string(10) "4294967297"
+}
+done

Added: php/php-src/trunk/ext/mysqli/tests/bug52891.phpt
===
--- php/php-src/trunk/ext/mysqli/tests/bug52891.phpt
(rev 0)
+++ php/php-src/trunk/ext/mysqli/tests/bug52891.phpt2010-09-20 09:02:31 UTC 
(rev 303599)
@@ -0,0 +1,127 @@
+--TEST--
+Bug #52891 (Wrong data inserted with mysqli/mysqlnd when using 
bind_param,value > LONG_MAX)
+--SKIPIF--
+
+--FILE--
+query("DROP TABLE IF EXISTS tuint"));
+   var_dump($link->query("DROP TABLE IF EXISTS tsint"));
+   var_dump($link->query("CREATE TABLE tuint(a bigint unsigned) 
ENGINE=".$engine));
+   var_dump($link->query("CREATE TABLE tsint(a bigint) ENGINE=".$engine));
+
+   $stmt = $link->prepare("INSERT INTO tuint VALUES(?)");
+   $stmt2 = $link->prepare("INSERT INTO tsint VALUES(?)");
+   $param = 42;
+   $stmt->bind_param("i", $param);
+   $stmt2->bind_param("i", $param);
+
+   /* first insert normal value to force initial send of types */
+   var_dump($stmt->execute());
+   var_dump($stmt2->execute());
+
+   /* now try values that don't fit in long, on 32bit, new types should be 
sent or 0 will be inserted */
+   $param = -4294967297;
+   var_dump($stmt2->execute());
+
+   /* again normal value */
+   $param = 43;
+   var_dump($stmt->execute());
+   var_dump($stmt2->execute());
+
+   /* again conversion */
+   $param = -4294967295;
+   var_dump($stmt2->execute());
+
+   $param = 4294967295;
+   var_dump($stmt->execute());
+   var_dump($stmt2->execute());
+
+   $param = 4294967297;
+   var_dump($stmt->execute());
+   var_dump($stmt2->execute());