From 85a8056828f56883d1f46f5aa9a316742565bb07 Mon Sep 17 00:00:00 2001
From: Felipe Pena <felipe@php.net>
Date: Sat, 26 Nov 2011 17:30:03 +0000
Subject: [PATCH] - Clean up

---
 run-tests.php | 177 +++++++++++++++++++++-----------------------------
 1 file changed, 73 insertions(+), 104 deletions(-)

diff --git a/run-tests.php b/run-tests.php
index fbf51b2a66..2340fa96fd 100755
--- a/run-tests.php
+++ b/run-tests.php
@@ -2,7 +2,7 @@
 <?php
 /*
    +----------------------------------------------------------------------+
-   | PHP Version 5, 6                                                     |
+   | PHP Version 5                                                        |
    +----------------------------------------------------------------------+
    | Copyright (c) 1997-2010 The PHP Group                                |
    +----------------------------------------------------------------------+
@@ -80,13 +80,6 @@ if (PHP_VERSION_ID < 50300) {
 	}
 }
 
-// (unicode) is available from 6.0.0
-if (PHP_VERSION_ID < 60000) {
-	define('STRING_TYPE', 'string');
-} else {
-	define('STRING_TYPE', 'unicode');
-}
-
 // If timezone is not set, use UTC.
 if (ini_get('date.timezone') == '') {
 	date_default_timezone_set('UTC');
@@ -1014,12 +1007,12 @@ function save_text($filename, $text, $filename_copy = null)
 	global $DETAILED;
 
 	if ($filename_copy && $filename_copy != $filename) {
-		if (file_put_contents($filename_copy, (binary) $text, FILE_BINARY) === false) {
+		if (file_put_contents($filename_copy, $text, FILE_BINARY) === false) {
 			error("Cannot open file '" . $filename_copy . "' (save_text)");
 		}
 	}
 
-	if (file_put_contents($filename, (binary) $text, FILE_BINARY) === false) {
+	if (file_put_contents($filename, $text, FILE_BINARY) === false) {
 		error("Cannot open file '" . $filename . "' (save_text)");
 	}
 
@@ -1055,11 +1048,11 @@ function system_with_timeout($commandline, $env = null, $stdin = null)
 {
 	global $leak_check, $cwd;
 
-	$data = b'';
+	$data = '';
 
 	$bin_env = array();
 	foreach((array)$env as $key => $value) {
-		$bin_env[(binary)$key] = (binary)$value;
+		$bin_env[$key] = $value;
 	}
 
 	$proc = proc_open($commandline, array(
@@ -1073,7 +1066,7 @@ function system_with_timeout($commandline, $env = null, $stdin = null)
 	}
 
 	if (!is_null($stdin)) {
-		fwrite($pipes[0], (binary) $stdin);
+		fwrite($pipes[0], $stdin);
 	}
 	fclose($pipes[0]);
 
@@ -1091,11 +1084,11 @@ function system_with_timeout($commandline, $env = null, $stdin = null)
 			break;
 		} else if ($n === 0) {
 			/* timed out */
-			$data .= b"\n ** ERROR: process timed out **\n";
+			$data .= "\n ** ERROR: process timed out **\n";
 			proc_terminate($proc, 9);
 			return $data;
 		} else if ($n > 0) {
-			$line = (binary) fread($pipes[1], 8192);
+			$line = fread($pipes[1], 8192);
 			if (strlen($line) == 0) {
 				/* EOF */
 				break;
@@ -1107,7 +1100,7 @@ function system_with_timeout($commandline, $env = null, $stdin = null)
 	$stat = proc_get_status($proc);
 
 	if ($stat['signaled']) {
-		$data .= b"\nTermsig=" . $stat['stopsig'];
+		$data .= "\nTermsig=" . $stat['stopsig'];
 	}
 
 	$code = proc_close($proc);
@@ -1162,21 +1155,6 @@ function show_file_block($file, $block, $section = null)
 	}
 }
 
-function binary_section($section)
-{
-	return PHP_MAJOR_VERSION < 6 ||
-		(
-			$section == 'FILE'			||
-	        $section == 'FILEEOF'		||
-			$section == 'EXPECT'		||
-			$section == 'EXPECTF'		||
-			$section == 'EXPECTREGEX'	||
-			$section == 'EXPECTHEADERS'	||
-			$section == 'SKIPIF'		||
-			$section == 'CLEAN'
-		);
-}
-
 //
 //  Run an individual test case.
 //
