Commit Graph

104 Commits

Author SHA1 Message Date
Greg Beaver
44358edd8d new test for non-executable zip named as phar 2008-04-21 16:39:11 +00:00
Greg Beaver
5e5dd15d52 fix test to be OS-agnostic 2008-04-20 05:50:40 +00:00
Greg Beaver
41d9dde1df re-adding as binary 2008-04-20 05:49:06 +00:00
Greg Beaver
7cc7bdded7 added as text, removing in order to re-add 2008-04-20 05:48:52 +00:00
Greg Beaver
56650fa4cd amend zip test to actually test file perms creation/reading and fix severely broken permissions creation 2008-04-20 05:41:41 +00:00
Greg Beaver
4336865bb4 add new test for openoffice-created zip 2008-04-20 05:22:02 +00:00
Greg Beaver
0cf701fe4e new test for unix 'zip' command-created zip archives 2008-04-20 05:19:20 +00:00
Greg Beaver
e94aaeada9 new test for unsupported compression versions, vastly enhance error messages on unsupported compression methods, fix memleak 2008-04-19 06:18:13 +00:00
Greg Beaver
aa61e6066c new tests for corrupted zips 2008-04-19 05:58:40 +00:00
Greg Beaver
0d1e0b4311 new test for zip archives with files created from stdin 2008-04-19 05:53:57 +00:00
Greg Beaver
78c55d2f6d new test for encrypted zips 2008-04-19 05:51:10 +00:00
Greg Beaver
d3a4ecf5ab new test for central directory offset being wrong 2008-04-19 05:45:10 +00:00
Greg Beaver
bd3ddde29f new test for truncated file comment, fix memleak found by test 2008-04-19 05:39:42 +00:00
Greg Beaver
4e98585ff7 new corrupt zip test 2008-04-19 05:35:03 +00:00
Greg Beaver
531caa6393 new test for corrupted zip with mis-matched entry counts, and fix memleaks in this test case 2008-04-19 05:30:48 +00:00
Greg Beaver
410ce457ab add utility for creating corrupted zip archives for testing purposes 2008-04-19 05:15:24 +00:00
Greg Beaver
a3e723b935 add failing tests for compression of zip files internally 2008-04-16 20:15:19 +00:00
Greg Beaver
31e6629895 fix large zip test 2008-04-16 20:08:02 +00:00
Greg Beaver
4e584728e5 fix end of directory locator detection code, add failing test for large zips 2008-04-16 04:34:25 +00:00
Greg Beaver
398bcf4dd0 fix test - metadata works now 2008-04-16 04:16:20 +00:00
Greg Beaver
f513caa0a6 add failing test for metadata support in zip archives 2008-04-16 04:11:14 +00:00
Greg Beaver
dc4da5e2f9 make tests php version-agnostic with regards to stream errors 2008-04-13 21:31:46 +00:00
Greg Beaver
0814b2df09 fix build if SPL is disabled 2008-04-12 21:43:39 +00:00
Greg Beaver
c0d82e966f refactor compress/convertToTar/convertToPhar/convertToZip/convertToExecutable/convertToData
into 2 methods:
convertToExecutable/convertToData.  Both methods accept 3 optional parameters
1 archive type, Phar::PHAR, Phar::TAR, or Phar::ZIP
2 compression Phar::NONE, Phar::GZ, or Phar::BZ2
3 file extension.  Default is <format>.<compression> where .phar.tar is executable .tar
convertToExecutable always returns a Phar object
convertToData always returns a PharData object
also added Phar::PHAR, Phar::TAR, and Phar::ZIP class constants
[DOC]
2008-04-11 04:20:15 +00:00
Greg Beaver
abfc228f36 add addFile/addFromString/addEmptyDir. API is identical to ext/zip
[DOC]
2008-04-09 19:23:31 +00:00
Greg Beaver
2e9fca4f0b fix read/write for PharData object, update tests to current API 2008-03-24 03:01:31 +00:00
Greg Beaver
0262e844c4 implement full support and usage of phar stream in include_path, for both 5.2 and 5.3.
5.3 code expects the proposed patch for stream wrapper in include_path to be committed
5.2 code only supports phar stream wrapper in include_path.
this is a 2-step process.  After this, more magic, particularly in funcinterceptors.c will be
converted to use phar_resolve_path, which is far safer than the current implementation.

