From 89bda83e0570ab87c6e449f5955613d5385e90b3 Mon Sep 17 00:00:00 2001 From: "alexanders@b2ef00c0-3703-41da-baef-cfe82387ac0c" Date: Wed, 3 Feb 2010 00:50:41 +0000 Subject: removed obsolete svn folder from hg tree --HG-- extra : convert_revision : svn%3Ab2ef00c0-3703-41da-baef-cfe82387ac0c/trunk%408 --- .../org/mozilla/javascript/drivers/JsDriver.java | 838 --------------------- 1 file changed, 838 deletions(-) delete mode 100644 trunk/infrastructure/rhino1_7R1/testsrc/org/mozilla/javascript/drivers/JsDriver.java (limited to 'trunk/infrastructure/rhino1_7R1/testsrc/org/mozilla/javascript/drivers/JsDriver.java') diff --git a/trunk/infrastructure/rhino1_7R1/testsrc/org/mozilla/javascript/drivers/JsDriver.java b/trunk/infrastructure/rhino1_7R1/testsrc/org/mozilla/javascript/drivers/JsDriver.java deleted file mode 100644 index 8bae79f..0000000 --- a/trunk/infrastructure/rhino1_7R1/testsrc/org/mozilla/javascript/drivers/JsDriver.java +++ /dev/null @@ -1,838 +0,0 @@ -/* ***** BEGIN LICENSE BLOCK ***** - * Version: MPL 1.1/GPL 2.0 - * - * The contents of this file are subject to the Mozilla Public License Version - * 1.1 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Original Code is the Java port of jsDriver.pl. - * - * The Initial Developer of the Original Code is - * David P. Caldwell. - * Portions created by David P. Caldwell are Copyright (C) - * 2007 David P. Caldwell. All Rights Reserved. - * - * - * Contributor(s): - * David P. Caldwell - * Norris Boyd - * - * Alternatively, the contents of this file may be used under the terms of - * the GNU General Public License Version 2 or later (the "GPL"), in which - * case the provisions of the GPL are applicable instead of those above. If - * you wish to allow use of your version of this file only under the terms of - * the GPL and not to allow others to use your version of this file under the - * MPL, indicate your decision by deleting the provisions above and replacing - * them with the notice and other provisions required by the GPL. If you do - * not delete the provisions above, a recipient may use your version of this - * file under either the MPL or the GPL. - * - * ***** END LICENSE BLOCK ***** */ - -package org.mozilla.javascript.drivers; - -import java.io.*; -import java.util.*; - -import org.w3c.dom.*; - -import org.mozilla.javascript.tools.shell.*; - -/** - * @version $Id: JsDriver.java,v 1.5 2007/10/11 19:44:10 szegedia%freemail.hu Exp $ - */ -public class JsDriver { - private JsDriver() { - } - - private static String join(String[] list) { - String rv = ""; - for (int i=0; i 0) { - rv += "\n"; - } - rv += line; - } - } - return rv; - } catch (IOException e) { - throw new RuntimeException("Can't happen."); - } - } - - boolean failed() { - return failed; - } - - void finish() { - if (failed) { - getElementById(failureHtml, "failureDetails.status").setTextContent(getLinesStartingWith("STATUS:")); - - String bn = getLinesStartingWith("BUGNUMBER:"); - Element bnlink = getElementById(failureHtml, "failureDetails.bug.href"); - if (bn.length() > 0) { - String number = bn.substring("BUGNUMBER: ".length()); - if (!number.equals("none")) { - bnlink.setAttribute("href", bugUrl + number); - getElementById(bnlink, "failureDetails.bug.number").setTextContent(number); - } else { - bnlink.getParentNode().removeChild(bnlink); - } - } else { - bnlink.getParentNode().removeChild(bnlink); - } - - getElementById(failureHtml, "failureDetails.lxr").setAttribute("href", lxrUrl + testPath); - getElementById(failureHtml, "failureDetails.lxr.text").setTextContent(testPath); - - getElementById(html.getDocumentElement(), "retestList.text").setTextContent( - getElementById(html.getDocumentElement(), "retestList.text").getTextContent() - + testPath - + "\n" - ); - - getElementById(html.getDocumentElement(), "failureDetails").appendChild(failureHtml); - } - } - } - - private static class XmlStatus extends ShellTest.Status { - private Element target; - private Date start; - - XmlStatus(String path, Element root) { - this.target = root.getOwnerDocument().createElement("test"); - this.target.setAttribute("path", path); - root.appendChild(target); - } - - void running(File file) { - this.start = new Date(); - } - - private Element createElement(Element parent, String name) { - Element rv = parent.getOwnerDocument().createElement(name); - parent.appendChild(rv); - return rv; - } - - private void finish() { - Date end = new Date(); - long elapsed = end.getTime() - start.getTime(); - this.target.setAttribute("elapsed", String.valueOf(elapsed)); - } - - private void setTextContent(Element e, String content) { - e.setTextContent( newlineLineEndings(content) ); - } - - void exitCodesWere(int expected, int actual) { - finish(); - Element exit = createElement(target, "exit"); - exit.setAttribute("expected", String.valueOf(expected)); - exit.setAttribute("actual", String.valueOf(actual)); - } - - void timedOut() { - finish(); - createElement(target, "timedOut"); - } - - void failed(String s) { - finish(); - Element failed = createElement(target, "failed"); - setTextContent(failed, s); - } - - void outputWas(String message) { - finish(); - Element output = createElement(target, "output"); - setTextContent(output, message); - } - - void threw(Throwable t) { - finish(); - Element threw = createElement(target, "threw"); - setTextContent(threw, ShellTest.getStackTrace(t)); - } - } - - private static class Results { - private ShellContextFactory factory; - private Arguments arguments; - private File output; - private boolean trace; - - private Document html; - private Element failureHtml; - - private Document xml; - - private Date start; - private int tests; - private int failures; - - Results(ShellContextFactory factory, Arguments arguments, boolean trace) { - this.factory = factory; - this.arguments = arguments; - - File output = arguments.getOutputFile(); - if (output == null) { - output = new File("rhino-test-results." + new java.text.SimpleDateFormat("yyyy.MM.dd.HH.mm.ss").format(new Date()) + ".html"); - } - this.output = output; - - this.trace = trace; - } - - private Document parse(InputStream in) { - try { - javax.xml.parsers.DocumentBuilderFactory factory = javax.xml.parsers.DocumentBuilderFactory.newInstance(); - factory.setValidating(false); - javax.xml.parsers.DocumentBuilder dom = factory.newDocumentBuilder(); - return dom.parse(in); - } catch (Throwable t) { - throw new RuntimeException("Parser failure", t); - } - } - - private Document getTemplate() { - return parse(getClass().getResourceAsStream("results.html")); - } - - private void write(Document template, boolean xml) { - try { - File output = this.output; - javax.xml.transform.TransformerFactory factory = javax.xml.transform.TransformerFactory.newInstance(); - javax.xml.transform.Transformer xform = factory.newTransformer(); - if (xml) { - xform.setOutputProperty(javax.xml.transform.OutputKeys.METHOD, "xml"); - xform.setOutputProperty(javax.xml.transform.OutputKeys.OMIT_XML_DECLARATION, "yes"); - output = new File(output.getCanonicalPath() + ".xml"); - } - xform.transform( - new javax.xml.transform.dom.DOMSource(template), - new javax.xml.transform.stream.StreamResult( new FileOutputStream(output) ) - ); - } catch (IOException e) { - arguments.getConsole().println("Could not write results file to " + output + ": "); - e.printStackTrace(System.err); - } catch (javax.xml.transform.TransformerConfigurationException e) { - throw new RuntimeException("Parser failure", e); - } catch (javax.xml.transform.TransformerException e) { - throw new RuntimeException("Parser failure", e); - } - } - - void start() { - this.html = getTemplate(); - this.failureHtml = getElementById(html.getDocumentElement(), "failureDetails.prototype"); - if (this.failureHtml == null) { - try { - javax.xml.transform.TransformerFactory.newInstance().newTransformer().transform( - new javax.xml.transform.dom.DOMSource(html), - new javax.xml.transform.stream.StreamResult(System.err) - ); - } catch (Throwable t) { - throw new RuntimeException(t); - } - throw new RuntimeException("No"); - } - this.failureHtml.getParentNode().removeChild(this.failureHtml); - - try { - this.xml = javax.xml.parsers.DocumentBuilderFactory.newInstance().newDocumentBuilder() - .getDOMImplementation().createDocument(null, "results", null) - ; - xml.getDocumentElement().setAttribute("timestamp", String.valueOf(new Date().getTime())); - xml.getDocumentElement().setAttribute("optimization", String.valueOf(arguments.getOptimizationLevel())); - xml.getDocumentElement().setAttribute("strict", String.valueOf(arguments.isStrict())); - xml.getDocumentElement().setAttribute("timeout", String.valueOf(arguments.getTimeout())); - } catch (javax.xml.parsers.ParserConfigurationException e) { - throw new RuntimeException(e); - } - - this.start = new Date(); - } - - void run(Tests.Script script, ShellTest.Parameters parameters) { - String path = script.getPath(); - File test = script.getFile(); - ConsoleStatus cStatus = new ConsoleStatus(arguments.getConsole(), trace); - HtmlStatus hStatus = new HtmlStatus(arguments.getLxrUrl(), arguments.getBugUrl(), path, html, (Element)failureHtml.cloneNode(true)); - XmlStatus xStatus = new XmlStatus(path, this.xml.getDocumentElement()); - ShellTest.Status status = ShellTest.Status.compose(new ShellTest.Status[] { cStatus, hStatus, xStatus }); - try { - ShellTest.run(factory, test, parameters, status); - } catch (Exception e) { - throw new RuntimeException(e); - } - tests++; - if (hStatus.failed()) { - failures++; - } - hStatus.finish(); - } - - private void set(Document document, String id, String value) { - getElementById(document.getDocumentElement(), id).setTextContent(value); - } - - void finish() { - Date end = new Date(); - long elapsedMs = end.getTime() - start.getTime(); - set(html, "results.testlist", join(arguments.getTestList())); - set(html, "results.skiplist", join(arguments.getSkipList())); - String pct = new java.text.DecimalFormat("##0.00").format( (double)failures / (double)tests * 100.0 ); - set(html, "results.results", "Tests attempted: " + tests + " Failures: " + failures + " (" + pct + "%)"); - set(html, "results.platform", "java.home=" + System.getProperty("java.home") - + "\n" + "java.version=" + System.getProperty("java.version") - + "\n" + "os.name=" + System.getProperty("os.name") - ); - set(html, "results.classpath", System.getProperty("java.class.path").replace(File.pathSeparatorChar, ' ')); - int elapsedSeconds = (int)(elapsedMs / 1000); - int elapsedMinutes = elapsedSeconds / 60; - elapsedSeconds = elapsedSeconds % 60; - String elapsed = "" + elapsedMinutes + " minutes, " + elapsedSeconds + " seconds"; - set(html, "results.elapsed", elapsed); - set(html, "results.time", new java.text.SimpleDateFormat("MMMM d yyyy h:mm:ss aa").format(new java.util.Date())); - write(html, false); - write(xml, true); - } - } - - private static class ShellTestParameters extends ShellTest.Parameters { - private int timeout; - - ShellTestParameters(int timeout) { - this.timeout = timeout; - } - - int getTimeoutMilliseconds() { - return timeout; - } - } - - void run(Arguments arguments) throws Throwable { - if (arguments.help()) { - System.out.println("See mozilla/js/tests/README-jsDriver.html; note that some options are not supported."); - System.out.println("Consult the Java source code at testsrc/org/mozilla/javascript/JsDriver.java for details."); - System.exit(0); - } - - ShellContextFactory factory = new ShellContextFactory(); - factory.setOptimizationLevel(arguments.getOptimizationLevel()); - factory.setStrictMode(arguments.isStrict()); - - File path = arguments.getTestsPath(); - if (path == null) { - path = new File("../tests"); - } - if (!path.exists()) { - throw new RuntimeException("JavaScript tests not found at " + path.getCanonicalPath()); - } - Tests tests = new Tests(path, arguments.getTestList(), arguments.getSkipList()); - Tests.Script[] all = tests.getFiles(); - arguments.getConsole().println("Running " + all.length + " tests."); - - Results results = new Results(factory, arguments, arguments.trace()); - - results.start(); - for (int i=0; i 0; - } - - File getFile() { - if (getValue() == null) return null; - return new File(getValue()); - } - - String[] getValues() { - return (String[])values.toArray(new String[0]); - } - - void process(List arguments) { - String option = (String)arguments.get(0); - String dashLetter = (letterOption == null) ? (String)null : "-" + letterOption; - if (option.equals(dashLetter) || option.equals("--" + wordOption)) { - arguments.remove(0); - if (flag) { - values.add(0, (String)null ); - } else if (array) { - while( arguments.size() > 0 && !( (String)arguments.get(0) ).startsWith("-") ) { - values.add(arguments.remove(0)); - } - } else { - values.set(0, arguments.remove(0)); - } - if (ignored) { - System.err.println("WARNING: " + option + " is ignored in the Java version of the test driver."); - } - } - } - } - - // -b URL, --bugurl=URL - public String getBugUrl() { - return bugUrl.getValue(); - } - - // -c PATH, --classpath=PATH - // Does not apply; we will use the VM's classpath - - // -e TYPE ..., --engine=TYPE ... - // Does not apply; was used to select between SpiderMonkey and Rhino - - // Not in jsDriver.pl - public int getOptimizationLevel() { - return optimizationLevel.getInt(); - } - - // --strict - public boolean isStrict() { - return strict.getSwitch(); - } - - // -f FILE, --file=FILE - public File getOutputFile() { - return outputFile.getFile(); - } - - // -h, --help - public boolean help() { - return help.getSwitch(); - } - - // -j PATH, --javapath=PATH - // Does not apply; we will use this JVM - - // -k, --confail - // TODO Currently this is ignored; not clear precisely what it means (perhaps we should not be logging ordinary - // pass/fail to the console currently?) - public boolean logFailuresToConsole() { - return logFailuresToConsole.getSwitch(); - } - - // -l FILE,... or --list=FILE,... - public String[] getTestList() { - return testList.getValues(); - } - - // -L FILE,... or --neglist=FILE,... - public String[] getSkipList() { - return skipList.getValues(); - } - - // -p PATH, --testpath=PATH - public File getTestsPath() { - return testsPath.getFile(); - } - - // -s PATH, --shellpath=PATH - // Does not apply; we will use the Rhino shell with any classes given on the classpath - - // -t, --trace - public boolean trace() { - return trace.getSwitch(); - } - - // -u URL, --lxrurl=URL - public String getLxrUrl() { - return lxrUrl.getValue(); - } - - // - // New arguments - // - - // --timeout - // Milliseconds to wait for each test - public int getTimeout() { - return timeout.getInt(); - } - - public Console getConsole() { - return console; - } - - void process(List arguments) { - while(arguments.size() > 0) { - String option = (String)arguments.get(0); - if (option.startsWith("--")) { - // preprocess --name=value options into --name value - if (option.indexOf("=") != -1) { - arguments.set(0, option.substring(option.indexOf("="))); - arguments.add(1, option.substring(option.indexOf("=") + 1)); - } - } else if (option.startsWith("-")) { - // could be multiple single-letter options, e.g. -kht, so preprocess them into -k -h -t - if (option.length() > 2) { - for (int i=2; i 0) { - ((Option)options.get(i)).process(arguments); - } - } - - if (arguments.size() == lengthBefore) { - System.err.println("WARNING: ignoring unrecognized option " + arguments.remove(0)); - } - } - } - } - - public static void main(String[] args) throws Throwable { - ArrayList arguments = new ArrayList(); - arguments.addAll(Arrays.asList(args)); - Arguments clArguments = new Arguments(); - clArguments.process(arguments); - main(clArguments); - } -} -- cgit v1.2.3