@@ -1241,35 +1219,26 @@ TEST $file
 		// Match the beginning of a section.
 		if (preg_match(b'/^--([_A-Z]+)--/', $line, $r)) {
 			$section = $r[1];
-			settype($section, STRING_TYPE);
+			settype($section, 'string');
 
 			if (isset($section_text[$section])) {
 				$bork_info = "duplicated $section section";
 				$borked    = true;
 			}
 
-			$section_text[$section] = binary_section($section) ? b'' : '';
+			$section_text[$section] = '';
 			$secfile = $section == 'FILE' || $section == 'FILEEOF' || $section == 'FILE_EXTERNAL';
 			$secdone = false;
 			continue;
 		}
 
-		if (!binary_section($section)) {
-			$line = unicode_decode($line, "utf-8");
-			if ($line == false) {
-				$bork_info = "cannot read test";
-				$borked = true;
-				break;
-			}
-		}
-
 		// Add to the section text.
 		if (!$secdone) {
 			$section_text[$section] .= $line;
 		}
 
 		// End of actual test?
-		if ($secfile && preg_match(b'/^===DONE===\s*$/', $line)) {
+		if ($secfile && preg_match('/^===DONE===\s*$/', $line)) {
 			$secdone = true;
 		}
 	}
@@ -1294,7 +1263,7 @@ TEST $file
 			}
 
 			if (@count($section_text['FILEEOF']) == 1) {
-				$section_text['FILE'] = preg_replace(b"/[\r\n]+$/", b'', $section_text['FILEEOF']);
+				$section_text['FILE'] = preg_replace("/[\r\n]+$/", '', $section_text['FILEEOF']);
 				unset($section_text['FILEEOF']);
 			}
 
@@ -1712,7 +1681,7 @@ HTTP_COOKIE     = " . $env['HTTP_COOKIE'] . "
 COMMAND $cmd
 ";
 
-	$out = (binary) system_with_timeout($cmd, $env, isset($section_text['STDIN']) ? $section_text['STDIN'] : null);
+	$out = system_with_timeout($cmd, $env, isset($section_text['STDIN']) ? $section_text['STDIN'] : null);
 
 	if (array_key_exists('CLEAN', $section_text) && (!$no_clean || $cfg['keep']['clean'])) {
 
@@ -1749,19 +1718,19 @@ COMMAND $cmd
 	}
 
 	// Does the output match what is expected?
-	$output = preg_replace(b"/\r\n/", b"\n", trim($out));
+	$output = preg_replace("/\r\n/", "\n", trim($out));
 
 	/* when using CGI, strip the headers from the output */
-	$headers = b"";
+	$headers = "";
 
