These tests are quite sensitive to CLASSPATH and the such.  I don't
have the time to force them into the JCK structure right now.


The desire is to try all different types of classloaders, all
protocols, all types of files.

====

CONTENTS:

src/util		- utilities to be used by the tests
src/sun/applet/Aux.java	- an auxiliary class used to access into package data

gold/			- gold files, to feed the tests
			  this also contains sample .gif and .au files

setup.{sh,bat}		- setup script to run once before running any tests
pass??.{sh,bat}		- scripts that we believe should pass
fail??.{sh,bat}		- scripts that fail because of known bugs


*.../Klass??		- classes providing "context" for resource access

./			- these directories have both data and Klass?? classes
pkg1/			  the first 3 are mostly for relative data,
prefix/pkg2		  the last one (data) for absolute data
data/
data/misc

alt1/			- an alternate place were to search
alt1/pkg1
alt1/prefix/pkg1
alt1/data
alt1/data/misc


====

Each test is done relative to a loaded Class.  A test run first
indicates what class to load, and what class loader to use.  It then
performs a specific test on that class, driven by some arguments, which
usually include a golden file.

There are two utility classes, "util.TestApplet" loads classes using
the AppletClassLoader; "util.TestSystem" loads classes using the
System ClassLoader.  TestApplet takes a codebase URL, an optional list
of JAR files, and a class name.  TestSystem just needs a class name.

Each of the two utility classes then takes the name of a test class
(to be loaded from CLASSPATH), and some arguments that are interpreted
by that test class.  The existing tests are:

* Positive - The resources must exist, be readable, and be consistent
	(in that a getResourceAsStream() yiels the same as a getResource()
	followed by an openStream()).

* Negative - The resources cannot be found, neither via getResourceAsStream()
	not getResource()

* NotReadable - The resources exist, are consistent, but no bytes can be
	read from them.


====

Each test run is of the form:

<Set conditions, if appropriate>

% java util.TestApplet [01] <URL for CodeBase> [-jar <URL for JAR>]* <ClassName> <TestName> <args>...

or

% java util.TestApplet [01] <ClassName> <TestName> <args>...

====

** Run first setup.{csh,bat}
** setenv GETRESOURCE_URL (follow instructions)
** Now run the desired run??.{csh,bat}


==== Inventory ====

find . -name '*SCCS*' -prune -o -name '*gold*' -prune -o \( -name '*.txt' -o -name '*.gif' -o -name '*.au' -o -name 'Klass*.java' \) -print >&! gold/INVENTORY
