Index: build.xml
===================================================================
RCS file: /home/cvspublic/xml-fop/build.xml,v
retrieving revision 1.94
diff -u -r1.94 build.xml
--- build.xml	20 Dec 2003 17:40:01 -0000	1.94
+++ build.xml	22 Dec 2003 09:01:14 -0000
@@ -615,7 +615,7 @@
   <!-- =================================================================== -->
   <target name="test" depends="package" description="Runs the test suite">
     <echo message="Testing build in jar file ${build.dir}/${name}.jar against reference"/>
-    <property name="ref-version" value="FOP 1.0dev"/>
+    <property name="ref-version" value="1.0dev"/>
     <path id="testtask-classpath">
       <path refid="libs-build-classpath"/>
       <pathelement location="${build.dir}/classes"/>
Index: src/java/org/apache/fop/tools/TestConverter.java
===================================================================
RCS file: /home/cvspublic/xml-fop/src/java/org/apache/fop/tools/TestConverter.java,v
retrieving revision 1.7
diff -u -r1.7 TestConverter.java
--- src/java/org/apache/fop/tools/TestConverter.java	15 Sep 2003 18:29:15 -0000	1.7
+++ src/java/org/apache/fop/tools/TestConverter.java	22 Dec 2003 09:01:15 -0000
@@ -52,6 +52,7 @@
 
 import java.io.File;
 import java.io.InputStream;
+import java.io.OutputStream;
 import java.util.Map;
 
 import javax.xml.parsers.DocumentBuilder;
@@ -162,6 +163,7 @@
      * @return Map a Map containing differences
      */
     public Map runTests(String fname, String dest, String compDir) {
+        enableLogging(new ConsoleLogger(ConsoleLogger.LEVEL_ERROR));        
         getLogger().debug("running tests in file:" + fname);
         try {
             if (compDir != null) {
@@ -283,8 +285,8 @@
             }
 
             Driver driver = new Driver();
-            setupLogger(driver, "fop");
             FOUserAgent userAgent = new FOUserAgent();
+            setupLogger(userAgent, "fop");
             userAgent.setBaseURL(baseURL);
             driver.setUserAgent(userAgent);
             if (outputPDF) {
@@ -303,11 +305,13 @@
             if (outname.endsWith(".xml")) {
                 outname = outname.substring(0, outname.length() - 4);
             }
-            driver.setOutputStream(new java.io.BufferedOutputStream(
+            OutputStream outStream = new java.io.BufferedOutputStream(
                                        new java.io.FileOutputStream(new File(destdir,
-                                       outname + (outputPDF ? ".pdf" : ".at.xml")))));
+                                       outname + (outputPDF ? ".pdf" : ".at.xml"))));
+            driver.setOutputStream(outStream);
             getLogger().debug("ddir:" + destdir + " on:" + outname + ".pdf");
             driver.render(inputHandler);
+            outStream.close();
 
             // check difference
             if (compare != null) {
Index: src/java/org/apache/fop/tools/anttasks/RunTest.java
===================================================================
RCS file: /home/cvspublic/xml-fop/src/java/org/apache/fop/tools/anttasks/RunTest.java,v
retrieving revision 1.1
diff -u -r1.1 RunTest.java
--- src/java/org/apache/fop/tools/anttasks/RunTest.java	11 Mar 2003 13:05:42 -0000	1.1
+++ src/java/org/apache/fop/tools/anttasks/RunTest.java	22 Dec 2003 09:01:15 -0000
@@ -61,6 +61,7 @@
 import java.net.URLClassLoader;
 import java.net.URL;
 import java.net.MalformedURLException;
+import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.Map;
 
@@ -128,9 +129,8 @@
      */
     protected void testNewBuild() {
         try {
-            ClassLoader loader = new URLClassLoader(new URL[] {
-                new URL("file:build/fop.jar")
-            });
+            ClassLoader loader = new URLClassLoader(
+                                    createUrls("build/fop.jar"));
             Map diff = runConverter(loader, "areatree",
                                           "reference/output/");
             if (diff != null && !diff.isEmpty()) {
@@ -172,16 +172,11 @@
         // return;
         // } else {
         try {
-            ClassLoader loader = new URLClassLoader(new URL[] {
-                new URL("file:" + referenceJar)
-            });
+            ClassLoader loader = new URLClassLoader(createUrls(referenceJar));
             boolean failed = false;
 
             try {
-                Class cla = Class.forName("org.apache.fop.apps.Options",
-                                          true, loader);
-                /*Object opts =*/ cla.newInstance();
-                cla = Class.forName("org.apache.fop.apps.Version", true,
+                Class cla = Class.forName("org.apache.fop.apps.Version", true,
                                     loader);
                 Method get = cla.getMethod("getVersion", new Class[]{});
                 if (!get.invoke(null, new Object[]{}).equals(refVersion)) {
@@ -196,8 +191,6 @@
                 failed = true;
             } catch (ClassNotFoundException are) {
                 failed = true;
-            } catch (InstantiationException are) {
-                failed = true;
             } catch (NoSuchMethodException are) {
                 failed = true;
             }
@@ -253,4 +246,20 @@
         return diff;
     }
 
+    /**
+     * Return a list of URL's with the specified URL first and followed 
+     * by all the jar files from lib/.
+     * @return a list of urls to the runtime jar files.
+     */
+    private URL[] createUrls(String mainJar) throws MalformedURLException {
+        ArrayList urls = new ArrayList();
+        urls.add(new File(mainJar).toURL());
+        File[] libFiles = new File("lib").listFiles();
+        for (int i = 0; i < libFiles.length; i++) {
+            if (libFiles[i].getPath().endsWith(".jar")) {
+                urls.add(libFiles[i].toURL());
+            }
+        }
+        return (URL[]) urls.toArray(new URL[urls.size()]);
+    }
 }