this needs windows and 5.2 testing unix/windows
2008-03-12 03:55:12 +00:00
Steph Fox
89842172e3 Updating tests. 100% pass rate here now - not sure about the rest of the world just yet (sorry Marcus). 2008-02-24 19:34:05 +00:00
Greg Beaver
dc43219add down to 1 failing zip test with this commit 2008-02-23 18:28:36 +00:00
Steph Fox
20836262c8 Updated wrong expectation (different stub). 2008-02-21 18:44:06 +00:00
Steph Fox
9a1e7ee88b Update tests to accommodate those two extra bytes 2008-02-21 15:20:46 +00:00
Steph Fox
e8e85afbcc Updating conversion tests to check for more conversion parameters than one. Note that these will all fail against current CVS.
@Greg: We need to clarify conversion policy across the board.
2008-02-21 14:45:44 +00:00
Steph Fox
6cc2426ff1 A much better solution for setDefaultStub(). The convertTo*() fixes should be trivial now. 2008-02-21 00:24:38 +00:00
Steph Fox
d8bebd7259 Implement $phar->setDefaultStub()
Note that Phar::createDefaultStub() still exists at this point
2008-02-20 19:22:12 +00:00
Greg Beaver
22d05677c1 fix test (all tests pass on unix now) 2008-02-12 05:30:59 +00:00
Steph Fox
b1ed2e8059 There's a difference between 'BORKED' and 'FAILED'... 2008-02-11 21:05:47 +00:00
Steph Fox
ef46f3e3a2 Funnily enough those frontcontroller tests still pass here! Investigating... 2008-02-11 20:55:44 +00:00
Greg Beaver
3ade59e537 update test phars 2008-02-11 01:07:53 +00:00
Greg Beaver
e67c584348 [DOC]
refactor the $rewrites parameter in Phar::webPhar.  Now it is a callback
that accepts the path requested.  This callback should return the actual filename
requested as a string, or false to deny access as HTTP 403.
Also fix incorrect munging of SCRIPT_NAME variable in mungServer
More importantly, Phar::webPhar now finds the filename hidden in:
http://localhost/myphar.phar/internal/file.php/extra/stuff
as 'internal/file.php' in phar 'myphar.phar' with REQUEST_URI '/internal/file.php/extra/stuff'
this will allow pharring up apps that use REQUEST_URI for front controller stuff.
2008-02-07 23:42:03 +00:00
Greg Beaver
1cac0aa8e2 fix webPhar() in CGI sapi, update tests to reflect reality of how these ENV vars are passed 2008-02-07 04:24:58 +00:00
Steph Fox
ed2785e2a5 OK so let's kill the bug-hider 2008-01-30 00:53:56 +00:00
Steph Fox
76640a615f - One last tweak (so Phar and no-phar work the same again now)
- Bunch of test fixes
- Note: I added a silencer to the unlink() call in zip/tarmaker to avoid system warnings here. If this messes up tests elsewhere we'll need to re-think.
2008-01-29 11:58:27 +00:00
Greg Beaver
f4e4ad0cd1 fix PharFileInfo->setAlias (was wildly broken)
fix directory creation in zip archives
update zip tests to use phar to create the zip, and then copy to a new file
2008-01-28 20:18:15 +00:00
Steph Fox
618a29411d Get rid of zip requirement in the last few tests
@Greg: zip/tarmaker.inc needs a rewrite
2008-01-28 16:49:28 +00:00
Steph Fox
975a1b87af Get rid of zip requirement 2008-01-28 16:31:56 +00:00
Greg Beaver
6cdabede4c remove ext/zip dependency entirely, write better native zip support
re-organize, create util.c, move entry_info/archive_data/entry_data access methods to this file
refactor entry->fp, now this is abstracted with phar_get_efp() and phar_seek_efp(), fixes all weird dependency issues
permanently solve the "millions of file pointers" issue for read access.  All compressed files are read into a single
temporary stream, and their constraints are controlled by the entry->fp abstraction

Improvements in this zip implementation over ext/zip:
 * full read/write support for bzip2 compressed files
 * much more efficient access for accessing only a few files within large zip files, as crc/header validation is
   done just-in-time
 * full stream support for opendir/rename/rmdir/mkdir as well as all of the other stream funcs
 * full support for setting file perms via Phar::chmod(), stored as zip-standard extra field
 * no problem with large zips and many open file pointers

# TODO: add big-endian system support for tar/zip file format headers, otherwise the implementation is complete
# TODO: test on windows and fix any windows-specific issues
# TODO: verify zips created work with unzip/winzip/windows explorer and so on
2008-01-28 08:52:08 +00:00
Greg Beaver
f51bf6118c fix tests to match CVS 2008-01-22 05:26:38 +00:00
Greg Beaver
5689f3c9c6 add new test for opening a zip-based phar with no zip ext, update skipif for phar_convert test 2008-01-17 20:17:40 +00:00
Greg Beaver
d1eda9c8ac add Phar::convertToTar(), Phar::convertToZip(), and Phar::convertToPhar() 2008-01-16 07:24:39 +00:00
Greg Beaver
ba707bad4c fix test (make OS-agnostic) 2008-01-14 06:25:22 +00:00
Greg Beaver
0df060f18b add missing skip sections in zip tests 2008-01-14 05:25:11 +00:00
Greg Beaver
6961da0811 add tests for directory creation and management for tar and zip-based phars, add isPhar() to phar-based test
to confirm it is indeed a phar-based archive
2008-01-09 03:51:38 +00:00
Greg Beaver
9f5b3a229f fix empty directories in phar, add test 2008-01-09 00:58:37 +00:00
Greg Beaver
b93b48663d complete set of new tests for zip-based phars (need to test compression for zip-based phars)
fix a whole bunch of zip-related bugs
tar tests need some naming
add phar information to error messages, fix existing tests to reflect this
2008-01-08 07:08:46 +00:00