/hg/icedtea-web: Reverting unapproved change 235:114a981d3552
Jiri Vanek
jvanek at redhat.com
Wed May 11 08:32:51 PDT 2011
So when the only point is index.html.in - do you agree I will remove it,
and the rest can go in so Pavel can add it into daily report? (He will
work with xml and sheet only)
On 05/11/2011 03:56 PM, andrew at icedtea.classpath.org wrote:
> changeset 0e6b12424423 in /hg/icedtea-web
> details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=0e6b12424423
> author: Andrew John Hughes<ahughes at redhat.com>
> date: Wed May 11 14:56:32 2011 +0100
>
> Reverting unapproved change 235:114a981d3552
>
>
> diffstat:
>
> ChangeLog | 19 -
> Makefile.am | 38 +--
> tests/junit-runner/CommandLine.java | 3 -
> tests/junit-runner/JunitLikeXmlOutputListener.java | 225 ---------------------
> tests/report-styles/index.html.in | 25 --
> tests/report-styles/index.js | 67 ------
> tests/report-styles/jreport.xsl | 215 --------------------
> tests/report-styles/report.css | 21 -
> 8 files changed, 7 insertions(+), 606 deletions(-)
>
> diffs (truncated from 709 to 500 lines):
>
> diff -r 2b1a69f4c54b -r 0e6b12424423 ChangeLog
> --- a/ChangeLog Tue May 10 11:16:17 2011 -0400
> +++ b/ChangeLog Wed May 11 14:56:32 2011 +0100
> @@ -4,25 +4,6 @@
> (addComponents):Created a new comparator for sorting by file size and
> date.
>
> -2011-05-10 Jiri Vanek<jvanek at redhat.com>
> -
> - * tests/junit-runner/JunitLikeXmlOutputListener: This listener exports
> - results of junit in xml which "follows junit-output schema". Extended
> - for date, duration and some statististics for future purpose
> - *tests/report-sytles/index.html.in : file which provides runtime
> - transformation of tests-output.xml and report.xml
> - * tests/report-styles/index.js: runtime transformation script and fast
> - navigation functions
> - * tests/report-styles/report.css: styles for transformed result
> - * tests/report-styles/jreport.xsl: template for human-readable
> - xml->html transformation.
> - * Makefile.am (javaws, itweb_settings): New variables for report-styles
> - directory; (edit_tests_index) - sed makro for replacing variables
> - inside index.html.in; (index.html) - goal for generating index.html
> - file from index.html.in and copying styles fiels; (run-netx-unit-tests)
> - cloned stdout/err (clean-netx-unit-tests) cleaning styles dir and
> - index.html
> -
> 2011-05-09 Jiri Vanek<jvanek at redhat.com>
> * tests/junit-runner/CommandLine.java:r added skipping of inner
> classes and one jnlp file from sources package.
> diff -r 2b1a69f4c54b -r 0e6b12424423 Makefile.am
> --- a/Makefile.am Tue May 10 11:16:17 2011 -0400
> +++ b/Makefile.am Wed May 11 14:56:32 2011 +0100
> @@ -6,19 +6,15 @@
> NETX_EXTRA_DIR=$(abs_top_srcdir)/extra/net/sourceforge/javaws/about/resources
> NETX_EXTRA_DIST_DIR=$(abs_top_builddir)/extra-lib/net/sourceforge/javaws/about/resources
>
> -REPORT_STYLES_DIRNAME=report-styles
> +TESTS_SRCDIR=$(abs_top_srcdir)/tests
> +TESTS_DIR=$(abs_top_builddir)/tests.build
>
> -TESTS_SRCDIR=$(abs_top_srcdir)/tests
> NETX_UNIT_TEST_SRCDIR=$(TESTS_SRCDIR)/netx/unit
> -TESTS_STYLES_SRCDIR=$(TESTS_SRCDIR)/$(REPORT_STYLES_DIRNAME)
> +NETX_UNIT_TEST_DIR=$(TESTS_DIR)/netx/unit
> +
> +JUNIT_RUNNER_DIR=$(TESTS_DIR)/junit-runner
> JUNIT_RUNNER_SRCDIR=$(TESTS_SRCDIR)/junit-runner
>
> -TESTS_DIR=$(abs_top_builddir)/tests.build
> -NETX_UNIT_TEST_DIR=$(TESTS_DIR)/netx/unit
> -TESTS_STYLES_DIR=$(TESTS_DIR)/$(REPORT_STYLES_DIRNAME)
> -JUNIT_RUNNER_DIR=$(TESTS_DIR)/junit-runner
> -
> -
> JUNIT_RUNNER_JAR=$(abs_top_builddir)/junit-runner.jar
>
> # Build directories
> @@ -126,14 +122,6 @@
> -e 's|[@]JAVA[@]|$(JAVA)|g' \
> -e 's|[@]JRE[@]|$(JRE)|g'
>
> -edit_tests_index = sed \
> - -e 's|[@]data_path_unit[@]|netx/unit/tests-output.xml|g' \
> - -e 's|[@]data_path_dist[@]|netx/dist/tests-output.xml|g' \
> - -e 's|[@]css_styles[@]|$(REPORT_STYLES_DIRNAME)/report.css|g' \
> - -e 's|[@]xslt_script[@]|$(REPORT_STYLES_DIRNAME)/index.js|g' \
> - -e 's|[@]sheet_path_unit[@]|$(REPORT_STYLES_DIRNAME)/jreport.xsl|g' \
> - -e 's|[@]sheet_path_dist[@]|$(REPORT_STYLES_DIRNAME)/jreport.xsl|g'
> -
> # Top-Level Targets
> # =================
>
> @@ -462,13 +450,6 @@
> netx-unit-tests-source-files.txt:
> find $(NETX_UNIT_TEST_SRCDIR) -name '*.java' | sort> $@
>
> -$(TESTS_DIR)/index.html: stamps/netx-unit-tests-compile.stamp
> - mkdir $(TESTS_STYLES_DIR)/
> - cp $(TESTS_STYLES_SRCDIR)/*.css $(TESTS_STYLES_DIR)/
> - cp $(TESTS_STYLES_SRCDIR)/*.xsl $(TESTS_STYLES_DIR)/
> - cp $(TESTS_STYLES_SRCDIR)/*.js $(TESTS_STYLES_DIR)/
> - $(edit_tests_index)< $(TESTS_STYLES_SRCDIR)/index.html.in> $@
> -
> stamps/netx-unit-tests-compile.stamp: stamps/netx.stamp \
> netx-unit-tests-source-files.txt
> mkdir -p $(NETX_UNIT_TEST_DIR)&& \
> @@ -479,7 +460,7 @@
> mkdir -p stamps&& \
> touch $@
>
> -run-netx-unit-tests: stamps/netx-unit-tests-compile.stamp $(TESTS_DIR)/index.html \
> +run-netx-unit-tests: stamps/netx-unit-tests-compile.stamp \
> $(JUNIT_RUNNER_JAR)
> cp {$(NETX_UNIT_TEST_SRCDIR),$(NETX_UNIT_TEST_DIR)}/net/sourceforge/jnlp/basic.jnlp
> cd $(NETX_UNIT_TEST_DIR) ; \
> @@ -491,10 +472,7 @@
> done ; \
> echo $$class_names ; \
> CLASSPATH=$(NETX_DIR)/lib/classes.jar:$(JUNIT_JAR):$(JUNIT_RUNNER_JAR):. \
> - $(BOOT_DIR)/bin/java -Xbootclasspath:$(RUNTIME) CommandLine $$class_names \
> - > stdout.log 2> stderr.log ; \
> - cat stdout.log ; \
> - cat stderr.log>&2
> + $(BOOT_DIR)/bin/java -Xbootclasspath:$(RUNTIME) CommandLine $$class_names
>
> clean-netx-tests: clean-netx-unit-tests clean-junit-runner
> if [ -e $(TESTS_DIR)/netx ]; then \
> @@ -507,8 +485,6 @@
> rm -f $(JUNIT_RUNNER_JAR)
>
> clean-netx-unit-tests:
> - rm -rf $(TESTS_STYLES_DIR)
> - rm -f $(TESTS_DIR)/index.html
> rm -f netx-unit-tests-source-files.txt
> rm -rf $(NETX_UNIT_TEST_DIR)
> rm -f stamps/netx-unit-tests-compile.stamp
> diff -r 2b1a69f4c54b -r 0e6b12424423 tests/junit-runner/CommandLine.java
> --- a/tests/junit-runner/CommandLine.java Tue May 10 11:16:17 2011 -0400
> +++ b/tests/junit-runner/CommandLine.java Wed May 11 14:56:32 2011 +0100
> @@ -7,7 +7,6 @@
> * http://www.eclipse.org/legal/cpl-v10.html
> */
>
> -import java.io.File;
> import java.util.ArrayList;
> import java.util.List;
>
> @@ -42,8 +41,6 @@
> system.out().println("ERROR: Could not find class: " + each);
> }
> }
> - RunListener jXmlOutput = new JunitLikeXmlOutputListener(system, new File("tests-output.xml"));
> - addListener(jXmlOutput);
> RunListener listener = new LessVerboseTextListener(system);
> addListener(listener);
> Result result = run(classes.toArray(new Class[0]));
> diff -r 2b1a69f4c54b -r 0e6b12424423 tests/junit-runner/JunitLikeXmlOutputListener.java
> --- a/tests/junit-runner/JunitLikeXmlOutputListener.java Tue May 10 11:16:17 2011 -0400
> +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
> @@ -1,225 +0,0 @@
> -/*
> - * Copyright 2011 Red Hat, Inc.
> - *
> - * This file is made available under the terms of the Common Public License
> - * v1.0 which accompanies this distribution, and is available at
> - * http://www.eclipse.org/legal/cpl-v10.html
> - */
> -
> -import java.io.BufferedWriter;
> -import java.io.File;
> -
> -import java.io.FileOutputStream;
> -import java.io.IOException;
> -import java.io.OutputStreamWriter;
> -import java.text.DecimalFormat;
> -import java.text.NumberFormat;
> -import java.util.Date;
> -import java.util.HashMap;
> -import java.util.Map;
> -import java.util.Map.Entry;
> -import java.util.Set;
> -
> -
> -import org.junit.internal.JUnitSystem;
> -import org.junit.runner.Description;
> -import org.junit.runner.Result;
> -import org.junit.runner.notification.Failure;
> -import org.junit.runner.notification.RunListener;
> -/**
> - * This class listens for events in junit testsuite and wrote output to xml.
> - * Xml tryes to follow ant-tests schema, and is enriched for by-class statistics
> - * stdout and err elements are added, but must be filled from elsewhere (eg tee
> - * in make) as junit suite and listener run from our executer have no access to
> - * them.
> - *
> - */
> -public class JunitLikeXmlOutputListener extends RunListener {
> -
> - private BufferedWriter writer;
> - private Failure testFailed = null;
> - private static final String ROOT = "testsuite";
> - private static final String DATE_ELEMENT = "date";
> - private static final String TEST_ELEMENT = "testcase";
> - private static final String TEST_NAME_ATTRIBUTE = "name";
> - private static final String TEST_TIME_ATTRIBUTE = "time";
> - private static final String TEST_ERROR_ELEMENT = "error";
> - private static final String TEST_CLASS_ATTRIBUTE = "classname";
> - private static final String ERROR_MESSAGE_ATTRIBUTE = "message";
> - private static final String ERROR_TYPE_ATTRIBUTE = "type";
> - private static final String SOUT_ELEMENT = "system-out";
> - private static final String SERR_ELEMENT = "system-err";
> - private static final String CDATA_START = "<![CDATA[";
> - private static final String CDATA_END = "]]>";
> - private static final String TEST_CLASS_ELEMENT = "class";
> - private static final String STATS_ELEMENT = "stats";
> - private static final String CLASSES_ELEMENT = "classes";
> - private static final String SUMMARY_ELEMENT = "summary";
> - private static final String SUMMARY_TOTAL_ELEMENT = "total";
> - private static final String SUMMARY_PASSED_ELEMENT = "passed";
> - private static final String SUMMARY_FAILED_ELEMENT = "failed";
> - private static final String SUMMARY_IGNORED_ELEMENT = "ignored";
> - private long testStart;
> -
> - private class ClassCounter {
> -
> - int total;
> - int failed;
> - int passed;
> - long time = 0;
> - }
> - Map<String, ClassCounter> classStats = new HashMap<String, ClassCounter>();
> -
> - public JunitLikeXmlOutputListener(JUnitSystem system, File f) {
> - try {
> - writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(f), "UTF-8"));
> - } catch (Exception ex) {
> - throw new RuntimeException(ex);
> - }
> - }
> -
> - @Override
> - public void testRunStarted(Description description) throws Exception {
> - openElement(ROOT);
> - writeElement(DATE_ELEMENT, new Date().toString());
> - }
> -
> - private void openElement(String name) throws IOException {
> - openElement(name, null);
> - }
> -
> - private void openElement(String name, Map<String, String> atts) throws IOException {
> - StringBuilder attString = new StringBuilder();
> - if (atts != null) {
> - attString.append(" ");
> - Set<Entry<String, String>> entries = atts.entrySet();
> - for (Entry<String, String> entry : entries) {
> - attString.append(entry.getKey()).append("=\"").append(attributize(entry.getValue())).append("\"");
> - attString.append(" ");
> - }
> - }
> - writer.write("<" + name + attString.toString() +">");
> - writer.newLine();
> - }
> -
> - private static String attributize(String s) {
> - return s.replace("&","&").replace("<","<");
> - }
> -
> - private void closeElement(String name) throws IOException {
> - writer.newLine();
> - writer.write("</" + name + ">");
> - writer.newLine();
> - }
> -
> - private void writeContent(String content) throws IOException {
> - writer.write(CDATA_START + content + CDATA_END);
> - }
> -
> - private void writeElement(String name, String content) throws IOException {
> - writeElement(name, content, null);
> - }
> -
> - private void writeElement(String name, String content, Map<String, String> atts) throws IOException {
> - openElement(name, atts);
> - writeContent(content);
> - closeElement(name);
> - }
> -
> - @Override
> - public void testStarted(Description description) throws Exception {
> - testFailed = null;
> - testStart = System.nanoTime()/1000l/1000l;
> - }
> -
> - @Override
> - public void testFailure(Failure failure) throws IOException {
> - testFailed = failure;
> - }
> -
> - @Override
> - public void testFinished(org.junit.runner.Description description) throws Exception {
> - long testTime = System.nanoTime()/1000l/1000l - testStart;
> - double testTimeSeconds = ((double) testTime) / 1000d;
> -
> - Map<String, String> testcaseAtts = new HashMap<String, String>(3);
> - NumberFormat formatter = new DecimalFormat("#0.0000");
> - String stringedTime = formatter.format(testTimeSeconds);
> - stringedTime.replace(",", ".");
> - testcaseAtts.put(TEST_TIME_ATTRIBUTE, stringedTime);
> - testcaseAtts.put(TEST_CLASS_ATTRIBUTE, description.getClassName());
> - testcaseAtts.put(TEST_NAME_ATTRIBUTE, description.getMethodName());
> -
> - openElement(TEST_ELEMENT, testcaseAtts);
> - if (testFailed != null) {
> - Map<String, String> errorAtts = new HashMap<String, String>(3);
> -
> - errorAtts.put(ERROR_MESSAGE_ATTRIBUTE, testFailed.getMessage());
> - int i = testFailed.getTrace().indexOf(":");
> - if (i>= 0) {
> - errorAtts.put(ERROR_TYPE_ATTRIBUTE, testFailed.getTrace().substring(0, i));
> - } else {
> - errorAtts.put(ERROR_TYPE_ATTRIBUTE, "?");
> - }
> -
> - writeElement(TEST_ERROR_ELEMENT, testFailed.getTrace(), errorAtts);
> - }
> -
> - closeElement(TEST_ELEMENT);
> - writer.flush();
> -
> - ClassCounter cc = classStats.get(description.getClassName());
> - if (cc == null) {
> - cc = new ClassCounter();
> - classStats.put(description.getClassName(), cc);
> - }
> - cc.total++;
> - cc.time += testTime;
> - if (testFailed == null) {
> - cc.passed++;
> - } else {
> -
> - cc.failed++;
> - }
> - }
> -
> - @Override
> - public void testRunFinished(Result result) throws Exception {
> -
> - writeElement(SOUT_ELEMENT, "@sout@");
> - writeElement(SERR_ELEMENT, "@serr@");
> - openElement(STATS_ELEMENT);
> - openElement(SUMMARY_ELEMENT);
> - int passed = result.getRunCount() - result.getFailureCount() - result.getIgnoreCount();
> - int failed = result.getFailureCount();
> - int ignored = result.getIgnoreCount();
> - writeElement(SUMMARY_TOTAL_ELEMENT, String.valueOf(result.getRunCount()));
> - writeElement(SUMMARY_FAILED_ELEMENT, String.valueOf(failed));
> - writeElement(SUMMARY_IGNORED_ELEMENT, String.valueOf(ignored));
> - writeElement(SUMMARY_PASSED_ELEMENT, String.valueOf(passed));
> - closeElement(SUMMARY_ELEMENT);
> - openElement(CLASSES_ELEMENT);
> - Set<Entry<String, ClassCounter>> e = classStats.entrySet();
> - for (Entry<String, ClassCounter> entry : e) {
> -
> - Map<String, String> testcaseAtts = new HashMap<String, String>(3);
> - testcaseAtts.put(TEST_NAME_ATTRIBUTE, entry.getKey());
> - testcaseAtts.put(TEST_TIME_ATTRIBUTE, String.valueOf(entry.getValue().time));
> -
> - openElement(TEST_CLASS_ELEMENT, testcaseAtts);
> - writeElement(SUMMARY_PASSED_ELEMENT, String.valueOf(entry.getValue().passed));
> - writeElement(SUMMARY_FAILED_ELEMENT, String.valueOf(entry.getValue().failed));
> - writeElement(SUMMARY_IGNORED_ELEMENT, String.valueOf(entry.getValue().total - entry.getValue().failed - entry.getValue().passed));
> - writeElement(SUMMARY_TOTAL_ELEMENT, String.valueOf(entry.getValue().total));
> -
> - closeElement(TEST_CLASS_ELEMENT);
> - }
> - closeElement(CLASSES_ELEMENT);
> - closeElement(STATS_ELEMENT);
> -
> - closeElement(ROOT);
> - writer.flush();
> - writer.close();
> -
> - }
> -}
> diff -r 2b1a69f4c54b -r 0e6b12424423 tests/report-styles/index.html.in
> --- a/tests/report-styles/index.html.in Tue May 10 11:16:17 2011 -0400
> +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
> @@ -1,25 +0,0 @@
> -<html>
> -<head>
> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
> -<script src="@xslt_script@">
> -</script>
> -<link href="@css_styles@" rel="stylesheet" type="text/css"/>
> -</head>
> -<body onload="xslt('@sheet_path_unit@','@data_path_unit@','wholePage2');
> - xslt('@sheet_path_dist@','@data_path_dist@','wholePage4');
> - ">
> -
> -<div>
> -<hr/>
> -<a name="JunitTests">Unit-tests:</a> [<a href="#JdistTests">dist tests</a>]
> -<hr/>
> -<div id="wholePage2"/>
> -</div>
> -
> -<hr/>
> -<a name="JdistTests">Dist-tests:</a> [<a href="#JunitTests">unit tests</a>]
> -<hr/>
> -<div id="wholePage4"/>
> -</div>
> -</body>
> -</html>
> diff -r 2b1a69f4c54b -r 0e6b12424423 tests/report-styles/index.js
> --- a/tests/report-styles/index.js Tue May 10 11:16:17 2011 -0400
> +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
> @@ -1,67 +0,0 @@
> -
> -if(typeof String.prototype.trim !== 'function') { String.prototype.trim = function() { return this.replace(/^\s+|\s+$/g, ''); } }
> -
> -
> -function negateIdDisplay(which){
> - var e = document.getElementById(which);
> - if (e.style.display=="block") {
> - e.style.display="none"
> - }else{
> - e.style.display="block"
> - }
> - }
> -
> -
> - function setClassDisplay(which,what) {
> - var e = document.getElementsByClassName(which);
> - for ( var i = 0; i< e.length; i++ ){
> - e[i].style.display=what
> - }
> - }
> -
> -
> - function loadXMLDoc(dname) {
> - if (window.XMLHttpRequest) {
> - xhttp=new XMLHttpRequest();
> - }else{
> - xhttp=new ActiveXObject("Microsoft.XMLHTTP");
> - }
> - xhttp.open("GET",dname,false);
> - xhttp.send("");
> - return xhttp.responseXML;
> - }
> -
> -
> - function xslt(sheet,data,dest) {
> - var sheetName=sheet;
> - var xmlName=data;
> - var htmlDest=dest;
> - // code for IE
> - if (window.ActiveXObject) {
> - var XML = new ActiveXObject("MSXML2.FreeThreadedDomDocument");
> - XML.async = "false";
> - XML.load(xmlName);
> - var XSL = new ActiveXObject("MSXML2.FreeThreadedDomDocument");
> - XSL.async = "false";
> - XSL.load(sheetName);
> - var XSLTCompiled = new ActiveXObject("MSXML2.XSLTemplate");
> - //Add the stylesheet information
> - XSLTCompiled.stylesheet = XSL.documentElement;
> - //Create the XSLT processor
> - var msSheet = XSLTCompiled.createProcessor();
> - msSheet.input = XML
> - //Perform the transform
> - msSheet.transform();
> - document.getElementById(htmlDest).innerHTML=msSheet.output;
> - }
> - // code for Mozilla, Firefox, Opera, etc.
> - else if (document.implementation&& document.implementation.createDocument){
> - xsl=loadXMLDoc(sheetName);
> - xml=loadXMLDoc(xmlName);
> - xsltProcessor=new XSLTProcessor();
> - xsltProcessor.importStylesheet(xsl);
> - resultDocument = xsltProcessor.transformToFragment(xml,document);
> - document.getElementById(htmlDest).appendChild(resultDocument);
> - }
> - setClassDisplay("trace","none"); //by default allare visible to protect disabled javascript
> - }
> diff -r 2b1a69f4c54b -r 0e6b12424423 tests/report-styles/jreport.xsl
> --- a/tests/report-styles/jreport.xsl Tue May 10 11:16:17 2011 -0400
> +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
> @@ -1,215 +0,0 @@
> -<?xml version="1.0"?>
> -<!--
> -
> -This file is part of IcedTea.
> -
> -IcedTea is free software; you can redistribute it and/or modify
> -it under the terms of the GNU General Public License as published by
> -the Free Software Foundation; either version 2, or (at your option)
> -any later version.
> -
> -IcedTea is distributed in the hope that it will be useful, but
> -WITHOUT ANY WARRANTY; without even the implied warranty of
> -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
> -General Public License for more details.
> -
> -You should have received a copy of the GNU General Public License
> -along with IcedTea; see the file COPYING. If not, write to the
> -Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
> -02110-1301 USA.
> -
> -Linking this library statically or dynamically with other modules is
> -making a combined work based on this library. Thus, the terms and
> -conditions of the GNU General Public License cover the whole
> -combination.
> -
> -As a special exception, the copyright holders of this library give you
> -permission to link this library with independent modules to produce an
> -executable, regardless of the license terms of these independent
> -modules, and to copy and distribute the resulting executable under
> -terms of your choice, provided that you also meet, for each linked
> -independent module, the terms and conditions of the license of that
Regards J.
More information about the distro-pkg-dev
mailing list