import java.io.File;
import java.io.InputStream;
+import java.io.OutputStream;
import java.util.Map;
import javax.xml.parsers.DocumentBuilder;
System.out.println("test suite file name required");
}
TestConverter tc = new TestConverter();
- tc.enableLogging(new ConsoleLogger(ConsoleLogger.LEVEL_ERROR));
String testFile = null;
for (int count = 0; count < args.length; count++) {
tc.setFailOnly(true);
} else if (args[count].equals("-pdf")) {
tc.setOutputPDF(true);
+ } else if (args[count].equals("-d")) {
+ tc.setDebug(true);
} else if (args[count].equals("-b")) {
- tc.setBaseDir(args[count + 1]);
+ tc.setBaseDir(args[++count]);
} else {
testFile = args[count];
}
tc.runTests(testFile, "results", null);
}
+ /**
+ * Construct a new TestConverter
+ */
+ public TestConverter() {
+ enableLogging(new ConsoleLogger(ConsoleLogger.LEVEL_ERROR));
+ }
+
/**
* Controls whether to generate PDF or XML.
* @param pdf If True, PDF is generated, Area Tree XML otherwise.
baseDir = str;
}
+ /**
+ * Controls whether to generate PDF or XML.
+ * @param pdf If True, PDF is generated, Area Tree XML otherwise.
+ */
+ public void setDebug(boolean debug) {
+ if (debug) {
+ enableLogging(new ConsoleLogger(ConsoleLogger.LEVEL_DEBUG));
+ }
+ }
+
/**
* Run the Tests.
* This runs the tests specified in the xml file fname.
getLogger().debug("converting xml:" + xml + " and xsl:"
+ xsl + " to area tree");
+ String res = xml;
+ Node resNode = test.getAttributes().getNamedItem("results");
+ if (resNode != null) {
+ res = resNode.getNodeValue();
+ }
try {
File xmlFile = new File(baseDir + "/" + xml);
String baseURL = null;
}
Driver driver = new Driver();
- setupLogger(driver, "fop");
FOUserAgent userAgent = new FOUserAgent();
+ setupLogger(userAgent, "fop");
userAgent.setBaseURL(baseURL);
driver.setUserAgent(userAgent);
if (outputPDF) {
driver.getRenderer().setOptions(rendererOptions);
driver.getRenderer().setProducer("Testsuite Converter");
- String outname = xmlFile.getName();
- if (outname.endsWith(".xml")) {
+ String outname = res;
+ if (outname.endsWith(".xml") || outname.endsWith(".pdf")) {
outname = outname.substring(0, outname.length() - 4);
}
- driver.setOutputStream(new java.io.BufferedOutputStream(
- new java.io.FileOutputStream(new File(destdir,
- outname + (outputPDF ? ".pdf" : ".at.xml")))));
- getLogger().debug("ddir:" + destdir + " on:" + outname + ".pdf");
+ File outputFile = new File(destdir,
+ outname + (outputPDF ? ".pdf" : ".at.xml"));
+
+ outputFile.getParentFile().mkdirs();
+ OutputStream outStream = new java.io.BufferedOutputStream(
+ new java.io.FileOutputStream(outputFile));
+ driver.setOutputStream(outStream);
+ getLogger().debug("ddir:" + destdir + " on:" +
+ outputFile.getName());
driver.render(inputHandler);
+ outStream.close();
// check difference
if (compare != null) {