Commit:    92153dcfe3f7643526572439622408d94fd4aa14
Author:    Anatoliy Belsky <a...@php.net>         Tue, 21 Aug 2012 13:22:00 
+0200
Parents:   0cdc1f5626bd400278aa193867e1fd4fe3f771d4
Branches:  PHP-5.3 PHP-5.4 master

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

Log:
Added test for bug #51353. It'll be skipped by default and must be
activated manually.

Bugs:
https://bugs.php.net/51353

Changed paths:
  A  ext/zip/tests/bug51353.phpt


Diff:
diff --git a/ext/zip/tests/bug51353.phpt b/ext/zip/tests/bug51353.phpt
new file mode 100644
index 0000000..560945f
--- /dev/null
+++ b/ext/zip/tests/bug51353.phpt
@@ -0,0 +1,54 @@
+--TEST--
+Bug #51353 ZIP64 problem, archive with 100000 items
+--SKIPIF--
+<?php
+if(!extension_loaded('zip')) die('skip');
+die('skip the test might get very long, activate it manually');
+--FILE--
+<?php
+/* This test might get very long depending on the mashine it's running on. 
Therefore
+adding an explicit skip, remove it to run this test. */
+set_time_limit(0);
+
+$base_path = dirname(__FILE__);
+
+/* Either we ship a file with 100000 entries which would be >12M big,
+       or create it dynamically. */
+$zip = new ZipArchive;
+$r = $zip->open("$base_path/51353.zip", ZIPARCHIVE::CREATE | 
ZIPARCHIVE::OVERWRITE);
+if ($r) {
+       for ($i = 0; $i < 100000; $i++) {
+               $zip->addFromString("$i.txt", '1');
+       }
+       $zip->close();
+} else {
+       die("failed");
+}
+
+$zip = new ZipArchive;
+$r = $zip->open("$base_path/51353.zip");
+if ($r) {
+       $zip->extractTo("$base_path/51353_unpack");
+       $zip->close();
+
+       $a = glob("$base_path/51353_unpack/*.txt");
+       echo count($a) . "\n";
+} else {
+       die("failed");
+}
+
+echo "OK";
+--CLEAN--
+<?php
+$base_path = dirname(__FILE__);
+
+unlink("$base_path/51353.zip");
+
+$a = glob("$base_path/51353_unpack/*.txt");
+foreach($a as $f) {
+       unlink($f);
+}
+rmdir("$base_path/51353_unpack");
+--EXPECT--
+100000
+OK


--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to