summaryrefslogtreecommitdiff
path: root/ext/zlib/tests
diff options
context:
space:
mode:
authorAnatoliy Belsky <ab@php.net>2012-03-27 16:02:31 (GMT)
committerAnatoliy Belsky <ab@php.net>2012-03-27 16:02:31 (GMT)
commitbcfcfb2fc5f358ebfdc76a773b20b3fc056b20c0 (patch)
treec38e224dde922f7712fec9e6c1714a2c89e82c3f /ext/zlib/tests
parentb638d3020c79e15c7187f25175a956fb9e3fe213 (diff)
downloadphp-bcfcfb2fc5f358ebfdc76a773b20b3fc056b20c0.tar.gz
Fix bug #61519 test fails, should pass - ext/zlib/tests/bug60761.phpt
Diffstat (limited to 'ext/zlib/tests')
-rw-r--r--ext/zlib/tests/bug60761.phpt47
1 files changed, 33 insertions, 14 deletions
diff --git a/ext/zlib/tests/bug60761.phpt b/ext/zlib/tests/bug60761.phpt
index 7f4fffd..340d878 100644
--- a/ext/zlib/tests/bug60761.phpt
+++ b/ext/zlib/tests/bug60761.phpt
@@ -1,34 +1,53 @@
--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)