]> granicus.if.org Git - php/commitdiff
Tests to ensure BC with undocumented behavior used in hacks
authorAnatol Belski <ab@php.net>
Mon, 1 May 2017 16:01:05 +0000 (18:01 +0200)
committerAnatol Belski <ab@php.net>
Mon, 1 May 2017 16:01:05 +0000 (18:01 +0200)
Should become obsolete, once behaviors change.

ext/mysqli/tests/mysqli_open_bug74432.phpt [new file with mode: 0644]
ext/standard/tests/network/socket_bug74429.phpt [new file with mode: 0644]

diff --git a/ext/mysqli/tests/mysqli_open_bug74432.phpt b/ext/mysqli/tests/mysqli_open_bug74432.phpt
new file mode 100644 (file)
index 0000000..c1ed86d
--- /dev/null
@@ -0,0 +1,29 @@
+--TEST--
+Bug #74432, BC issue on undocumented connect string
+--SKIPIF--
+<?php
+require_once('skipif.inc');
+require_once('skipifemb.inc');
+require_once('skipifconnectfailure.inc');
+?>
+--FILE--
+<?php
+       /* This behavior is undocumented, but might be in use. Until there's no officially
+               supported alternative, ensure changes doesn't cause BC breach. Otherwise,
+               the test should be removed once the undocumented behavior changes. */
+
+       require_once("connect.inc");
+
+       $handle = mysqli_connect("$host:$port", $user, $passwd);
+
+       var_dump($handle);
+
+       if ($handle) {
+               mysqli_close($handle);
+       }
+?>
+--EXPECTF--
+object(mysqli)#%d (%d) {
+%A
+}
+
diff --git a/ext/standard/tests/network/socket_bug74429.phpt b/ext/standard/tests/network/socket_bug74429.phpt
new file mode 100644 (file)
index 0000000..8c59546
--- /dev/null
@@ -0,0 +1,32 @@
+--TEST--
+Bug #74429 Remote socket URI with unique persistence identifier broken
+--FILE--
+<?php
+
+/* This behavior is undocumented, but might be in use. Until there's no officially
+       supported alternative, ensure changes doesn't cause BC breach. Otherwise,
+       the test should be removed once the undocumented behavior changes. */
+
+for ($i=0; $i<100; $i++) {
+  $port = rand(10000, 65000);
+  /* Setup socket server */
+  $server = @stream_socket_server("tcp://127.0.0.1:$port");
+  if ($server) {
+    break;
+  }
+}
+
+$client0 = stream_socket_client("tcp://127.0.0.1:$port/client0");
+$client1 = stream_socket_client("tcp://127.0.0.1:$port/client1");
+
+var_dump($client0, $client1);
+
+fclose($server);
+fclose($client0);
+fclose($client1);
+
+?>
+--EXPECTF--
+resource(%d) of type (stream)
+resource(%d) of type (stream)
+