jdk-24/jdk/test/tools/pack200/pack200-verifier/data
2010-08-20 08:18:54 -07:00
..
golden.jar 6966737: (pack200) the pack200 regression tests need to be more robust 2010-08-20 08:18:54 -07:00
README 6966737: (pack200) the pack200 regression tests need to be more robust 2010-08-20 08:18:54 -07:00

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.