There are now 6 failures and 132 tests passing. (It's worth noting that
each jtreg test typically contains multiple unit or regression tests)
Of the 6 failures, one is for a squid proxy server, 4 are Kerberos tests
that require a KDC server, we have an apache infrastructure zone
provided for this purpose, but not being kerberos man, I'm worried about
misconfiguring a Kerberos test server with a direction connection to the
internet. Anyone with kerberos experience please feel free to contact me.
The remaining failing test is RegistryRetainCodebase.
These tests have always failed since we first started running jtreg on
River, in fact two more tests are now passing, TestEqual and CheckDefinite.
TestEqual, now passes, the failure was due to the URL equals bug, to fix
it, I overrode equals() and hashCode() in the httpmd provider.
Execution failed: `main' threw exception: Test$FailedException:
1 test failure
* net/jini/url/httpmd/TestEqual.java
<file:///opt/src/ApacheRiver/trunk/qa/jtreg/JTwork/net/jini/url/httpmd/TestEqual.jtr>
: Tests equal on httpmd: URLs
CheckDefinite is now passing, it was missing the tools.jar from its
classpath, a similar test failure RegistryRetainCodebase, I suspect is
missing the stub class.
Program `/usr/jdk/jdk1.5.0_15/bin/java' interrupted! (timed out?)
*
net/jini/loader/pref/PreferredClassProvider/checkDefinite/CheckDefinite.java
<file:///opt/src/ApacheRiver/trunk/qa/jtreg/JTwork/net/jini/loader/pref/PreferredClassProvider/checkDefinite/CheckDefinite.jtr>
: Make sure that the preferred class provider can tell when the
preferred list definitely does not exist in the resources of a
class loader
JT Harness : Tests that failed
Tests are grouped by their final status message.
Execution failed: `main' threw exception: TestFailedException: TEST
FAILED: client failed to call back in time
*
net/jini/loader/pref/PreferredClassProvider/registryRetainCodebase/RegistryRetainCodebase.java
<cid:[email protected]> : Ensures that a
registry with a stub class in CLASSPATH preserves the codebase
annotation of that stub class (using preferred classes) when a
marshalled instance of that class is passed through the
rmiregistry in a series of remote method invocations
Execution failed: `main' threw exception: java.rmi.UnknownHostException:
unknown host in
BasicObjectEndpoint[162aaab2-ccbc-49dd-b3df-d7de6fdf34c3,HttpEndpoint[10.1.1.2:34122]];
nested exception is: java.net.UnknownHostException: jiniproxy
* net/jini/jeri/http/echo/EchoImpl.java
<cid:[email protected]> : Echo implementation
for testing basic HTTP endpoint functionality.
Execution failed: exit code 1
* net/jini/jeri/kerberos/RegressionTests/runListenEndpointTest.sh
<cid:[email protected]> : Different
ServerEndPoints must allow export on same ListenEndPoint
* net/jini/jeri/kerberos/UnitTests/runTestEndpoints.sh
<cid:[email protected]> : Test the
KerberosEndpoint and KerberosServerEndpoint classes.
* net/jini/jeri/kerberos/UnitTests/runTestPerformance.sh
<cid:[email protected]> : Tests the end to end
performance of Kerberos provider.
* net/jini/jeri/transport/multihomed/runMultihome.sh
<cid:[email protected]> : Test the
KerberosEndpoint for multihome support
------------------------------------------------------------------------
Report generated on 08/02/2012 7:42:51 AM
Using JT Harness 4.1.4; built on 29 August 2008 12:00:00 AM with
Java(TM) 2 SDK, Version 1.5.0
JT Harness : Tests that passed
Tests are grouped by their final status message.
Execution successful
com/sun/jini/action/catchSecurityException/CatchSecurityException.java :
The PrivilegedAction implementations in com.sun.jini.action that read
system properties should catch SecurityException, in case the caller's
protection domain or their own protection domain does not even have the
necessary permission, and return the default value instead.
com/sun/jini/config/KeyStores/TestGetKeyStore.java : Tests
KeyStores.getKeyStore
com/sun/jini/config/KeyStores/TestGetX500Principal.java : Tests
KeyStores.getX500Principal
com/sun/jini/phoenix/ExecOptionPermission/Operations.java : test
basic operations of ExecOptionPermission
com/sun/jini/tool/CheckConfigurationFile/TestCheck.java : Tests
CheckConfigurationFile
java/rmi/server/RMIClassLoader/loadProxyClasses/PreferredLoadProxyClasses.java
: functional test for RMIClassLoader.loadProxyClass; test ensures that
the preferred class loader provider implements
RMIClassLoader.loadProxyClass correctly.
java/rmi/server/Unreferenced/marshalledObjectGet/MarshalledObjectGet.java
: When an object is retrieved from a MarshalledObject, callbacks that
were registered by objects in the graph for execution when the
unmarshalling is done should get executed
java/rmi/server/Unreferenced/whenOnUnexport/WhenOnUnexport.java :
When a remote object implements the Unreferenced interface, the
implementation should invoke its unreferenced() method when the number
of known remote client references through DGC-enabled exports
transitions from greater than zero to zero AND the remote object is
still exported by at least one DGC-enabled exporter-- but not if it's
only exported with non-DGC-enabled exporters.
net/jini/activation/Activatable/activateExceptionTest/ActivateExceptionTest.java
: ActivatableInvocationHandler wrapping of ConnectException; this test
checks possible exceptional conditions occurring when
ActivatableInvocationHandler attempts to activate an object
net/jini/activation/Activatable/activateFailure/ActivateFailure.java
: check that exception thrown by activatable object constructor gets
back to phoenix without connection getting slammed shut by unexport of a
JERI-exported activation group
net/jini/activation/Activatable/checkImplClassLoader/CheckImplClassLoader.java
: ActivationGroupImpl.newInstance does not set context classloader for impl
net/jini/activation/Activatable/checkRegisterInLog/CheckRegisterInLog.java
: activate fails if rmid is restarted
net/jini/activation/Activatable/createPrivateActivable/CreatePrivateActivatable.java
: allow non-public activatable class and/or constructor
net/jini/activation/Activatable/downloadParameterClass/DownloadParameterClass.java
: The class loader used to load classes for parameter types sent in an
RMI call to an activatable object should delegate to the class loader
that loaded the class of the activatable object itself, to maximize the
likelihood of type compatibility between downloaded parameter types and
supertypes shared with the activatable object.
net/jini/activation/Activatable/downloadSecurityManager/DownloadSecurityManager.java
: Activation groups should be able to download and install a security
manager.
net/jini/activation/Activatable/forceLogSnapshot/ForceLogSnapshot.java :
synopsis: Activatable objects cannot be restarted.
net/jini/activation/Activatable/inactiveGroup/InactiveGroup.java :
synopsis: rmid should not destroy group when it reports inactiveGroup
net/jini/activation/Activatable/nestedActivate/NestedActivate.java :
synopsis: Activating objects from an Activatable constructor causes deadlock
net/jini/activation/Activatable/nonExistentActivatable/NonExistentActivatable.java
: synopsis: NoSuchObjectException not thrown for non-existent
activatable objects
net/jini/activation/Activatable/restartCrashedService/RestartCrashedService.java
: synopsis: rmid should waitFor restartable objects that crash and
restart them
net/jini/activation/Activatable/restartService/RestartService.java :
synopsis: activator should restart daemon services
net/jini/activation/Activatable/terminateGroup/TerminateGroup.java :
net/jini/activation/Activatable/unregisterInactive/UnregisterInactive.java
: synopsis: activatable object fails to go inactive after
unregister/inactive sequence.
net/jini/activation/Activatable/useProxyAccessor/UseProxyAccessor.java :
test for ProxyAccessor use in conjunction with activation
net/jini/activation/ActivatableInvocationHandler/readObject/ReadObject.java
: AIH.readObject should throw InvalidObjectException if constraints
inconsistent.
net/jini/activation/ActivationAdmin/getGroupsObjects/GetGroupsObjects.java
: test getActivationGroups and getActivableObjects methods
net/jini/activation/ActivationSystem/accessControl/AccessControl.java :
test basic permission-based access control for a secure rmid
net/jini/activation/ActivationSystem/bootstrapAttack/BootstrapAttack.java
: test that code downloading is disabled for registry
net/jini/activation/ActivationSystem/ensureRestart/EnsureRestart.java :
net/jini/activation/ActivationSystem/unregisterGroup/UnregisterGroup.java
: synopsis: ActivationSystem.unregisterGroup should unregister objects
in group
net/jini/config/ConfigurationFile/TestParser/TestParser.java : Tests
parsing configuration files.
net/jini/config/TestAPI/TestConstructor.java : Tests
ConfigurationFile constructors
net/jini/config/TestAPI/TestGetEntryType.java : Tests
ConfigurationFile.getEntry
net/jini/config/TestAPI/TestGetInstance.java : Tests
ConfigurationProvider.getInstance
net/jini/config/TestAPI/TestOverrides.java : Tests configuration
file overrides
net/jini/config/TestAPI/TestUnicodeEscapesDecodingReader.java :
Tests UnicodeEscapesDecodingReader
net/jini/config/TestAbstractConfiguration.java : Tests the
AbstractConfiguration class
net/jini/config/TestEmptyConfiguration.java : Tests the
EmptyConfiguration class
net/jini/constraints/BasicMethodConstraints/getConstraints/GetConstraints.java
: test BasicMethodConstraints.getConstraints
net/jini/constraints/BasicMethodConstraints/ordering/Ordering.java :
test BasicMethodConstraints descriptor ordering restrictions
net/jini/constraints/basicOperations/BasicOperations.java : test
basic operations of the constraint classes
net/jini/constraints/readObject/ReadObject.java : test constraint
class readObject methods
net/jini/iiop/echo/ConnectedExport.java : Test basic IiopExporter
functionality for "connected" exports (i.e., exports with a specified
ORB to which to connect).
net/jini/iiop/echo/NonIiopExport.java : Verify that IiopExporter
will not export an object if its Tie class is unavailable.
net/jini/iiop/echo/UnconnectedExport.java : Test basic IiopExporter
functionality for "unconnected" exports (i.e., exports which do not
connect to an ORB)
net/jini/io/MarshalInputStream/verifyWithEqualLoaders/VerifyWithEqualLoaders.java
: MarshalInputStream should verify codebase integrity (if constructed to
do so) even if the defaultLoader and the context class loader identical,
as long as neither of them are the same as or a descendant of the
defining class loader of the class being resolved.
net/jini/jeri/BasicInvocationDispatcher/checkClientPermission/CheckClientPermission.java
: test SecureDispatcher.checkClientPermisson
net/jini/jeri/BasicInvocationDispatcher/suppressStackTraces/SuppressStackTraces.java
: When the system property com.sun.jini.jeri.server.suppressStackTraces
is set true, then BasicInvocationDispatcher should take positive action
to counteract the new feature in 1.4 of an exception's stack trace being
part of its serialized form so that the server-side stack trace of an
exception that occurs during the execution of a remote method invocation
gets marshalled to the client
net/jini/jeri/BasicInvocationHandler/serverStackTrace/ServerStackTrace.java
: When an exception is thrown by a remote method invocation, the stack
trace of the exception catchable by the client application should
comprise both the client-side trace as well as the server-side trace, as
serialized with the Throwable from the server.
net/jini/jeri/BasicInvocationHandler/unmarshalUnexpectedException/UnmarshalUnexpectedException.java
: Verify that an unexpected exception (except RuntimeException or Error)
unmarshalled by BasicInvocationHandler.unmarshalThrow method are wrapped
in a java.rmi.UnexpectedException.
net/jini/jeri/BasicJeriExporter/dgcServerExposure/DgcServerExposure.java
: The server-side DGC implementation remote object should only be
exported at a given endpoint while there are DGC-enabled remote objects
also exported at that same endpoint, in order to minimize exposure to
certain unmarshalling denial-of-service attacks (such as a "large
object" attack), given that the server-side DGC implementation does not
support access control
net/jini/jeri/BasicJeriExporter/globalListenLock/GlobalListenLock.java :
The BasicJeriExporter implementation must not hold a global lock while
attempting to listen on a ListenEndpoint.
net/jini/jeri/BasicJeriExporter/operations/Operations.java : test
BasicJeriExporter basic operations
net/jini/jeri/BasicJeriExporter/sameClassCheck/SameClassCheck.java :
The BasicJeriExporter implementation must not compare ListenEndpoint
instances of different classes.
net/jini/jeri/BasicJeriTrustVerifier/BjtvSubclassTest.java : Allow
BasicJeriTrustVerifier subclasses to customize invocation handler check
net/jini/jeri/connection/ConnectionManager/overlocking/Overlocking.java
: Request initiation to a net.jini.jeri.connection-based endpoint should
not block waiting for the establishment of a connection that the request
wouldn't have been used for anyway (like if the connection does not
satisfy the new request's constraints).
net/jini/jeri/connection/ConnectionManager/saturation/Saturation.java :
test ConnectionManager.newRequest handling of mux saturation
net/jini/jeri/http/connectionReuse/Test.java : Test HTTP connection
reuse.
net/jini/jeri/internal/runtime/getRemoteInterfaces/GetRemoteInterfaces.java
: Test getRemoteInterfaces
net/jini/jeri/internal/runtime/runtimeThreadInheritanceLeak/RuntimeThreadInheritanceLeak.java
: When the JERI runtime (lazily) spawns system threads that could
outlive the application context in which they were (happened to be)
created, such threads should not inherit (thread local) data specific to
such an application context for various isolation reasons (see 4219095)
net/jini/jeri/kerberos/UnitTests/TestVerifier.java : Tests the jgss
trust verifier.
net/jini/jeri/ssl/UnitTests/TestConnectionContext.java : Tests the
ConnectionContext class
net/jini/jeri/ssl/UnitTests/TestEndpoint.java : Tests the
SslEndpoint and HttpsEndpoint classes.
net/jini/jeri/ssl/UnitTests/TestEndpointHttps.sh : Tests the
Endpoint class over HTTPS.
net/jini/jeri/ssl/UnitTests/TestEndpointInternal.java : Tests
non-public methods of the Endpoint class.
net/jini/jeri/ssl/UnitTests/TestEndpointInternalHttps.sh : Tests
non-public methods of the Endpoint class over HTTPS.
net/jini/jeri/ssl/UnitTests/TestPerformance.java : Tests performance
of RMI and JSSE.
net/jini/jeri/ssl/UnitTests/TestPerformanceHttps.sh : Tests
performance of RMI and JSSE over HTTPS.
net/jini/jeri/ssl/UnitTests/TestRMI.java : Performs user-level tests
defined at the RMI level.
net/jini/jeri/ssl/UnitTests/TestRMIHttps.sh : Performs user-level
tests defined at the RMI level over HTTPS.
net/jini/jeri/ssl/UnitTests/TestServerEndpoint.java : Test the
SslServerEndpoint and HttpsServerEndpoint classes.
net/jini/jeri/ssl/UnitTests/TestServerEndpointHttps.sh : Test the
ServerEndpoint class over HTTPS.
net/jini/jeri/ssl/UnitTests/TestTwoEndpoints.java : Tests exports on
one ListenEndpoint but different ServerEndpoints
net/jini/jeri/ssl/UnitTests/TestUtilities.java : Tests the Utilities
class
net/jini/jeri/ssl/UnitTests/TestVerifier.java : Tests the trust
verifier.
net/jini/jeri/ssl/UnitTests/TestWeakSoftTable.java : Tests the
WeakSoftTable class.
net/jini/jeri/tcp/ServerEndpointClose.java : When a
TcpServerEndpont's ServerEndpointListener is closed (such as by
unexporting all JERI-exported remote objects on that endpoint) after a
connection has been accepted from the underlying ServerSocket but before
the connection has been added to the internal set of connections, then
the new connection should still be closed in a timely fashion, rather
than be allowed to stay open.
net/jini/jeri/tcp/connectTimeout/TestConnectTimeout.java : Test the
TCP provider's support for socket connect timeouts controlled by
ConnectionAbsoluteTime and ConnectionRelativeTime constraints.
net/jini/jeri/tcp/localHostExposure/LocalHostExposure.java : If the
local host name cannot be resolved,
TcpServerEndpoint.enumerateListenEndpoints must not expose it in the
resulting UnknownHostException if the caller does not have permission to
resolve it.
net/jini/jeri/tcp/outOfThreads/OutOfThreads.java : This test
verifies robustness (to a certain level) of the NIO-mode mux
implementation when the VM cannot create any more threads
net/jini/jeri/tcp/outOfThreads/OutOfThreads2.java : This test
verifies robustness (to a certain level) of the stream-mode mux
implementation when the VM cannot create any more threads
net/jini/jeri/tcp/serverSocketClose/ServerSocketClose.java : If the
TcpServerEndpoint accept loop terminates for some reason, like if an
exception occurs for which it gives up entirely, then the server socket
should also be closed, so that clients are not left hanging.
net/jini/jeri/tcp/unfulfilledConstraints/TestUnfulfilledConstraints.java
: Test the TCP provider's computation of unfulfilled constraints, i.e
net/jini/jeri/transport/multihomed/Multihomed.java :
TcpEndpoint.newRequest.next must try connecting to all addresses for the
endpoint's host name before failing, while enforcing the specified
security checks
net/jini/jrmp/ServerContext/TestServerContext.java : Verify that
using ServerContext.getServerContextElement to obtain the ClientHost
functions properly for objects exported over JRMP.
net/jini/jrmp/echo/TestActivatableExport.java : Test activatable
exports using JrmpExporter.
net/jini/jrmp/echo/TestExport.java : Test non-activatable exports
using JrmpExporter.
net/jini/loader/ClassLoading/verifyBeforeLoading/VerifyBeforeLoading.java
: When ClassLoading.loadClass or ClassLoading.loadProxyClass is invoked
with verifyCodebaseIntegrity true, it should not pass a codebase that
contains URLs that have not been verified to provide integrity to the
RMIClassLoader provider
net/jini/loader/pref/PreferredClassLoader/4881293/Test4881293.java :
net/jini/loader/pref/PreferredClassLoader/urlStreamHandlerFactory/TestURLStreamHandlerFactory.java
: PreferredClassLoader should have a constructor that has a
URLStreamHandlerFactory, like URLClassLoader does
net/jini/loader/pref/PreferredClassProvider/arrayClassNames/ArrayClassNames.java
: When PreferredClassProvider.loadClass is passed an array class name,
it should follow the prescription of the preferred list as if it had
been passed the name of the element type of the same array class.
net/jini/loader/pref/PreferredClassProvider/checkBoomerangs/CheckBoomerangs.java
: Test ensures that no class boomerangs arise from the use of preferred
classes whose annotation matches that of a contextual class loader
net/jini/loader/pref/PreferredClassProvider/checkDefinite/CheckDefinite.java
: Make sure that the preferred class provider can tell when the
preferred list definitely does not exist in the resources of a class loader
net/jini/loader/pref/PreferredClassProvider/constructorCheck/ConstructorCheck.java
: Untrusted code should not be able to instantiate a
PreferredClassProvider and obtain references to class loaders from it
(such as by subclassing it and overriding a protected method).
net/jini/loader/pref/PreferredClassProvider/defaultIsExtensionLoader/DefaultIsExtensionLoader.java
: Test that ensures that classes in the system class loader can be found
when the defaultLoader is the system class loader and
net/jini/loader/pref/PreferredClassProvider/exerciseProviderConfig/ExerciseNoProvider.java
: Functional test to verify configurability of the preferred class
provider using the NoProvider
net/jini/loader/pref/PreferredClassProvider/exerciseProviderConfig/ExerciseProviderConfig.java
: Functional test to verify configurability of the preferred classes
provider
net/jini/loader/pref/PreferredClassProvider/exerciseProviderConfig/ExerciseRequireDlPermProvider.java
: Functional test to verify configurability of the preferred class
provider using the RequireDlPermProvider
net/jini/loader/pref/PreferredClassProvider/finalizerAttack/FinalizerAttack.java
: Untrusted code should not be able to use an instance of
PreferredClassProvider for which the constructor's security check did
not succeed, such as by a having a subclass that overrides finalize() to
provide a reference to the instance and through which dangerous
protected methods can be invoked.
net/jini/loader/pref/PreferredClassProvider/malformedAncestorURLs/MalformedAncestorURLs.java
: When the default loader, the context class loader, or an ancestor of
the context class loader has an annotation string with a malformed URL,
that shouldn't cause PreferredClassProvider's loadClass, loadProxyClass,
or getClassLoader methods to throw a MalformedURLException; those
methods analyze these other loader's annotations for "boomerang"
matches, but if one of them contains a malformed URL, then it must not
match the codebase argument's URLs (which are checked for malformed URLs
earlier), so the method should proceed gracefully as if the match failed
rather than throwing a MalformedURLException to the caller
net/jini/loader/pref/PreferredClassProvider/nonURLAncestor/NonURLAncestor.java
: When the context class loader or an ancestor of the context class
loader is chosen because of a boomerang match, or when the context class
loader is chosen because of a null codebase argument (and the default
loader was not used), and this chosen loader is not a URLClassLoader,
then there should not be a ClassCastException because of an assumption
that the chosen loader is a URLClassLoader while checking permissions
net/jini/loader/pref/PreferredClassProvider/pinContextLoader/PinContextLoader.java
: The current thread's context class loader should not be pinned (kept
strongly reachable) merely as a result of performing a
PreferredClassProvider operation, such as because the codebase URL path
for the operation matches an ancestor of the current thread's context
loader (i.e
net/jini/loader/pref/PreferredResources/correctInterpretation/CorrectInterpretation.java
: functional test to verify that preferred resource provider correctly
implements preferred classes and resource functionality
net/jini/security/AccessPermission/Operations.java : test basic
operations of AccessPermission
net/jini/security/AuthenticationPermission/Operations.java : test
basic operations of AuthenticationPermission
net/jini/security/GrantPermission/implies/Test.java : Verify proper
functioning of GrantPermission.implies() and equals()
net/jini/security/GrantPermission/invalidNamedPermission/Test.java :
Verify proper functioning of checks against invalid permission classes
specified in GrantPermission name
net/jini/security/GrantPermission/nested/Test.java : Verify that
implication properly handles nested GrantPermissions.
net/jini/security/GrantPermission/parseName/Test.java : Test
GrantPermission constructor which parses list of Permissions.
net/jini/security/GrantPermission/readObject/Test.java : Test
GrantPermission readObject method.
net/jini/security/GrantPermission/serialize/Test.java : Test
GrantPermission serialization.
net/jini/security/ProxyPreparer/TestBasicProxyPreparer.java : Tests
the BasicProxyPreparer class
net/jini/security/Security/contextClassLoader/Test.java : 5105843:
Security class missing doPrivileged around getContextClassLoader
net/jini/security/Security/doPrivileged/Test.java : Verify basic
functionality of Security.doPrivileged() methods.
net/jini/security/Security/getContext/Test.java : Verify basic
functionality of Security.getContext() method
net/jini/security/Security/grants/Test.java : Verify basic
functionality of the grantSupported() and grant() methods of class Security.
net/jini/security/Security/implicitGrants/Test.java : Verify proper
basic functionality of Security.grant(Class, Class)
net/jini/security/policy/DynamicPolicyProvider/basePolicyNotFound/Test.java
: Verify that PolicyInitializationException results if base policy class
is not found
net/jini/security/policy/DynamicPolicyProvider/domainCaching/Test.java :
Verify that ProtectionDomain is not pinned unnecessarily.
net/jini/security/policy/DynamicPolicyProvider/dynamicBasePolicy/Test.java
: Test proper functioning when DynamicPolicyProvider is used with a base
policy that is also dynamic.
net/jini/security/policy/DynamicPolicyProvider/nullCases/Test.java :
Verify that DynamicPolicyProvider handles null inputs properly
net/jini/security/policy/DynamicPolicyProvider/principalGrants/Test.java
: Verify proper functioning of principal-based grants.
net/jini/security/policy/DynamicPolicyProvider/selfGrants/Test.java
: Test basic permission grants (to self with no principals, for simplicity)
net/jini/security/policy/PolicyFileProvider/basePolicyNotFound/Test.java
: Verify that PolicyInitializationException results if base policy class
is not found
net/jini/security/policy/PolicyFileProvider/basicGrants/Test.java :
Verify that PolicyFileProvider correctly handles basic permission grants
net/jini/security/policy/PolicyFileProvider/nullCases/Test.java :
Verify that PolicyFileProvider handles null inputs properly
net/jini/security/policy/PolicyFileProvider/umbrellaGrants/Test.java
: Test PolicyFileProvider expansion of UmbrellaGrantPermissions
net/jini/url/httpmd/TestEqual.java : Tests equal on httpmd: URLs
net/jini/url/httpmd/TestHttpmdUtil.java : Test the MdUtil class
net/jini/url/httpmd/TestJar.java : Tests using md: URLs for JAR files
net/jini/url/httpmd/TestParse.java : Tests parsing httpmd: URLs
net/jini/url/httpmd/TestStream.java : Tests reading from md: URL
streams
Report generated on 08/02/2012 7:42:51 AM
Using JT Harness 4.1.4; built on 29 August 2008 12:00:00 AM with
Java(TM) 2 SDK, Version 1.5.0