php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login

Patch bug60761.diff for Testing related Bug #61519

Patch version 2012-03-26 17:02 UTC

Return to Bug #61519 | Download this patch
Patch Revisions:

Developer: mattficken

--- C:/Users/v-mafick.REDMOND/Downloads/php-5.3-src-r324324/php-5.3-src-r324324/ext/zlib/tests/bug60761.phpt	Wed Jan 18 13:29:13 2012
+++ C:/Users/v-mafick.REDMOND/Desktop/bug_60761.phpt	Wed Jan 25 15:15:32 2012
@@ -1,35 +1,54 @@
 --TEST--
-checks zlib compression size is always the same no matter how many times its run
+checks zlib compression output size is always the same
 --SKIPIF--
 <?php if (!extension_loaded("zlib")) print "skip"; ?>
+--CGI--
+1
 --FILE--
 <?php
 
-ob_start();
-phpinfo();
-$html = ob_get_clean();
+// the INI directives from bug #60761 report
+ini_set('zlib.output_compression', '4096');
+ini_set('zlib.output_compression_level', '9');
+
+// try to duplicate the original bug by running this as a CGI
+// test using ob_start and zlib.output_compression(or ob_gzhandler)
+// so it follows more of the original code-path than just calling
+// gzcompress on CLI or CGI
 
 $lens = array();
 
-for ( $i=0 ; $i < 200 ; $i++ ) {
-	//zlib.output_compression = On
-	//zlib.output_compression_level = 9
-	$compressed = gzcompress($html, 9);
-	
-	$len = strlen($compressed);
+for ( $i=0 ; $i < 100 ; $i++ ) {
+
+
+	// can't use ob_gzhandler with zlib.output_compression
+	ob_start();//"ob_gzhandler");
+	phpinfo();
+	$html = ob_get_clean();
+
+	$len = strlen($html);
 
 	$lens[$len] = $len;
 } 
  
 $lens = array_values($lens);
 
-echo "Compressed lengths\n";
-var_dump($lens);
+echo "Compressed Lengths\n";
+
+// pass == only ONE length for all iterations
+//         (length didn't change during run)
+// 
+// hard to anticipate what 'correct' length should be since
+// return value of phpinfo() will vary between installations...
+// just check that there is only one length
+// 
+var_dump($lens); // show lengths to help triage in case of failure
 
+// expected headers since its CGI
 ?>
---EXPECTREGEX--
-Compressed lengths
+--EXPECTF--
+%s
 array(1) {
   [0]=>
   int(%d)
-}
+}
\ No newline at end of file
 
PHP Copyright © 2001-2014 The PHP Group
All rights reserved.
Last updated: Fri Apr 18 15:02:26 2014 UTC