svn: /pecl/mysqlnd_ms/trunk/tests/ mysqlnd_ms_pick_random_user_multi_no_master.phpt mysqlnd_ms_pick_random_user_multi_no_slave.phpt
| From: | Ulf Wendel | Date: | Wed, 07 Dec 2011 14:46:11 +0000 |
| Subject: | svn: /pecl/mysqlnd_ms/trunk/tests/ mysqlnd_ms_pick_random_user_multi_no_master.phpt mysqlnd_ms_pick_random_user_multi_no_slave.phpt | ||
| Groups: | php.pecl.cvs | ||
| Request: | Send a blank email to pecl-cvs+get-17298@lists.php.net to get a copy of this message | ||
uw Wed, 07 Dec 2011 14:46:11 +0000
Revision: http://svn.php.net/viewvc?view=revision&revision=320578
Log:
Trying to use user multi filter to reach some checks in random filter. Why does error message of
_no_slave test says that I have returned no master?! Smells...
Changed paths:
A pecl/mysqlnd_ms/trunk/tests/mysqlnd_ms_pick_random_user_multi_no_master.phpt
A pecl/mysqlnd_ms/trunk/tests/mysqlnd_ms_pick_random_user_multi_no_slave.phpt
Added: pecl/mysqlnd_ms/trunk/tests/mysqlnd_ms_pick_random_user_multi_no_master.phpt
===================================================================
--- pecl/mysqlnd_ms/trunk/tests/mysqlnd_ms_pick_random_user_multi_no_master.phpt
(rev 0)
+++ pecl/mysqlnd_ms/trunk/tests/mysqlnd_ms_pick_random_user_multi_no_master.phpt 2011-12-07 14:46:11
UTC (rev 320578)
@@ -0,0 +1,59 @@
+--TEST--
+Random, user multi, no master
+--SKIPIF--
+<?php
+require_once('skipif.inc');
+require_once("connect.inc");
+
+_skipif_check_extensions(array("mysqli"));
+_skipif_connect($master_host_only, $user, $passwd, $db, $master_port, $master_socket);
+
+$settings = array(
+ "myapp" => array(
+ 'filters' => array(
+ 'user_multi' => array('callback' => 'pick_servers'),
+ "random" => array()
+ ),
+ 'master' => array('mymaster' => $master_host),
+ 'slave' => array($slave_host),
+ ),
+);
+if ($error = mst_create_config("test_mysqlnd_ms_pick_random_user_multi_no_master.ini",
$settings))
+ die(sprintf("SKIP %s\n", $error));
+
+?>
+--INI--
+mysqlnd_ms.enable=1
+mysqlnd_ms.ini_file=test_mysqlnd_ms_pick_random_user_multi_no_master.ini
+--FILE--
+<?php
+ require_once("connect.inc");
+ require_once("util.inc");
+
+ function pick_servers($connected_host, $query, $masters, $slaves, $last_used_connection,
$in_transaction) {
+ printf("pick_server('%s', '%s, '%s')\n", $connected_host,
$query, $last_used_connection);
+ /* array(master_array(master_idx, master_idx), slave_array(slave_idx, slave_idx)) */
+ return array(NULL, array(0));
+ }
+
+ if (!$link = mst_mysqli_connect("myapp", $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);
+
+ $res = mst_mysqli_query(2, $link, "SELECT 1 FROM DUAL", MYSQLND_MS_MASTER_SWITCH);
+ var_dump($res->fetch_assoc());
+
+ print "done!";
+?>
+--CLEAN--
+<?php
+ if (!unlink("test_mysqlnd_ms_pick_random_user_multi_no_master.ini"))
+ printf("[clean] Cannot unlink ini file
'test_mysqlnd_ms_pick_random_user_multi_no_master.ini'.\n");
+?>
+--EXPECTF--
+pick_server('myapp', '/*ms=master*//*2*/SELECT 1 FROM DUAL, '')
+
+Warning: mysqli::query(): (mysqlnd_ms) Couldn't find the appropriate master connection.
Something is wrong in %s on line %d
+[002] [2000] (mysqlnd_ms) Couldn't find the appropriate master connection. Something is wrong
+
+Fatal error: Call to a member function fetch_assoc() on a non-object in %s on line %d
\ No newline at end of file
Added: pecl/mysqlnd_ms/trunk/tests/mysqlnd_ms_pick_random_user_multi_no_slave.phpt
===================================================================
--- pecl/mysqlnd_ms/trunk/tests/mysqlnd_ms_pick_random_user_multi_no_slave.phpt
(rev 0)
+++ pecl/mysqlnd_ms/trunk/tests/mysqlnd_ms_pick_random_user_multi_no_slave.phpt 2011-12-07 14:46:11
UTC (rev 320578)
@@ -0,0 +1,59 @@
+--TEST--
+Random, user multi, no master
+--SKIPIF--
+<?php
+require_once('skipif.inc');
+require_once("connect.inc");
+
+_skipif_check_extensions(array("mysqli"));
+_skipif_connect($master_host_only, $user, $passwd, $db, $master_port, $master_socket);
+
+$settings = array(
+ "myapp" => array(
+ 'filters' => array(
+ 'user_multi' => array('callback' => 'pick_servers'),
+ "random" => array()
+ ),
+ 'master' => array($master_host),
+ 'slave' => array($slave_host),
+ ),
+);
+if ($error = mst_create_config("test_mysqlnd_ms_pick_random_user_multi_no_slave.ini",
$settings))
+ die(sprintf("SKIP %s\n", $error));
+
+?>
+--INI--
+mysqlnd_ms.enable=1
+mysqlnd_ms.ini_file=test_mysqlnd_ms_pick_random_user_multi_no_slave.ini
+--FILE--
+<?php
+ require_once("connect.inc");
+ require_once("util.inc");
+
+ function pick_servers($connected_host, $query, $masters, $slaves, $last_used_connection,
$in_transaction) {
+ printf("pick_server('%s', '%s, '%s')\n", $connected_host,
$query, $last_used_connection);
+ /* array(master_array(master_idx, master_idx), slave_array(slave_idx, slave_idx)) */
+ return array(array(0), NULL);
+ }
+
+ if (!$link = mst_mysqli_connect("myapp", $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);
+
+ $res = mst_mysqli_query(2, $link, "SELECT 1 FROM DUAL");
+ var_dump($res->fetch_assoc());
+
+ print "done!";
+?>
+--CLEAN--
+<?php
+ if (!unlink("test_mysqlnd_ms_pick_random_user_multi_no_slave.ini"))
+ printf("[clean] Cannot unlink ini file
'test_mysqlnd_ms_pick_random_user_multi_no_slave.ini'.\n");
+?>
+--EXPECTF--
+pick_server('myapp', '/*2*/SELECT 1 FROM DUAL, '')
+
+Warning: mysqli::query(): (mysqlnd_ms) Couldn't find the appropriate slave connection.
Something is wrong in %s on line %d
+[002] [2000] (mysqlnd_ms) Couldn't find the appropriate slave connection. Something is wrong
+
+Fatal error: Call to a member function fetch_assoc() on a non-object in %s on line %d