28fff3ad36
Reviewed-by: jrose, ohair |
||
---|---|---|
.. | ||
golden.jar | ||
README |
The files contained in the golden.jar have been harvested from many different sources, some are hand-crafted invalid class files (odds directory), or from random JDK builds. Generally these files serve to ensure the integrity of the packer and unpacker by, 1. maximizing the test coverage. 2. exercising all the Bands in the pack200 specification. 2. testing the behavior of the packer with invalid classes. 3. testing the archive integrity, ordering and description (date, sizes, CRC etc.) Build: To rebuild this JAR follow these steps: 1. unzip the golden.jar to some directory lets call it "example" 2. now we can add any directories with files into example. 2. run the script BUILDME.sh as % sh BUILDME.sh example Note: the BUILDME.sh is known to work on all Unix platforms as well as Windows using Cygwin. The above will create two JAR files in the current directory, example.jar and example-cls.jar, now the example.jar can be used as the golden.jar. To ensure the JAR has been built correctly use jar -tvf and compare the results of the old jar and the newly built one, note that the compressed sizes may differ, however the timestamps etc. should be consistent. Test: Basic: % pack200 --repack test.jar golden.jar Advanced: Create a pack.conf as follows: % cat pack.conf com.sun.java.util.jar.pack.dump.bands=true % pack200 --no-gzip --config-file=pack.conf \ --verbose golden.jar.pack golden.jar This command will dump the Bands in a unique directory BD_XXXXXX, one can inspect the directory to ensure all of the bands are being generated. Familiarity of the Pack200 specification is suggested.