-	if (isset($old_php) && preg_match(b"/^(.*?)\r?\n\r?\n(.*)/s", $out, $match)) {
+	if (isset($old_php) && preg_match("/^(.*?)\r?\n\r?\n(.*)/s", $out, $match)) {
 		$output = trim($match[2]);
-		$rh = preg_split(b"/[\n\r]+/", $match[1]);
+		$rh = preg_split("/[\n\r]+/", $match[1]);
 		$headers = array();
 
 		foreach ($rh as $line) {
-			if (strpos($line, b':') !== false) {
-				$line = explode(b':', $line, 2);
+			if (strpos($line, ':') !== false) {
+				$line = explode(':', $line, 2);
 				$headers[trim($line[0])] = trim($line[1]);
 			}
 		}
@@ -1772,13 +1741,13 @@ COMMAND $cmd
 	if (isset($section_text['EXPECTHEADERS'])) {
 		$want = array();
 		$wanted_headers = array();
-		$lines = preg_split(b"/[\n\r]+/", (binary) $section_text['EXPECTHEADERS']);
+		$lines = preg_split("/[\n\r]+/", $section_text['EXPECTHEADERS']);
 
 		foreach($lines as $line) {
-			if (strpos($line, b':') !== false) {
-				$line = explode(b':', $line, 2);
+			if (strpos($line, ':') !== false) {
+				$line = explode(':', $line, 2);
 				$want[trim($line[0])] = trim($line[1]);
-				$wanted_headers[] = trim($line[0]) . b': ' . trim($line[1]);
+				$wanted_headers[] = trim($line[0]) . ': ' . trim($line[1]);
 			}
 		}
 
@@ -1790,7 +1759,7 @@ COMMAND $cmd
 
 			if (isset($org_headers[$k])) {
 				$headers = $org_headers[$k];
-				$output_headers[] = $k . b': ' . $org_headers[$k];
+				$output_headers[] = $k . ': ' . $org_headers[$k];
 			}
 
 			if (!isset($org_headers[$k]) || $org_headers[$k] != $v) {
@@ -1799,9 +1768,9 @@ COMMAND $cmd
 		}
 
 		ksort($wanted_headers);
-		$wanted_headers = join(b"\n", $wanted_headers);
+		$wanted_headers = join("\n", $wanted_headers);
 		ksort($output_headers);
-		$output_headers = join(b"\n", $output_headers);
+		$output_headers = join("\n", $output_headers);
 	}
 
 	show_file_block('out', $output);
@@ -1815,13 +1784,13 @@ COMMAND $cmd
 		}
 
 		show_file_block('exp', $wanted);
-		$wanted_re = preg_replace(b'/\r\n/', b"\n", $wanted);
+		$wanted_re = preg_replace('/\r\n/', "\n", $wanted);
 
 		if (isset($section_text['EXPECTF'])) {
 
 			// do preg_quote, but miss out any %r delimited sections
-			$temp = b"";
-			$r = b"%r";
+			$temp = "";
+			$r = "%r";
 			$startOffset = 0;
 			$length = strlen($wanted_re);
 			while($startOffset < $length) {
@@ -1838,47 +1807,47 @@ COMMAND $cmd
 					$start = $end = $length;
 				}
 				// quote a non re portion of the string
-				$temp = $temp . preg_quote(substr($wanted_re, $startOffset, ($start - $startOffset)),  b'/');
+				$temp = $temp . preg_quote(substr($wanted_re, $startOffset, ($start - $startOffset)),  '/');
 				// add the re unquoted.
 				if ($end > $start) {
-					$temp = $temp . b'(' . substr($wanted_re, $start+2, ($end - $start-2)). b')';
+					$temp = $temp . '(' . substr($wanted_re, $start+2, ($end - $start-2)). ')';
 				}
 				$startOffset = $end + 2;
 			}
 			$wanted_re = $temp;
 
 			$wanted_re = str_replace(
-				array(b'%binary_string_optional%'),
-				version_compare(PHP_VERSION, '6.0.0-dev') == -1 ? b'string' : b'binary string',
+				array('%binary_string_optional%'),
+				'string',
 				$wanted_re
 			);
 			$wanted_re = str_replace(
-				array(b'%unicode_string_optional%'),
-				version_compare(PHP_VERSION, '6.0.0-dev') == -1 ? b'string' : b'Unicode string',
+				array('%unicode_string_optional%'),
+				'string',
 				$wanted_re
 			);
 			$wanted_re = str_replace(
-				array(b'%unicode\|string%', b'%string\|unicode%'),
-				version_compare(PHP_VERSION, '6.0.0-dev') == -1 ? b'string' : b'unicode',
+				array('%unicode\|string%', '%string\|unicode%'),
+				'string',
 				$wanted_re
 			);
 			$wanted_re = str_replace(
-				array(b'%u\|b%', b'%b\|u%'),
-				version_compare(PHP_VERSION, '6.0.0-dev') == -1 ? b'' : b'u',
+				array('%u\|b%', '%b\|u%'),
+				'',
 				$wanted_re
 			);
 			// Stick to basics
-			$wanted_re = str_replace(b'%e', b'\\' . DIRECTORY_SEPARATOR, $wanted_re);
-			$wanted_re = str_replace(b'%s', b'[^\r\n]+', $wanted_re);
-			$wanted_re = str_replace(b'%S', b'[^\r\n]*', $wanted_re);
-			$wanted_re = str_replace(b'%a', b'.+', $wanted_re);
-			$wanted_re = str_replace(b'%A', b'.*', $wanted_re);
-			$wanted_re = str_replace(b'%w', b'\s*', $wanted_re);
-			$wanted_re = str_replace(b'%i', b'[+-]?\d+', $wanted_re);
-			$wanted_re = str_replace(b'%d', b'\d+', $wanted_re);
-			$wanted_re = str_replace(b'%x', b'[0-9a-fA-F]+', $wanted_re);
-			$wanted_re = str_replace(b'%f', b'[+-]?\.?\d+\.?\d*(?:[Ee][+-]?\d+)?', $wanted_re);
-			$wanted_re = str_replace(b'%c', b'.', $wanted_re);
+			$wanted_re = str_replace('%e', '\\' . DIRECTORY_SEPARATOR, $wanted_re);
+			$wanted_re = str_replace('%s', '[^\r\n]+', $wanted_re);
+			$wanted_re = str_replace('%S', '[^\r\n]*', $wanted_re);
+			$wanted_re = str_replace('%a', '.+', $wanted_re);
+			$wanted_re = str_replace('%A', '.*', $wanted_re);
+			$wanted_re = str_replace('%w', '\s*', $wanted_re);
+			$wanted_re = str_replace('%i', '[+-]?\d+', $wanted_re);
+			$wanted_re = str_replace('%d', '\d+', $wanted_re);
+			$wanted_re = str_replace('%x', '[0-9a-fA-F]+', $wanted_re);
+			$wanted_re = str_replace('%f', '[+-]?\.?\d+\.?\d*(?:[Ee][+-]?\d+)?', $wanted_re);
+			$wanted_re = str_replace('%c', '.', $wanted_re);
 			// %f allows two points "-.0.0" but that is the best *simple* expression
 		}
 /* DEBUG YOUR REGEX HERE
@@ -1886,7 +1855,7 @@ COMMAND $cmd
 		print(str_repeat('=', 80) . "\n");
 		var_dump($output);
 */
-		if (preg_match(b"/^$wanted_re\$/s", $output)) {
+		if (preg_match("/^$wanted_re\$/s", $output)) {
 			$passed = true;
 			if (!$cfg['keep']['php']) {
 				@unlink($test_file);
@@ -1908,8 +1877,8 @@ COMMAND $cmd
 
 	} else {
 
-		$wanted = (binary) trim($section_text['EXPECT']);
-		$wanted = preg_replace(b'/\r\n/',b"\n", $wanted);
+		$wanted = trim($section_text['EXPECT']);
+		$wanted = preg_replace('/\r\n/',"\n", $wanted);
 		show_file_block('exp', $wanted);
 
 		// compare and leave on success
@@ -1941,8 +1910,8 @@ COMMAND $cmd
 	// Test failed so we need to report details.
 	if ($failed_headers) {
 		$passed = false;
-		$wanted = (binary) $wanted_headers . b"\n--HEADERS--\n" . (binary) $wanted;
-		$output = (binary) $output_headers . b"\n--HEADERS--\n" . (binary) $output;
+		$wanted = $wanted_headers . "\n--HEADERS--\n" . $wanted;
+		$output = $output_headers . "\n--HEADERS--\n" . $output;
 
 		if (isset($wanted_re)) {
 			$wanted_re = preg_quote($wanted_headers . "\n--HEADERS--\n", '/') . $wanted_re;
@@ -1969,12 +1938,12 @@ COMMAND $cmd
 	if (!$passed) {
 
 		// write .exp
-		if (strpos($log_format, 'E') !== false && file_put_contents($exp_filename, (binary) $wanted, FILE_BINARY) === false) {
+		if (strpos($log_format, 'E') !== false && file_put_contents($exp_filename, $wanted, FILE_BINARY) === false) {
 			error("Cannot create expected test output - $exp_filename");
 		}
 
 		// write .out
-		if (strpos($log_format, 'O') !== false && file_put_contents($output_filename, (binary) $output, FILE_BINARY) === false) {
+		if (strpos($log_format, 'O') !== false && file_put_contents($output_filename, $output, FILE_BINARY) === false) {
 			error("Cannot create test output - $output_filename");
 		}
 
@@ -1984,12 +1953,12 @@ COMMAND $cmd
 			$diff = "# original source file: $shortname\n" . $diff;
 		}
 		show_file_block('diff', $diff);
-		if (strpos($log_format, 'D') !== false && file_put_contents($diff_filename, (binary) $diff, FILE_BINARY) === false) {
+		if (strpos($log_format, 'D') !== false && file_put_contents($diff_filename, $diff, FILE_BINARY) === false) {
 			error("Cannot create test diff - $diff_filename");
 		}
 
 		// write .sh
-		if (strpos($log_format, 'S') !== false && file_put_contents($sh_filename, b"#!/bin/sh
+		if (strpos($log_format, 'S') !== false && file_put_contents($sh_filename, "#!/bin/sh
 
 {$cmd}
 ", FILE_BINARY) === false) {
@@ -1998,7 +1967,7 @@ COMMAND $cmd
 		chmod($sh_filename, 0755);
 
 		// write .log
-		if (strpos($log_format, 'L') !== false && file_put_contents($log_filename, b"
+		if (strpos($log_format, 'L') !== false && file_put_contents($log_filename, "
 ---- EXPECTED OUTPUT
 $wanted
 ---- ACTUAL OUTPUT
@@ -2032,9 +2001,9 @@ $output
 function comp_line($l1, $l2, $is_reg)
 {
 	if ($is_reg) {
-		return preg_match(b'/^'. (binary) $l1 . b'$/s', (binary) $l2);
+		return preg_match('/^'. $l1 . '$/s', $l2);
 	} else {
-		return !strcmp((binary) $l1, (binary) $l2);
+		return !strcmp($l1, $l2);
 	}
 }
 
@@ -2100,14 +2069,14 @@ function generate_array_diff($ar1, $ar2, $is_reg, $w)
 			$c2 = @count_array_diff($ar1, $ar2, $is_reg, $w, $idx1, $idx2+1, $cnt1,  $cnt2, 10);
 
 			if ($c1 > $c2) {
-				$old1[$idx1] = (binary) sprintf("%03d- ", $idx1+1) . $w[$idx1++];
+				$old1[$idx1] = sprintf("%03d- ", $idx1+1) . $w[$idx1++];
 				$last = 1;
 			} else if ($c2 > 0) {
-				$old2[$idx2] = (binary) sprintf("%03d+ ", $idx2+1) . $ar2[$idx2++];
+				$old2[$idx2] = sprintf("%03d+ ", $idx2+1) . $ar2[$idx2++];
 				$last = 2;
 			} else {
-				$old1[$idx1] = (binary) sprintf("%03d- ", $idx1+1) . $w[$idx1++];
-				$old2[$idx2] = (binary) sprintf("%03d+ ", $idx2+1) . $ar2[$idx2++];
+				$old1[$idx1] = sprintf("%03d- ", $idx1+1) . $w[$idx1++];
+				$old2[$idx2] = sprintf("%03d+ ", $idx2+1) . $ar2[$idx2++];
 			}
 		}
 	}
@@ -2137,11 +2106,11 @@ function generate_array_diff($ar1, $ar2, $is_reg, $w)
 	}
 
 	while ($idx1 < $cnt1) {
-		$diff[] = (binary) sprintf("%03d- ", $idx1 + 1) . $w[$idx1++];
+		$diff[] = sprintf("%03d- ", $idx1 + 1) . $w[$idx1++];
 	}
 
 	while ($idx2 < $cnt2) {
-		$diff[] = (binary) sprintf("%03d+ ", $idx2 + 1) . $ar2[$idx2++];
+		$diff[] = sprintf("%03d+ ", $idx2 + 1) . $ar2[$idx2++];
 	}
 
 	return $diff;
@@ -2149,12 +2118,12 @@ function generate_array_diff($ar1, $ar2, $is_reg, $w)
 
 function generate_diff($wanted, $wanted_re, $output)
 {
-	$w = explode(b"\n", $wanted);
-	$o = explode(b"\n", $output);
-	$r = is_null($wanted_re) ? $w : explode(b"\n", $wanted_re);
+	$w = explode("\n", $wanted);
+	$o = explode("\n", $output);
+	$r = is_null($wanted_re) ? $w : explode("\n", $wanted_re);
 	$diff = generate_array_diff($r, $o, !is_null($wanted_re), $w);
 
-	return implode(b"\r\n", $diff);
+	return implode("\r\n", $diff);
 }
 
 function error($message)
-- 
2.40.0