com php-src: Tests to ensure BC with undocumented behavior used in hacks: ext/mysqli/tests/mysqli_open_bug74432.phpt ex t/standard/tests/network/socket_bug74429.phpt

[email protected] (Anatol Belski)
Newsgroups php.cvs
Message-ID <[email protected]>
Commit:    a581e641994908af2ffdcac652ad14c34fbdef4c
Author:    Anatol Belski <[email protected]>         Mon, 1 May 2017 18:01:05 +0200
Parents:   1967950dc33b87a5b92c33875885cfb0b5b5bffc
Branches:  PHP-7.0 PHP-7.1 master

Link:       http://git.php.net/?p=php-src.git;a=commitdiff;h=a581e641994908af2ffdcac652ad14c34fbdef4c

Log:
Tests to ensure BC with undocumented behavior used in hacks

Should become obsolete, once behaviors change.

Changed paths:
  A  ext/mysqli/tests/mysqli_open_bug74432.phpt
  A  ext/standard/tests/network/socket_bug74429.phpt


Diff:
diff --git a/ext/mysqli/tests/mysqli_open_bug74432.phpt b/ext/mysqli/tests/mysqli_open_bug74432.phpt
new file mode 100644
index 0000000..c1ed86d
--- /dev/null
+++ b/ext/mysqli/tests/mysqli_open_bug74432.phpt
@@ -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
index 0000000..8c59546
--- /dev/null
+++ b/ext/standard/tests/network/socket_bug74429.phpt
@@ -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)
+
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.