Annotation of embedaddon/php/ext/mysql/tests/mysql_max_links.phpt, revision 1.1.1.1

1.1       misho       1: --TEST--
                      2: mysql_[p]connect() - max_links/max_persistent
                      3: --SKIPIF--
                      4: <?php
                      5: require_once('skipif.inc');
                      6: require_once('skipifconnectfailure.inc');
                      7: ?>
                      8: --INI--
                      9: mysql.max_links=2
                     10: --FILE--
                     11: <?php
                     12: require_once('connect.inc');
                     13: 
                     14: function my_connect($offset, $host, $user, $passwd, $db, $port, $socket) {
                     15:        if ($socket)
                     16:                $host = sprintf("%s:%s", $host, $socket);
                     17:        else if ($port)
                     18:                $host = sprintf("%s:%s", $host, $port);
                     19: 
                     20:        $link = mysql_connect($host, $user, $passwd, true);
                     21: 
                     22:        if (!$link) {
                     23:                printf("[%03d] Cannot connect using host '%s', user '%s', password '****', [%d] %s\n",
                     24:                        $offset, $host, $user, $passwd,
                     25:                        mysql_errno(), mysql_error());
                     26:                return false;
                     27:        }
                     28: 
                     29:        return $link;
                     30: }
                     31: 
                     32: $links = array();
                     33: 
                     34: // try to open 3 links
                     35: $links[0] = my_connect(10, $host, $user, $passwd, $db, $port, $socket);
                     36: $links[1] = my_connect(20, $host, $user, $passwd, $db, $port, $socket);
                     37: $links[2] = my_connect(30, $host, $user, $passwd, $db, $port, $socket);
                     38: if (false !== $links[2])
                     39:        printf("[040] Last connection should not have been allowed!\n");
                     40: 
                     41: // free some links but let index 1 remain
                     42: unset($links[2]);
                     43: mysql_close($links[0]);
                     44: unset($links[0]);
                     45: 
                     46: // should be allowed -> second open connection
                     47: $links[0] = my_connect(50, $host, $user, $passwd, $db, $port, $socket);
                     48: $links[2] = my_connect(60, $host, $user, $passwd, $db, $port, $socket);
                     49: ksort($links);
                     50: var_dump($links);
                     51: 
                     52: mysql_close($links[0]);
                     53: mysql_close($links[1]);
                     54: print "done!\n";
                     55: ?>
                     56: --EXPECTF--
                     57: Warning: mysql_connect(): Too many open links (2) in %s on line %s
                     58: [030] Cannot connect using host '%s', user '%s', password '****', [0] 0
                     59: 
                     60: Warning: mysql_connect(): Too many open links (2) in %s on line %s
                     61: [060] Cannot connect using host '%s', user '%s', password '****', [0] 0
                     62: array(3) {
                     63:   [0]=>
                     64:   resource(%d) of type (mysql link)
                     65:   [1]=>
                     66:   resource(%d) of type (mysql link)
                     67:   [2]=>
                     68:   bool(false)
                     69: }
                     70: done!

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