diff options
author | simonbrandhof <simon.brandhof@gmail.com> | 2011-04-06 16:25:45 +0200 |
---|---|---|
committer | simonbrandhof <simon.brandhof@gmail.com> | 2011-04-06 16:26:29 +0200 |
commit | a225619c7f9268e082ff7bd6f4ac70e25ade0dc2 (patch) | |
tree | 9005e9d6f936ddb56bc67098af23ddcdf98f5ec4 /plugins | |
parent | df9f736e0e8c9ad2792a242e03759d59548cd8fc (diff) | |
download | sonarqube-a225619c7f9268e082ff7bd6f4ac70e25ade0dc2.tar.gz sonarqube-a225619c7f9268e082ff7bd6f4ac70e25ade0dc2.zip |
SONAR-2332 Filter unit tests files listed in surefire reports
Diffstat (limited to 'plugins')
35 files changed, 2279 insertions, 398 deletions
diff --git a/plugins/sonar-surefire-plugin/src/main/java/org/sonar/plugins/surefire/SurefirePlugin.java b/plugins/sonar-surefire-plugin/src/main/java/org/sonar/plugins/surefire/SurefirePlugin.java index 6a637fcc1e1..8d217b135a3 100644 --- a/plugins/sonar-surefire-plugin/src/main/java/org/sonar/plugins/surefire/SurefirePlugin.java +++ b/plugins/sonar-surefire-plugin/src/main/java/org/sonar/plugins/surefire/SurefirePlugin.java @@ -22,6 +22,7 @@ package org.sonar.plugins.surefire; import org.sonar.api.*; import java.util.ArrayList; +import java.util.Arrays; import java.util.List; @Properties({ @@ -32,12 +33,22 @@ import java.util.List; project = true, global = false) }) -public class SurefirePlugin extends SonarPlugin { +public class SurefirePlugin implements Plugin { - public List<Class<? extends Extension>> getExtensions() { - List<Class<? extends Extension>> extensions = new ArrayList<Class<? extends Extension>>(); - extensions.add(SurefireSensor.class); - return extensions; + public String getKey() { + return CoreProperties.SUREFIRE_PLUGIN; + } + + public String getName() { + return "Surefire"; + } + + public String getDescription() { + return "Support of JUnit and TestNG unit test frameworks"; + } + + public List getExtensions() { + return Arrays.asList(SurefireSensor.class); } } diff --git a/plugins/sonar-surefire-plugin/src/main/java/org/sonar/plugins/surefire/SurefireSensor.java b/plugins/sonar-surefire-plugin/src/main/java/org/sonar/plugins/surefire/SurefireSensor.java index 668af1b8f95..4a2f9033bf8 100644 --- a/plugins/sonar-surefire-plugin/src/main/java/org/sonar/plugins/surefire/SurefireSensor.java +++ b/plugins/sonar-surefire-plugin/src/main/java/org/sonar/plugins/surefire/SurefireSensor.java @@ -19,6 +19,7 @@ */ package org.sonar.plugins.surefire; +import org.apache.commons.lang.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.sonar.api.batch.AbstractCoverageExtension; @@ -39,7 +40,7 @@ public class SurefireSensor implements Sensor { private static Logger logger = LoggerFactory.getLogger(SurefireSensor.class); @DependsUpon - public Class<?> dependsUponCoverageSensors() { + public Class dependsUponCoverageSensors() { return AbstractCoverageExtension.class; } @@ -57,7 +58,11 @@ public class SurefireSensor implements Sensor { new AbstractSurefireParser() { @Override protected Resource<?> getUnitTestResource(String classKey) { - return new JavaFile(classKey, true); + if (!StringUtils.contains(classKey, "$")) { + // temporary hack waiting for http://jira.codehaus.org/browse/SONAR-1865 + return new JavaFile(classKey, true); + } + return null; } }.collect(project, context, reportsDir); } diff --git a/plugins/sonar-surefire-plugin/src/main/java/org/sonar/plugins/surefire/TestCaseDetails.java b/plugins/sonar-surefire-plugin/src/main/java/org/sonar/plugins/surefire/TestCaseDetails.java deleted file mode 100644 index 5209bcbde4f..00000000000 --- a/plugins/sonar-surefire-plugin/src/main/java/org/sonar/plugins/surefire/TestCaseDetails.java +++ /dev/null @@ -1,75 +0,0 @@ -/* - * Sonar, open source software quality management tool. - * Copyright (C) 2008-2011 SonarSource - * mailto:contact AT sonarsource DOT com - * - * Sonar is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * Sonar 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 - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with Sonar; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02 - */ -package org.sonar.plugins.surefire; - -public class TestCaseDetails { - - public final static String STATUS_OK = "ok"; - public final static String STATUS_ERROR = "error"; - public final static String STATUS_FAILURE = "failure"; - public final static String STATUS_SKIPPED = "skipped"; - - private String name; - private String status; - private String stackTrace; - private String errorMessage; - private int timeMS = 0; - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getStatus() { - return status; - } - - public void setStatus(String status) { - this.status = status; - } - - public String getStackTrace() { - return stackTrace; - } - - public void setStackTrace(String stackTrace) { - this.stackTrace = stackTrace; - } - - public String getErrorMessage() { - return errorMessage; - } - - public void setErrorMessage(String errorMessage) { - this.errorMessage = errorMessage; - } - - public int getTimeMS() { - return timeMS; - } - - public void setTimeMS(int timeMS) { - this.timeMS = timeMS; - } - -} diff --git a/plugins/sonar-surefire-plugin/src/main/java/org/sonar/plugins/surefire/TestSuiteReport.java b/plugins/sonar-surefire-plugin/src/main/java/org/sonar/plugins/surefire/TestSuiteReport.java deleted file mode 100644 index b5bd9abe14d..00000000000 --- a/plugins/sonar-surefire-plugin/src/main/java/org/sonar/plugins/surefire/TestSuiteReport.java +++ /dev/null @@ -1,120 +0,0 @@ -/* - * Sonar, open source software quality management tool. - * Copyright (C) 2008-2011 SonarSource - * mailto:contact AT sonarsource DOT com - * - * Sonar is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * Sonar 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 - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with Sonar; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02 - */ -package org.sonar.plugins.surefire; - -import java.util.ArrayList; -import java.util.List; - -public class TestSuiteReport { - - private String classKey; - private int errors = 0; - private int skipped = 0; - private int tests = 0; - private int timeMS = 0; - private int failures = 0; - - private List<TestCaseDetails> details; - - - public TestSuiteReport(String classKey) { - super(); - this.classKey = classKey; - this.details = new ArrayList<TestCaseDetails>(); - } - - public String getClassKey() { - return classKey; - } - - public int getErrors() { - return errors; - } - - public void setErrors(int errors) { - this.errors = errors; - } - - public int getSkipped() { - return skipped; - } - - public void setSkipped(int skipped) { - this.skipped = skipped; - } - - public int getTests() { - return tests; - } - - public void setTests(int tests) { - this.tests = tests; - } - - public int getTimeMS() { - return timeMS; - } - - public void setTimeMS(int timeMS) { - this.timeMS = timeMS; - } - - public int getFailures() { - return failures; - } - - public void setFailures(int failures) { - this.failures = failures; - } - - public List<TestCaseDetails> getDetails() { - return details; - } - - public void setDetails(List<TestCaseDetails> details) { - this.details = details; - } - - public boolean isValid() { - return classKey!=null && !isInnerClass(); - } - - private boolean isInnerClass() { - return classKey!=null && classKey.contains("$"); - } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - - TestSuiteReport that = (TestSuiteReport) o; - return classKey.equals(that.classKey); - } - - @Override - public int hashCode() { - return classKey.hashCode(); - } -} diff --git a/plugins/sonar-surefire-plugin/src/main/java/org/sonar/plugins/surefire/api/AbstractSurefireParser.java b/plugins/sonar-surefire-plugin/src/main/java/org/sonar/plugins/surefire/api/AbstractSurefireParser.java index 215ed9c8f23..b13e667ebe0 100644 --- a/plugins/sonar-surefire-plugin/src/main/java/org/sonar/plugins/surefire/api/AbstractSurefireParser.java +++ b/plugins/sonar-surefire-plugin/src/main/java/org/sonar/plugins/surefire/api/AbstractSurefireParser.java @@ -19,7 +19,6 @@ */ package org.sonar.plugins.surefire.api; -import org.apache.commons.lang.StringEscapeUtils; import org.apache.commons.lang.StringUtils; import org.sonar.api.batch.SensorContext; import org.sonar.api.measures.CoreMetrics; @@ -28,19 +27,16 @@ import org.sonar.api.measures.Metric; import org.sonar.api.resources.Project; import org.sonar.api.resources.Resource; import org.sonar.api.utils.ParsingUtils; +import org.sonar.api.utils.SonarException; import org.sonar.api.utils.StaxParser; -import org.sonar.api.utils.XmlParserException; -import org.sonar.plugins.surefire.TestCaseDetails; -import org.sonar.plugins.surefire.TestSuiteParser; -import org.sonar.plugins.surefire.TestSuiteReport; +import org.sonar.plugins.surefire.data.SurefireStaxHandler; +import org.sonar.plugins.surefire.data.UnitTestClassReport; +import org.sonar.plugins.surefire.data.UnitTestIndex; +import javax.xml.stream.XMLStreamException; import java.io.File; import java.io.FilenameFilter; -import java.util.HashSet; -import java.util.List; -import java.util.Set; - -import javax.xml.transform.TransformerException; +import java.util.Map; /** * @since 2.4 @@ -68,76 +64,85 @@ public abstract class AbstractSurefireParser { }); } - private void insertZeroWhenNoReports(Project pom, SensorContext context) { - if ( !StringUtils.equalsIgnoreCase("pom", pom.getPackaging())) { + private void insertZeroWhenNoReports(Project project, SensorContext context) { + if (!StringUtils.equalsIgnoreCase("pom", project.getPackaging())) { context.saveMeasure(CoreMetrics.TESTS, 0.0); } } private void parseFiles(SensorContext context, File[] reports) { - Set<TestSuiteReport> analyzedReports = new HashSet<TestSuiteReport>(); - try { - for (File report : reports) { - TestSuiteParser parserHandler = new TestSuiteParser(); - StaxParser parser = new StaxParser(parserHandler, false); + UnitTestIndex index = new UnitTestIndex(); + parseFiles(reports, index); + sanitize(index, context); + save(index, context); + + } + + private void parseFiles(File[] reports, UnitTestIndex index) { + SurefireStaxHandler staxParser = new SurefireStaxHandler(index); + StaxParser parser = new StaxParser(staxParser, false); + for (File report : reports) { + try { parser.parse(report); + } catch (XMLStreamException e) { + throw new SonarException("Fail to parse the Surefire report: " + report, e); + } + } + } + + private void sanitize(UnitTestIndex index, SensorContext context) { + for (String classname : index.getClassnames()) { + Resource resource = getUnitTestResource(classname); + if (resource != null && context.isIndexed(resource, false)) { + // ok - for (TestSuiteReport fileReport : parserHandler.getParsedReports()) { - if ( !fileReport.isValid() || analyzedReports.contains(fileReport)) { - continue; - } - if (fileReport.getTests() > 0) { - double testsCount = fileReport.getTests() - fileReport.getSkipped(); - saveClassMeasure(context, fileReport, CoreMetrics.SKIPPED_TESTS, fileReport.getSkipped()); - saveClassMeasure(context, fileReport, CoreMetrics.TESTS, testsCount); - saveClassMeasure(context, fileReport, CoreMetrics.TEST_ERRORS, fileReport.getErrors()); - saveClassMeasure(context, fileReport, CoreMetrics.TEST_FAILURES, fileReport.getFailures()); - saveClassMeasure(context, fileReport, CoreMetrics.TEST_EXECUTION_TIME, fileReport.getTimeMS()); - double passedTests = testsCount - fileReport.getErrors() - fileReport.getFailures(); - if (testsCount > 0) { - double percentage = passedTests * 100d / testsCount; - saveClassMeasure(context, fileReport, CoreMetrics.TEST_SUCCESS_DENSITY, ParsingUtils.scaleValue(percentage)); - } - saveTestsDetails(context, fileReport); - analyzedReports.add(fileReport); - } + } else if (StringUtils.contains(classname, "$")) { + // Java inner class + String parentClassName = StringUtils.substringBeforeLast(classname, "$"); + Resource parentResource = getUnitTestResource(parentClassName); + if (parentResource != null && context.isIndexed(parentResource, false)) { + index.merge(classname, parentClassName); + } else { + index.remove(classname); } + } else { + index.remove(classname); } - - } catch (Exception e) { - throw new XmlParserException("Can not parse surefire reports", e); } } - private void saveTestsDetails(SensorContext context, TestSuiteReport fileReport) throws TransformerException { - StringBuilder testCaseDetails = new StringBuilder(256); - testCaseDetails.append("<tests-details>"); - List<TestCaseDetails> details = fileReport.getDetails(); - for (TestCaseDetails detail : details) { - testCaseDetails.append("<testcase status=\"").append(detail.getStatus()) - .append("\" time=\"").append(detail.getTimeMS()) - .append("\" name=\"").append(detail.getName()).append("\""); - boolean isError = detail.getStatus().equals(TestCaseDetails.STATUS_ERROR); - if (isError || detail.getStatus().equals(TestCaseDetails.STATUS_FAILURE)) { - testCaseDetails.append(">") - .append(isError ? "<error message=\"" : "<failure message=\"") - .append(StringEscapeUtils.escapeXml(detail.getErrorMessage())).append("\">") - .append("<![CDATA[").append(StringEscapeUtils.escapeXml(detail.getStackTrace())).append("]]>") - .append(isError ? "</error>" : "</failure>").append("</testcase>"); - } else { - testCaseDetails.append("/>"); + private void save(UnitTestIndex index, SensorContext context) { + for (Map.Entry<String, UnitTestClassReport> entry : index.getIndexByClassname().entrySet()) { + UnitTestClassReport report = entry.getValue(); + if (report.getTests() > 0) { + Resource resource = getUnitTestResource(entry.getKey()); + double testsCount = report.getTests() - report.getSkipped(); + saveMeasure(context, resource, CoreMetrics.SKIPPED_TESTS, report.getSkipped()); + saveMeasure(context, resource, CoreMetrics.TESTS, testsCount); + saveMeasure(context, resource, CoreMetrics.TEST_ERRORS, report.getErrors()); + saveMeasure(context, resource, CoreMetrics.TEST_FAILURES, report.getFailures()); + saveMeasure(context, resource, CoreMetrics.TEST_EXECUTION_TIME, report.getDurationMilliseconds()); + double passedTests = testsCount - report.getErrors() - report.getFailures(); + if (testsCount > 0) { + double percentage = passedTests * 100d / testsCount; + saveMeasure(context, resource, CoreMetrics.TEST_SUCCESS_DENSITY, ParsingUtils.scaleValue(percentage)); + } + saveResults(context, resource, report); } } - testCaseDetails.append("</tests-details>"); - context.saveMeasure(getUnitTestResource(fileReport.getClassKey()), new Measure(CoreMetrics.TEST_DATA, testCaseDetails.toString())); } - private void saveClassMeasure(SensorContext context, TestSuiteReport fileReport, Metric metric, double value) { - if ( !Double.isNaN(value)) { - context.saveMeasure(getUnitTestResource(fileReport.getClassKey()), metric, value); + + private void saveMeasure(SensorContext context, Resource resource, Metric metric, double value) { + if (!Double.isNaN(value)) { + context.saveMeasure(resource, metric, value); } } + private void saveResults(SensorContext context, Resource resource, UnitTestClassReport report) { + context.saveMeasure(resource, new Measure(CoreMetrics.TEST_DATA, report.toXml())); + } + protected abstract Resource<?> getUnitTestResource(String classKey); } diff --git a/plugins/sonar-surefire-plugin/src/main/java/org/sonar/plugins/surefire/TestSuiteParser.java b/plugins/sonar-surefire-plugin/src/main/java/org/sonar/plugins/surefire/data/SurefireStaxHandler.java index d701a7407fb..b9a0b3b9e41 100644 --- a/plugins/sonar-surefire-plugin/src/main/java/org/sonar/plugins/surefire/TestSuiteParser.java +++ b/plugins/sonar-surefire-plugin/src/main/java/org/sonar/plugins/surefire/data/SurefireStaxHandler.java @@ -17,13 +17,10 @@ * License along with Sonar; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02 */ -package org.sonar.plugins.surefire; +package org.sonar.plugins.surefire.data; import java.text.ParseException; -import java.util.Collection; -import java.util.HashMap; import java.util.Locale; -import java.util.Map; import javax.xml.stream.XMLStreamException; @@ -35,9 +32,13 @@ import org.codehaus.staxmate.in.SMInputCursor; import org.sonar.api.utils.ParsingUtils; import org.sonar.api.utils.StaxParser.XmlStreamHandler; -public class TestSuiteParser implements XmlStreamHandler { +public class SurefireStaxHandler implements XmlStreamHandler { - private Map<String, TestSuiteReport> reportsPerClass = new HashMap<String, TestSuiteReport>(); + private UnitTestIndex index; + + public SurefireStaxHandler(UnitTestIndex index) { + this.index = index; + } public void stream(SMHierarchicCursor rootCursor) throws XMLStreamException { SMInputCursor testSuite = rootCursor.constructDescendantCursor(new ElementFilter("testsuite")); @@ -54,84 +55,67 @@ public class TestSuiteParser implements XmlStreamHandler { while ((event = testCase.getNext()) != null) { if (event.compareTo(SMEvent.START_ELEMENT) == 0) { String testClassName = getClassname(testCase, testSuiteClassName); - TestSuiteReport report = reportsPerClass.get(testClassName); - if (report == null) { - report = new TestSuiteReport(testClassName); - reportsPerClass.put(testClassName, report); - } - cumulateTestCaseDetails(testCase, report); + UnitTestClassReport classReport = index.index(testClassName); + parseTestCase(testCase, classReport); } } } } } - public Collection<TestSuiteReport> getParsedReports() { - return reportsPerClass.values(); - } - private String getClassname(SMInputCursor testCaseCursor, String defaultClassname) throws XMLStreamException { String testClassName = testCaseCursor.getAttrValue("classname"); - testClassName = StringUtils.substringBeforeLast(testClassName, "$"); - return testClassName == null ? defaultClassname : testClassName; + return StringUtils.defaultIfBlank(testClassName, defaultClassname); } - private void cumulateTestCaseDetails(SMInputCursor testCaseCursor, TestSuiteReport report) throws XMLStreamException { - TestCaseDetails detail = getTestCaseDetails(testCaseCursor); - if (detail.getStatus().equals(TestCaseDetails.STATUS_SKIPPED)) { - report.setSkipped(report.getSkipped() + 1); - } else if (detail.getStatus().equals(TestCaseDetails.STATUS_FAILURE)) { - report.setFailures(report.getFailures() + 1); - } else if (detail.getStatus().equals(TestCaseDetails.STATUS_ERROR)) { - report.setErrors(report.getErrors() + 1); - } - report.setTests(report.getTests() + 1); - report.setTimeMS(report.getTimeMS() + detail.getTimeMS()); - report.getDetails().add(detail); + private void parseTestCase(SMInputCursor testCaseCursor, UnitTestClassReport report) throws XMLStreamException { + report.add(parseTestResult(testCaseCursor)); } - private void setStackAndMessage(TestCaseDetails detail, SMInputCursor stackAndMessageCursor) throws XMLStreamException { - detail.setErrorMessage(stackAndMessageCursor.getAttrValue("message")); + private void setStackAndMessage(UnitTestResult result, SMInputCursor stackAndMessageCursor) throws XMLStreamException { + result.setMessage(stackAndMessageCursor.getAttrValue("message")); String stack = stackAndMessageCursor.collectDescendantText(); - detail.setStackTrace(stack); + result.setStackTrace(stack); } - private TestCaseDetails getTestCaseDetails(SMInputCursor testCaseCursor) throws XMLStreamException { - TestCaseDetails detail = new TestCaseDetails(); + private UnitTestResult parseTestResult(SMInputCursor testCaseCursor) throws XMLStreamException { + UnitTestResult detail = new UnitTestResult(); String name = getTestCaseName(testCaseCursor); detail.setName(name); - String status = TestCaseDetails.STATUS_OK; - Double time = getTimeAttributeInMS(testCaseCursor); + String status = UnitTestResult.STATUS_OK; + long duration = getTimeAttributeInMS(testCaseCursor); SMInputCursor childNode = testCaseCursor.descendantElementCursor(); if (childNode.getNext() != null) { String elementName = childNode.getLocalName(); - if (elementName.equals("skipped")) { - status = TestCaseDetails.STATUS_SKIPPED; + if ("skipped".equals(elementName)) { + status = UnitTestResult.STATUS_SKIPPED; // bug with surefire reporting wrong time for skipped tests - time = 0d; - } else if (elementName.equals("failure")) { - status = TestCaseDetails.STATUS_FAILURE; + duration = 0L; + + } else if ("failure".equals(elementName)) { + status = UnitTestResult.STATUS_FAILURE; setStackAndMessage(detail, childNode); - } else if (elementName.equals("error")) { - status = TestCaseDetails.STATUS_ERROR; + + } else if ("error".equals(elementName)) { + status = UnitTestResult.STATUS_ERROR; setStackAndMessage(detail, childNode); } } while (childNode.getNext() != null) { // make sure we loop till the end of the elements cursor } - detail.setTimeMS(time.intValue()); + detail.setDurationMilliseconds(duration); detail.setStatus(status); return detail; } - private Double getTimeAttributeInMS(SMInputCursor testCaseCursor) throws XMLStreamException { + private long getTimeAttributeInMS(SMInputCursor testCaseCursor) throws XMLStreamException { // hardcoded to Locale.ENGLISH see http://jira.codehaus.org/browse/SONAR-602 try { Double time = ParsingUtils.parseNumber(testCaseCursor.getAttrValue("time"), Locale.ENGLISH); - return !Double.isNaN(time) ? ParsingUtils.scaleValue(time * 1000, 3) : 0; + return !Double.isNaN(time) ? new Double(ParsingUtils.scaleValue(time * 1000, 3)).longValue() : 0L; } catch (ParseException e) { throw new XMLStreamException(e); } diff --git a/plugins/sonar-surefire-plugin/src/main/java/org/sonar/plugins/surefire/data/UnitTestClassReport.java b/plugins/sonar-surefire-plugin/src/main/java/org/sonar/plugins/surefire/data/UnitTestClassReport.java new file mode 100644 index 00000000000..de6ac1a5f21 --- /dev/null +++ b/plugins/sonar-surefire-plugin/src/main/java/org/sonar/plugins/surefire/data/UnitTestClassReport.java @@ -0,0 +1,97 @@ +/* + * Sonar, open source software quality management tool. + * Copyright (C) 2008-2011 SonarSource + * mailto:contact AT sonarsource DOT com + * + * Sonar is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 3 of the License, or (at your option) any later version. + * + * Sonar 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 + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with Sonar; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02 + */ +package org.sonar.plugins.surefire.data; + +import com.google.common.collect.Lists; + +import java.util.Collections; +import java.util.List; + +public final class UnitTestClassReport { + private long errors = 0L, failures = 0L, skipped = 0L, tests = 0L, durationMilliseconds = 0L; + private List<UnitTestResult> results = null; + + public UnitTestClassReport add(UnitTestClassReport other) { + for (UnitTestResult otherResult : other.getResults()) { + add(otherResult); + } + return this; + } + + public UnitTestClassReport add(UnitTestResult result) { + initResults(); + results.add(result); + if (result.getStatus().equals(UnitTestResult.STATUS_SKIPPED)) { + skipped += 1; + + } else if (result.getStatus().equals(UnitTestResult.STATUS_FAILURE)) { + failures += 1; + + } else if (result.getStatus().equals(UnitTestResult.STATUS_ERROR)) { + errors += 1; + } + tests += 1; + durationMilliseconds += result.getDurationMilliseconds(); + return this; + } + + private void initResults() { + if (results == null) { + results = Lists.newArrayList(); + } + } + + public long getErrors() { + return errors; + } + + public long getFailures() { + return failures; + } + + public long getSkipped() { + return skipped; + } + + public long getTests() { + return tests; + } + + public long getDurationMilliseconds() { + return durationMilliseconds; + } + + public List<UnitTestResult> getResults() { + if (results==null) { + return Collections.emptyList(); + } + return results; + } + + public String toXml() { + StringBuilder sb = new StringBuilder(256); + sb.append("<tests-details>"); + for (UnitTestResult result : results) { + result.appendXml(sb); + } + sb.append("</tests-details>"); + return sb.toString(); + } +} diff --git a/plugins/sonar-surefire-plugin/src/main/java/org/sonar/plugins/surefire/data/UnitTestIndex.java b/plugins/sonar-surefire-plugin/src/main/java/org/sonar/plugins/surefire/data/UnitTestIndex.java new file mode 100644 index 00000000000..350518b3813 --- /dev/null +++ b/plugins/sonar-surefire-plugin/src/main/java/org/sonar/plugins/surefire/data/UnitTestIndex.java @@ -0,0 +1,79 @@ +/* + * Sonar, open source software quality management tool. + * Copyright (C) 2008-2011 SonarSource + * mailto:contact AT sonarsource DOT com + * + * Sonar is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 3 of the License, or (at your option) any later version. + * + * Sonar 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 + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with Sonar; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02 + */ +package org.sonar.plugins.surefire.data; + +import com.google.common.collect.Maps; +import com.google.common.collect.Sets; + +import java.util.*; + +/** + * @since 2.8 + */ +public class UnitTestIndex { + + private Map<String, UnitTestClassReport> indexByClassname; + + public UnitTestIndex() { + this.indexByClassname = Maps.newHashMap(); + } + + public UnitTestClassReport index(String classname) { + UnitTestClassReport classReport = indexByClassname.get(classname); + if (classReport == null) { + classReport = new UnitTestClassReport(); + indexByClassname.put(classname, classReport); + } + return classReport; + } + + public UnitTestClassReport get(String classname) { + return indexByClassname.get(classname); + } + + public Set<String> getClassnames() { + return Sets.newHashSet(indexByClassname.keySet()); + } + + public Map<String, UnitTestClassReport> getIndexByClassname() { + return indexByClassname; + } + + public int size() { + return indexByClassname.size(); + } + + public UnitTestClassReport merge(String classname, String intoClassname) { + UnitTestClassReport from = indexByClassname.get(classname); + if (from!=null) { + UnitTestClassReport to = index(intoClassname); + to.add(from); + indexByClassname.remove(classname); + return to; + } + return null; + } + + public void remove(String classname) { + indexByClassname.remove(classname); + } + + +} diff --git a/plugins/sonar-surefire-plugin/src/main/java/org/sonar/plugins/surefire/data/UnitTestResult.java b/plugins/sonar-surefire-plugin/src/main/java/org/sonar/plugins/surefire/data/UnitTestResult.java new file mode 100644 index 00000000000..eba0f99f56e --- /dev/null +++ b/plugins/sonar-surefire-plugin/src/main/java/org/sonar/plugins/surefire/data/UnitTestResult.java @@ -0,0 +1,113 @@ +/* + * Sonar, open source software quality management tool. + * Copyright (C) 2008-2011 SonarSource + * mailto:contact AT sonarsource DOT com + * + * Sonar is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 3 of the License, or (at your option) any later version. + * + * Sonar 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 + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with Sonar; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02 + */ +package org.sonar.plugins.surefire.data; + +import org.apache.commons.lang.StringEscapeUtils; + +public final class UnitTestResult { + public final static String STATUS_OK = "ok"; + public final static String STATUS_ERROR = "error"; + public final static String STATUS_FAILURE = "failure"; + public final static String STATUS_SKIPPED = "skipped"; + + private String name, status, stackTrace, message; + private long durationMilliseconds = 0L; + + public String getName() { + return name; + } + + public UnitTestResult setName(String name) { + this.name = name; + return this; + } + + public String getStatus() { + return status; + } + + public UnitTestResult setStatus(String status) { + this.status = status; + return this; + } + + public UnitTestResult setStackTrace(String stackTrace) { + this.stackTrace = stackTrace; + return this; + } + + public String getMessage() { + return message; + } + + public UnitTestResult setMessage(String message) { + this.message = message; + return this; + } + + public long getDurationMilliseconds() { + return durationMilliseconds; + } + + public UnitTestResult setDurationMilliseconds(long l) { + this.durationMilliseconds = l; + return this; + } + + public boolean isErrorOrFailure() { + return STATUS_ERROR.equals(status) || STATUS_FAILURE.equals(status); + } + + public boolean isError() { + return STATUS_ERROR.equals(status); + } + + public String toXml() { + StringBuilder sb = new StringBuilder(); + return appendXml(sb).toString(); + } + public StringBuilder appendXml(StringBuilder sb) { + sb + .append("<testcase status=\"") + .append(status) + .append("\" time=\"") + .append(durationMilliseconds) + .append("\" name=\"") + .append(StringEscapeUtils.escapeXml(name)) + .append("\""); + + if (isErrorOrFailure()) { + sb + .append(">") + .append(isError() ? "<error message=\"" : "<failure message=\"") + .append(StringEscapeUtils.escapeXml(message)) + .append("\">") + .append("<![CDATA[") + .append(StringEscapeUtils.escapeXml(stackTrace)) + .append("]]>") + .append(isError() ? "</error>" : "</failure>") + .append("</testcase>"); + } else { + sb.append("/>"); + } + return sb; + } + +} diff --git a/plugins/sonar-surefire-plugin/src/test/java/org/sonar/plugins/surefire/SurefirePluginTest.java b/plugins/sonar-surefire-plugin/src/test/java/org/sonar/plugins/surefire/SurefirePluginTest.java index a3d19a328c1..e027702aca4 100644 --- a/plugins/sonar-surefire-plugin/src/test/java/org/sonar/plugins/surefire/SurefirePluginTest.java +++ b/plugins/sonar-surefire-plugin/src/test/java/org/sonar/plugins/surefire/SurefirePluginTest.java @@ -19,17 +19,15 @@ */ package org.sonar.plugins.surefire; +import org.junit.Test; + import static org.hamcrest.Matchers.greaterThan; import static org.junit.Assert.assertThat; -import org.junit.Test; - public class SurefirePluginTest { @Test - public void testGetExtensions() { - SurefirePlugin plugin = new SurefirePlugin(); - assertThat(plugin.getExtensions().size(), greaterThan(0)); + public void shouldGetExtensions() { + assertThat(new SurefirePlugin().getExtensions().size(), greaterThan(0)); } - } diff --git a/plugins/sonar-surefire-plugin/src/test/java/org/sonar/plugins/surefire/SurefireSensorTest.java b/plugins/sonar-surefire-plugin/src/test/java/org/sonar/plugins/surefire/SurefireSensorTest.java index 37accaa32ef..15b007f9018 100644 --- a/plugins/sonar-surefire-plugin/src/test/java/org/sonar/plugins/surefire/SurefireSensorTest.java +++ b/plugins/sonar-surefire-plugin/src/test/java/org/sonar/plugins/surefire/SurefireSensorTest.java @@ -30,10 +30,7 @@ import org.sonar.api.batch.SensorContext; import org.sonar.api.measures.CoreMetrics; import org.sonar.api.measures.Measure; import org.sonar.api.measures.Metric; -import org.sonar.api.resources.Java; -import org.sonar.api.resources.JavaFile; -import org.sonar.api.resources.Project; -import org.sonar.api.resources.Qualifiers; +import org.sonar.api.resources.*; import org.sonar.api.test.IsMeasure; import org.sonar.api.test.IsResource; import org.sonar.api.test.MavenTestUtils; @@ -76,70 +73,16 @@ public class SurefireSensorTest { new SurefireSensor().collect(project, mock(SensorContext.class), new File("unknown")); } - @Test - public void zeroTestsIfNoFiles() throws URISyntaxException { - SensorContext context = mock(SensorContext.class); - new SurefireSensor().collect(newJarProject(), context, new File(getClass().getResource( - "/org/sonar/plugins/surefire/SurefireSensorTest/no-files/").toURI())); - verify(context).saveMeasure(CoreMetrics.TESTS, 0.0); - } - - @Test - public void doNotInsertZeroTestsOnClasses() throws URISyntaxException { + private SensorContext mockContext() { SensorContext context = mock(SensorContext.class); - new SurefireSensor().collect(newJarProject(), context, new File(getClass().getResource( - "/org/sonar/plugins/surefire/SurefireSensorTest/doNotInsertZeroTestsOnClasses/").toURI())); - - verify(context, never()).saveMeasure(argThat(new IsResource(JavaFile.SCOPE_ENTITY, Qualifiers.UNIT_TEST_FILE)), - (Metric) anyObject(), anyDouble()); - } - - @Test - public void doNotInsertMeasuresOnPomProjects() throws URISyntaxException { - SensorContext context = mock(SensorContext.class); - new SurefireSensor().collect(newPomProject(), context, new File(getClass().getResource( - "/org/sonar/plugins/surefire/SurefireSensorTest/no-files/").toURI())); - - verify(context, never()).saveMeasure(eq(CoreMetrics.TESTS), anyDouble()); - } - - @Test - public void shouldHandleMultipleTestSuites() throws URISyntaxException { - SensorContext context = mock(SensorContext.class); - new SurefireSensor().collect(newPomProject(), context, new File(getClass().getResource( - "/org/sonar/plugins/surefire/SurefireSensorTest/shouldHandleMultipleSuitesInSameFile/").toURI())); - - verify(context).saveMeasure(eq(new JavaFile("org.sonar.JavaNCSSCollectorTest", true)), eq(CoreMetrics.TESTS), eq(11d)); - verify(context).saveMeasure(eq(new JavaFile("org.sonar.SecondTest", true)), eq(CoreMetrics.TESTS), eq(4d)); - } - - @Test - public void shouldSaveClassMeasures() throws URISyntaxException { - SensorContext context = mock(SensorContext.class); - new SurefireSensor().collect(newJarProject(), context, new File(getClass().getResource( - "/org/sonar/plugins/surefire/SurefireSensorTest/many-results/").toURI())); - - verify(context, times(6)).saveMeasure(argThat(new IsResource(JavaFile.SCOPE_ENTITY, Qualifiers.UNIT_TEST_FILE)), - eq(CoreMetrics.TESTS), anyDouble()); - verify(context, times(36)).saveMeasure(argThat(new IsResource(JavaFile.SCOPE_ENTITY, Qualifiers.UNIT_TEST_FILE)), - (Metric) anyObject(), anyDouble()); - verify(context, times(6)).saveMeasure(argThat(new IsResource(JavaFile.SCOPE_ENTITY, Qualifiers.UNIT_TEST_FILE)), - argThat(new IsMeasure(CoreMetrics.TEST_DATA))); - - verify(context) - .saveMeasure(new JavaFile("ch.hortis.sonar.mvn.mc.CheckstyleCollectorTest", true), CoreMetrics.TEST_EXECUTION_TIME, 694d); - verify(context).saveMeasure(new JavaFile("ch.hortis.sonar.mvn.mc.CheckstyleCollectorTest", true), CoreMetrics.TEST_ERRORS, 0d); - verify(context).saveMeasure(new JavaFile("ch.hortis.sonar.mvn.mc.CheckstyleCollectorTest", true), CoreMetrics.TEST_FAILURES, 0d); - verify(context).saveMeasure(new JavaFile("ch.hortis.sonar.mvn.mc.CheckstyleCollectorTest", true), CoreMetrics.TESTS, 6d); - verify(context).saveMeasure(new JavaFile("ch.hortis.sonar.mvn.mc.CheckstyleCollectorTest", true), CoreMetrics.SKIPPED_TESTS, 0d); - verify(context).saveMeasure(eq(new JavaFile("ch.hortis.sonar.mvn.mc.CheckstyleCollectorTest", true)), - argThat(new IsMeasure(CoreMetrics.TEST_DATA))); + when(context.isIndexed(any(Resource.class), eq(false))).thenReturn(true); + return context; } @Test public void shouldHandleTestSuiteDetails() throws URISyntaxException { - SensorContext context = mock(SensorContext.class); + SensorContext context = mockContext(); new SurefireSensor().collect(newJarProject(), context, new File(getClass().getResource( "/org/sonar/plugins/surefire/SurefireSensorTest/shouldHandleTestSuiteDetails/").toURI())); @@ -183,7 +126,7 @@ public class SurefireSensorTest { @Test public void shouldSaveErrorsAndFailuresInXML() throws URISyntaxException { - SensorContext context = mock(SensorContext.class); + SensorContext context = mockContext(); new SurefireSensor().collect(newJarProject(), context, new File(getClass().getResource( "/org/sonar/plugins/surefire/SurefireSensorTest/shouldSaveErrorsAndFailuresInXML/").toURI())); @@ -204,7 +147,7 @@ public class SurefireSensorTest { @Test public void shouldManageClassesWithDefaultPackage() throws URISyntaxException { - SensorContext context = mock(SensorContext.class); + SensorContext context = mockContext(); new SurefireSensor().collect(newJarProject(), context, new File(getClass().getResource( "/org/sonar/plugins/surefire/SurefireSensorTest/shouldManageClassesWithDefaultPackage/").toURI())); @@ -213,7 +156,7 @@ public class SurefireSensorTest { @Test public void successRatioIsZeroWhenAllTestsFail() throws URISyntaxException { - SensorContext context = mock(SensorContext.class); + SensorContext context = mockContext(); new SurefireSensor().collect(newJarProject(), context, new File(getClass().getResource( "/org/sonar/plugins/surefire/SurefireSensorTest/successRatioIsZeroWhenAllTestsFail/").toURI())); @@ -225,7 +168,7 @@ public class SurefireSensorTest { @Test public void measuresShouldNotIncludeSkippedTests() throws URISyntaxException { - SensorContext context = mock(SensorContext.class); + SensorContext context = mockContext(); new SurefireSensor().collect(newJarProject(), context, new File(getClass().getResource( "/org/sonar/plugins/surefire/SurefireSensorTest/measuresShouldNotIncludeSkippedTests/").toURI())); @@ -238,7 +181,7 @@ public class SurefireSensorTest { @Test public void noSuccessRatioIfNoTests() throws URISyntaxException { - SensorContext context = mock(SensorContext.class); + SensorContext context = mockContext(); new SurefireSensor().collect(newJarProject(), context, new File(getClass().getResource( "/org/sonar/plugins/surefire/SurefireSensorTest/noSuccessRatioIfNoTests/").toURI())); @@ -250,21 +193,8 @@ public class SurefireSensorTest { } @Test - public void doNotSaveInnerClasses() throws URISyntaxException { - SensorContext context = mock(SensorContext.class); - new SurefireSensor().collect(newJarProject(), context, new File(getClass().getResource( - "/org/sonar/plugins/surefire/SurefireSensorTest/doNotSaveInnerClasses/").toURI())); - verify(context).saveMeasure(eq(new JavaFile("org.apache.commons.collections.bidimap.AbstractTestBidiMap")), eq(CoreMetrics.TESTS), - eq(7.0)); - verify(context).saveMeasure(eq(new JavaFile("org.apache.commons.collections.bidimap.AbstractTestBidiMap")), - eq(CoreMetrics.TEST_ERRORS), eq(1.0)); - verify(context).saveMeasure(eq(new JavaFile("org.apache.commons.collections.bidimap.AbstractTestBidiMap")), - eq(CoreMetrics.TEST_EXECUTION_TIME), eq(45.0)); - } - - @Test public void ignoreSuiteAsInnerClass() throws URISyntaxException { - SensorContext context = mock(SensorContext.class); + SensorContext context = mockContext(); new SurefireSensor().collect(newJarProject(), context, new File(getClass().getResource( "/org/sonar/plugins/surefire/SurefireSensorTest/ignoreSuiteAsInnerClass/").toURI())); diff --git a/plugins/sonar-surefire-plugin/src/test/java/org/sonar/plugins/surefire/api/AbstractSurefireParserTest.java b/plugins/sonar-surefire-plugin/src/test/java/org/sonar/plugins/surefire/api/AbstractSurefireParserTest.java new file mode 100644 index 00000000000..84fef260f4f --- /dev/null +++ b/plugins/sonar-surefire-plugin/src/test/java/org/sonar/plugins/surefire/api/AbstractSurefireParserTest.java @@ -0,0 +1,148 @@ +/* + * Sonar, open source software quality management tool. + * Copyright (C) 2008-2011 SonarSource + * mailto:contact AT sonarsource DOT com + * + * Sonar is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 3 of the License, or (at your option) any later version. + * + * Sonar 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 + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with Sonar; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02 + */ +package org.sonar.plugins.surefire.api; + +import org.hamcrest.BaseMatcher; +import org.hamcrest.Description; +import org.junit.Test; +import org.mockito.internal.matchers.StartsWith; +import org.sonar.api.batch.SensorContext; +import org.sonar.api.measures.CoreMetrics; +import org.sonar.api.measures.Metric; +import org.sonar.api.resources.*; +import org.sonar.api.resources.File; +import org.sonar.api.test.IsMeasure; +import org.sonar.api.test.IsResource; + +import java.net.URISyntaxException; + +import static org.mockito.Matchers.any; +import static org.mockito.Matchers.anyDouble; +import static org.mockito.Matchers.argThat; +import static org.mockito.Matchers.eq; +import static org.mockito.Mockito.*; + +public class AbstractSurefireParserTest { + + @Test + public void shouldAggregateReports() throws URISyntaxException { + AbstractSurefireParser parser = newParser(); + SensorContext context = mockContext(); + + parser.collect(new Project("foo"), context, getDir("multipleReports")); + + verify(context, times(6)).saveMeasure(argThat(new IsResource(Scopes.FILE, Qualifiers.FILE)), eq(CoreMetrics.TESTS), anyDouble()); + verify(context, times(6)).saveMeasure(argThat(new IsResource(Scopes.FILE, Qualifiers.FILE)), eq(CoreMetrics.TEST_ERRORS), anyDouble()); + verify(context, times(6)).saveMeasure(argThat(new IsResource(Scopes.FILE, Qualifiers.FILE)), argThat(new IsMeasure(CoreMetrics.TEST_DATA))); + } + + @Test + public void shouldNotFailIfNoReports() throws URISyntaxException { + AbstractSurefireParser parser = newParser(); + SensorContext context = mockContext(); + + parser.collect(new Project("foo"), context, getDir("noReports")); + + verify(context).saveMeasure(CoreMetrics.TESTS, 0.0); + } + + @Test + public void shouldNotInsertZeroOnFiles() throws URISyntaxException { + AbstractSurefireParser parser = newParser(); + SensorContext context = mockContext(); + + parser.collect(new Project("foo"), context, getDir("noTests")); + + verify(context, never()).saveMeasure(any(Resource.class),(Metric)anyObject(), anyDouble()); + } + + @Test + public void shouldNotInsertMeasuresOnPomProjects() throws URISyntaxException { + AbstractSurefireParser parser = newParser(); + SensorContext context = mockContext(); + + parser.collect(new Project("foo").setPackaging("pom"), context, getDir("noReports")); + + verify(context, never()).saveMeasure(eq(CoreMetrics.TESTS), anyDouble()); + } + + /** + * This use-case occurs in projects mixing Groovy and Java tests. All test files are listed in surefire reports, + * but only Java files are indexed into sonar. + */ + @Test + public void shouldIgnoreNonIndexedFiles() throws URISyntaxException { + AbstractSurefireParser parser = newParser(); + + SensorContext context = mock(SensorContext.class); + when(context.isIndexed(argThat(new BaseMatcher<Resource>(){ + public boolean matches(Object o) { + return ((Resource)o).getName().startsWith("java"); + } + public void describeTo(Description description) { + } + }), eq(false))).thenReturn(true); + + parser.collect(new Project("foo"), context, getDir("groovyAndJavaTests")); + + verify(context).saveMeasure(argThat(new IsResource(Scopes.FILE, Qualifiers.FILE, "java.Foo")), eq(CoreMetrics.TESTS), eq(6.0)); + verify(context, never()).saveMeasure(argThat(new IsResource(Scopes.FILE, Qualifiers.FILE, "groovy.Foo")), any(Metric.class), anyDouble()); + } + + @Test + public void shouldMergeInnerClasses() throws URISyntaxException { + AbstractSurefireParser parser = newParser(); + + SensorContext context = mock(SensorContext.class); + when(context.isIndexed(argThat(new BaseMatcher<Resource>(){ + public boolean matches(Object o) { + return !((Resource)o).getName().contains("$"); + } + public void describeTo(Description description) { + } + }), eq(false))).thenReturn(true); + + parser.collect(new Project("foo"), context, getDir("innerClasses")); + + verify(context).saveMeasure(argThat(new IsResource(Scopes.FILE, Qualifiers.FILE, "org.apache.commons.collections.bidimap.AbstractTestBidiMap")), eq(CoreMetrics.TESTS), eq(7.0)); + verify(context).saveMeasure(argThat(new IsResource(Scopes.FILE, Qualifiers.FILE, "org.apache.commons.collections.bidimap.AbstractTestBidiMap")), eq(CoreMetrics.TEST_ERRORS), eq(1.0)); + verify(context, never()).saveMeasure(argThat(new IsResource(Scopes.FILE, Qualifiers.FILE, "org.apache.commons.collections.bidimap.AbstractTestBidiMap$TestBidiMapEntrySet")), any(Metric.class), anyDouble()); + } + + + private AbstractSurefireParser newParser() { + return new AbstractSurefireParser() { + @Override + protected Resource<?> getUnitTestResource(String classKey) { + return new File(classKey); + } + }; + } + + private java.io.File getDir(String dirname) throws URISyntaxException { + return new java.io.File(getClass().getResource("/org/sonar/plugins/surefire/api/AbstractSurefireParserTest/" + dirname).toURI()); + } + + private SensorContext mockContext() { + SensorContext context = mock(SensorContext.class); + when(context.isIndexed(any(Resource.class), eq(false))).thenReturn(true); + return context; + } +} diff --git a/plugins/sonar-surefire-plugin/src/test/java/org/sonar/plugins/surefire/data/SurefireStaxHandlerTest.java b/plugins/sonar-surefire-plugin/src/test/java/org/sonar/plugins/surefire/data/SurefireStaxHandlerTest.java new file mode 100644 index 00000000000..567e75a2779 --- /dev/null +++ b/plugins/sonar-surefire-plugin/src/test/java/org/sonar/plugins/surefire/data/SurefireStaxHandlerTest.java @@ -0,0 +1,127 @@ +/* + * Sonar, open source software quality management tool. + * Copyright (C) 2008-2011 SonarSource + * mailto:contact AT sonarsource DOT com + * + * Sonar is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 3 of the License, or (at your option) any later version. + * + * Sonar 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 + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with Sonar; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02 + */ +package org.sonar.plugins.surefire.data; + +import org.junit.Before; +import org.junit.Test; +import org.sonar.api.measures.CoreMetrics; +import org.sonar.api.resources.JavaFile; +import org.sonar.api.utils.StaxParser; +import org.sonar.test.TestUtils; + +import javax.xml.stream.XMLStreamException; +import java.io.File; + +import static org.hamcrest.CoreMatchers.is; +import static org.hamcrest.Matchers.startsWith; +import static org.junit.Assert.assertThat; +import static org.mockito.Matchers.eq; +import static org.mockito.Mockito.verify; + +public class SurefireStaxHandlerTest { + + private UnitTestIndex index; + + @Before + public void setUp() { + index = new UnitTestIndex(); + } + + @Test + public void shouldLoadInnerClasses() throws XMLStreamException { + parse("innerClasses.xml"); + + UnitTestClassReport publicClass = index.get("org.apache.commons.collections.bidimap.AbstractTestBidiMap"); + assertThat(publicClass.getTests(), is(2L)); + + UnitTestClassReport innerClass1 = index.get("org.apache.commons.collections.bidimap.AbstractTestBidiMap$TestBidiMapEntrySet"); + assertThat(innerClass1.getTests(), is(2L)); + + UnitTestClassReport innerClass2 = index.get("org.apache.commons.collections.bidimap.AbstractTestBidiMap$TestInverseBidiMap"); + assertThat(innerClass2.getTests(), is(3L)); + assertThat(innerClass2.getDurationMilliseconds(), is(30 + 1L)); + assertThat(innerClass2.getErrors(), is(1L)); + } + + @Test + public void shouldSuiteAsInnerClass() throws XMLStreamException { + parse("suiteInnerClass.xml"); + assertThat(index.size(), is(0)); + } + + @Test + public void shouldHaveSkippedTests() throws XMLStreamException { + parse("skippedTests.xml"); + UnitTestClassReport report = index.get("org.sonar.Foo"); + assertThat(report.getTests(), is(3L)); + assertThat(report.getSkipped(), is(1L)); + } + + @Test + public void shouldHaveZeroTests() throws XMLStreamException { + parse("zeroTests.xml"); + assertThat(index.size(), is(0)); + } + + @Test + public void shouldHaveTestOnRootPackage() throws XMLStreamException { + parse("rootPackage.xml"); + assertThat(index.size(), is(1)); + UnitTestClassReport report = index.get("NoPackagesTest"); + assertThat(report.getTests(), is(2L)); + } + + @Test + public void shouldHaveErrorsAndFailures() throws XMLStreamException { + parse("errorsAndFailures.xml"); + UnitTestClassReport report = index.get("org.sonar.Foo"); + assertThat(report.getErrors(), is(1L)); + assertThat(report.getFailures(), is(1L)); + assertThat(report.getResults().size(), is(2)); + + // failure + UnitTestResult failure = report.getResults().get(0); + assertThat(failure.getDurationMilliseconds(), is(5L)); + assertThat(failure.getStatus(), is(UnitTestResult.STATUS_FAILURE)); + assertThat(failure.getName(), is("testOne")); + assertThat(failure.getMessage(), startsWith("expected")); + + // error + UnitTestResult error = report.getResults().get(1); + assertThat(error.getDurationMilliseconds(), is(0L)); + assertThat(error.getStatus(), is(UnitTestResult.STATUS_ERROR)); + assertThat(error.getName(), is("testTwo")); + } + + @Test + public void shouldSupportMultipleSuitesInSameReport() throws XMLStreamException { + parse("multipleSuites.xml"); + + assertThat(index.get("org.sonar.JavaNCSSCollectorTest").getTests(), is(11L)); + assertThat(index.get("org.sonar.SecondTest").getTests(), is(4L)); + } + + private void parse(String path) throws XMLStreamException { + File xml = TestUtils.getResource(getClass(), path); + SurefireStaxHandler staxParser = new SurefireStaxHandler(index); + StaxParser parser = new StaxParser(staxParser, false); + parser.parse(xml); + } +} diff --git a/plugins/sonar-surefire-plugin/src/test/java/org/sonar/plugins/surefire/data/UnitTestClassReportTest.java b/plugins/sonar-surefire-plugin/src/test/java/org/sonar/plugins/surefire/data/UnitTestClassReportTest.java new file mode 100644 index 00000000000..700e854ac9e --- /dev/null +++ b/plugins/sonar-surefire-plugin/src/test/java/org/sonar/plugins/surefire/data/UnitTestClassReportTest.java @@ -0,0 +1,64 @@ +/* + * Sonar, open source software quality management tool. + * Copyright (C) 2008-2011 SonarSource + * mailto:contact AT sonarsource DOT com + * + * Sonar is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 3 of the License, or (at your option) any later version. + * + * Sonar 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 + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with Sonar; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02 + */ +package org.sonar.plugins.surefire.data; + +import org.junit.Test; + +import static org.hamcrest.CoreMatchers.is; +import static org.hamcrest.MatcherAssert.assertThat; + +public class UnitTestClassReportTest { + @Test + public void shouldExportToXml() { + UnitTestClassReport report = new UnitTestClassReport(); + report.add(new UnitTestResult().setStatus(UnitTestResult.STATUS_ERROR).setDurationMilliseconds(500L)); + report.add(new UnitTestResult().setStatus(UnitTestResult.STATUS_OK).setDurationMilliseconds(200L)); + + String xml = report.toXml(); + + assertThat(xml, is("<tests-details><testcase status=\"error\" time=\"500\" name=\"null\"><error message=\"null\"><![CDATA[null]]></error></testcase><testcase status=\"ok\" time=\"200\" name=\"null\"/></tests-details>")); + } + + @Test + public void shouldIncrementCounters() { + UnitTestClassReport report = new UnitTestClassReport(); + report.add(new UnitTestResult().setStatus(UnitTestResult.STATUS_ERROR).setDurationMilliseconds(500L)); + report.add(new UnitTestResult().setStatus(UnitTestResult.STATUS_OK).setDurationMilliseconds(200L)); + report.add(new UnitTestResult().setStatus(UnitTestResult.STATUS_SKIPPED)); + + assertThat(report.getResults().size(), is(3)); + assertThat(report.getSkipped(), is(1L)); + assertThat(report.getTests(), is(3L)); + assertThat(report.getDurationMilliseconds(), is(500L + 200L)); + assertThat(report.getErrors(), is(1L)); + assertThat(report.getFailures(), is(0L)); + } + + @Test + public void shouldHaveEmptyReport() { + UnitTestClassReport report = new UnitTestClassReport(); + assertThat(report.getResults().size(), is(0)); + assertThat(report.getSkipped(), is(0L)); + assertThat(report.getTests(), is(0L)); + assertThat(report.getDurationMilliseconds(), is(0L)); + assertThat(report.getErrors(), is(0L)); + assertThat(report.getFailures(), is(0L)); + } +} diff --git a/plugins/sonar-surefire-plugin/src/test/java/org/sonar/plugins/surefire/data/UnitTestIndexTest.java b/plugins/sonar-surefire-plugin/src/test/java/org/sonar/plugins/surefire/data/UnitTestIndexTest.java new file mode 100644 index 00000000000..0e85ac1d149 --- /dev/null +++ b/plugins/sonar-surefire-plugin/src/test/java/org/sonar/plugins/surefire/data/UnitTestIndexTest.java @@ -0,0 +1,115 @@ +/* + * Sonar, open source software quality management tool. + * Copyright (C) 2008-2011 SonarSource + * mailto:contact AT sonarsource DOT com + * + * Sonar is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 3 of the License, or (at your option) any later version. + * + * Sonar 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 + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with Sonar; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02 + */ +package org.sonar.plugins.surefire.data; + +import org.junit.Test; + +import static org.hamcrest.CoreMatchers.is; +import static org.hamcrest.CoreMatchers.nullValue; +import static org.hamcrest.MatcherAssert.assertThat; +import static org.junit.Assert.assertSame; + +public class UnitTestIndexTest { + + @Test + public void shouldIndexNewClassname() { + UnitTestIndex index = new UnitTestIndex(); + + UnitTestClassReport report = index.index("org.sonar.Foo"); + + assertThat(report.getTests(), is(0L)); + assertThat(index.size(), is(1)); + assertSame(index.get("org.sonar.Foo"), report); + } + + @Test + public void shouldNotReIndex() { + UnitTestIndex index = new UnitTestIndex(); + + UnitTestClassReport report1 = index.index("org.sonar.Foo"); + UnitTestClassReport report2 = index.index("org.sonar.Foo"); + + assertSame(report1, report2); + assertThat(report1.getTests(), is(0L)); + assertThat(index.size(), is(1)); + assertSame(index.get("org.sonar.Foo"), report1); + } + + @Test + public void shouldRemoveClassname() { + UnitTestIndex index = new UnitTestIndex(); + + index.index("org.sonar.Foo"); + index.remove("org.sonar.Foo"); + + assertThat(index.size(), is(0)); + assertThat(index.get("org.sonar.Foo"), nullValue()); + } + + @Test + public void shouldMergeClasses() { + UnitTestIndex index = new UnitTestIndex(); + UnitTestClassReport innerClass = index.index("org.sonar.Foo$Bar"); + innerClass.add(new UnitTestResult().setStatus(UnitTestResult.STATUS_ERROR).setDurationMilliseconds(500L)); + innerClass.add(new UnitTestResult().setStatus(UnitTestResult.STATUS_OK).setDurationMilliseconds(200L)); + UnitTestClassReport publicClass = index.index("org.sonar.Foo"); + publicClass.add(new UnitTestResult().setStatus(UnitTestResult.STATUS_ERROR).setDurationMilliseconds(1000L)); + publicClass.add(new UnitTestResult().setStatus(UnitTestResult.STATUS_FAILURE).setDurationMilliseconds(350L)); + + index.merge("org.sonar.Foo$Bar", "org.sonar.Foo"); + + assertThat(index.size(), is(1)); + UnitTestClassReport report = index.get("org.sonar.Foo"); + assertThat(report.getTests(), is(4L)); + assertThat(report.getFailures(), is(1L)); + assertThat(report.getErrors(), is(2L)); + assertThat(report.getSkipped(), is(0L)); + assertThat(report.getResults().size(), is(4)); + assertThat(report.getDurationMilliseconds(), is(500L + 200L + 1000L + 350L)); + } + + @Test + public void shouldRenameClassWhenMergingToNewClass() { + UnitTestIndex index = new UnitTestIndex(); + UnitTestClassReport innerClass = index.index("org.sonar.Foo$Bar"); + innerClass.add(new UnitTestResult().setStatus(UnitTestResult.STATUS_ERROR).setDurationMilliseconds(500L)); + innerClass.add(new UnitTestResult().setStatus(UnitTestResult.STATUS_OK).setDurationMilliseconds(200L)); + + index.merge("org.sonar.Foo$Bar", "org.sonar.Foo"); + + assertThat(index.size(), is(1)); + UnitTestClassReport report = index.get("org.sonar.Foo"); + assertThat(report.getTests(), is(2L)); + assertThat(report.getFailures(), is(0L)); + assertThat(report.getErrors(), is(1L)); + assertThat(report.getSkipped(), is(0L)); + assertThat(report.getResults().size(), is(2)); + assertThat(report.getDurationMilliseconds(), is(500L + 200L)); + } + + @Test + public void shouldNotFailWhenMergingUnknownClass() { + UnitTestIndex index = new UnitTestIndex(); + + index.merge("org.sonar.Foo$Bar", "org.sonar.Foo"); + + assertThat(index.size(), is(0)); + } +} diff --git a/plugins/sonar-surefire-plugin/src/test/java/org/sonar/plugins/surefire/data/UnitTestResultTest.java b/plugins/sonar-surefire-plugin/src/test/java/org/sonar/plugins/surefire/data/UnitTestResultTest.java new file mode 100644 index 00000000000..3095d70df36 --- /dev/null +++ b/plugins/sonar-surefire-plugin/src/test/java/org/sonar/plugins/surefire/data/UnitTestResultTest.java @@ -0,0 +1,72 @@ +/* + * Sonar, open source software quality management tool. + * Copyright (C) 2008-2011 SonarSource + * mailto:contact AT sonarsource DOT com + * + * Sonar is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 3 of the License, or (at your option) any later version. + * + * Sonar 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 + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with Sonar; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02 + */ +package org.sonar.plugins.surefire.data; + +import org.junit.Test; + +import static org.hamcrest.CoreMatchers.is; +import static org.junit.Assert.assertThat; + +public class UnitTestResultTest { + + @Test + public void shouldBeError() { + UnitTestResult result = new UnitTestResult().setStatus(UnitTestResult.STATUS_ERROR); + assertThat(result.getStatus(), is(UnitTestResult.STATUS_ERROR)); + assertThat(result.isError(), is(true)); + assertThat(result.isErrorOrFailure(), is(true)); + } + + @Test + public void shouldBeFailure() { + UnitTestResult result = new UnitTestResult().setStatus(UnitTestResult.STATUS_FAILURE); + assertThat(result.getStatus(), is(UnitTestResult.STATUS_FAILURE)); + assertThat(result.isError(), is(false)); + assertThat(result.isErrorOrFailure(), is(true)); + } + + @Test + public void shouldBeSuccess() { + UnitTestResult result = new UnitTestResult().setStatus(UnitTestResult.STATUS_OK); + assertThat(result.getStatus(), is(UnitTestResult.STATUS_OK)); + assertThat(result.isError(), is(false)); + assertThat(result.isErrorOrFailure(), is(false)); + } + + @Test + public void shouldExportSuccessToXml() { + UnitTestResult result = new UnitTestResult().setStatus(UnitTestResult.STATUS_OK); + result.setDurationMilliseconds(520L); + result.setName("testOne"); + + assertThat(result.toXml(), is("<testcase status=\"ok\" time=\"520\" name=\"testOne\"/>")); + } + + @Test + public void shouldExportErrorToXml() { + UnitTestResult result = new UnitTestResult().setStatus(UnitTestResult.STATUS_ERROR); + result.setDurationMilliseconds(580L); + result.setName("testOne"); + result.setStackTrace("java.lang.RuntimeException"); + result.setMessage("expected xxx"); + + assertThat(result.toXml(), is("<testcase status=\"error\" time=\"580\" name=\"testOne\"><error message=\"expected xxx\"><![CDATA[java.lang.RuntimeException]]></error></testcase>")); + } +} diff --git a/plugins/sonar-surefire-plugin/src/test/resources/org/sonar/plugins/surefire/SurefireSensorTest/no-files/hack b/plugins/sonar-surefire-plugin/src/test/resources/org/sonar/plugins/surefire/SurefireSensorTest/no-files/hack deleted file mode 100644 index cbaa7ba71ed..00000000000 --- a/plugins/sonar-surefire-plugin/src/test/resources/org/sonar/plugins/surefire/SurefireSensorTest/no-files/hack +++ /dev/null @@ -1 +0,0 @@ -hack to find the directory from the CLASSPATH. See the unit test.
\ No newline at end of file diff --git a/plugins/sonar-surefire-plugin/src/test/resources/org/sonar/plugins/surefire/api/AbstractSurefireParserTest/groovyAndJavaTests/TEST-groovy.xml b/plugins/sonar-surefire-plugin/src/test/resources/org/sonar/plugins/surefire/api/AbstractSurefireParserTest/groovyAndJavaTests/TEST-groovy.xml new file mode 100644 index 00000000000..42a888e131a --- /dev/null +++ b/plugins/sonar-surefire-plugin/src/test/resources/org/sonar/plugins/surefire/api/AbstractSurefireParserTest/groovyAndJavaTests/TEST-groovy.xml @@ -0,0 +1,76 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<testsuite errors="0" skipped="0" tests="2" time="1,134.193" failures="0" + name="groovy.Foo"> + <properties> + <property value="Java(TM) 2 Runtime Environment, Standard Edition" name="java.runtime.name"/> + <property value="/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Libraries" + name="sun.boot.library.path"/> + <property value="1.5.0_06-64" name="java.vm.version"/> + <property value="true" name="awt.nativeDoubleBuffering"/> + <property value="false" name="gopherProxySet"/> + <property value=""Apple Computer, Inc."" name="java.vm.vendor"/> + <property value="http://apple.com/" name="java.vendor.url"/> + <property value=":" name="path.separator"/> + <property value="Java HotSpot(TM) Client VM" name="java.vm.name"/> + <property value="sun.io" name="file.encoding.pkg"/> + <property value="FR" name="user.country"/> + <property value="unknown" name="sun.os.patch.level"/> + <property value="Java Virtual Machine Specification" name="java.vm.specification.name"/> + <property value="/Users/cmunger/Documents/workspace/sonar/sonar-maven-plugin" name="user.dir"/> + <property value="1.5.0_06-112" name="java.runtime.version"/> + <property value="apple.awt.CGraphicsEnvironment" name="java.awt.graphicsenv"/> + <property value="/Users/cmunger/Documents/workspace/sonar/sonar-maven-plugin" name="basedir"/> + <property value="/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home/lib/endorsed" + name="java.endorsed.dirs"/> + <property value="ppc" name="os.arch"/> + <property value="/tmp" name="java.io.tmpdir"/> + <property value=" +" name="line.separator"/> + <property value="Sun Microsystems Inc." name="java.vm.specification.vendor"/> + <property value="Mac OS X" name="os.name"/> + <property value="MacRoman" name="sun.jnu.encoding"/> + <property value=".:/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java" + name="java.library.path"/> + <property value="Java Platform API Specification" name="java.specification.name"/> + <property value="49.0" name="java.class.version"/> + <property value="HotSpot Client Compiler" name="sun.management.compiler"/> + <property value="10.4.8" name="os.version"/> + <property value="/Users/cmunger" name="user.home"/> + <property value="" name="user.timezone"/> + <property value="apple.awt.CPrinterJob" name="java.awt.printerjob"/> + <property value="MacRoman" name="file.encoding"/> + <property value="1.5" name="java.specification.version"/> + <property value="cmunger" name="user.name"/> + <property + value="/Users/cmunger/.m2/repository/org/apache/maven/surefire/surefire-api/2.0/surefire-api-2.0.jar:/Users/cmunger/.m2/repository/org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.jar:/Users/cmunger/.m2/repository/org/apache/maven/surefire/surefire-booter/2.0/surefire-booter-2.0.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/.compatibility/14compatibility.jar" + name="java.class.path"/> + <property value="1.0" name="java.vm.specification.version"/> + <property value="32" name="sun.arch.data.model"/> + <property value="/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home" name="java.home"/> + <property value="Sun Microsystems Inc." name="java.specification.vendor"/> + <property value="fr" name="user.language"/> + <property value="apple.awt.CToolkit" name="awt.toolkit"/> + <property value="mixed mode, sharing" name="java.vm.info"/> + <property value="1.5.0_06" name="java.version"/> + <property + value="/Library/Java/Extensions:/System/Library/Java/Extensions:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home/lib/ext" + name="java.ext.dirs"/> + <property + value="/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/classes.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/ui.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/laf.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/sunrsasign.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/jsse.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/jce.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/charsets.jar" + name="sun.boot.class.path"/> + <property value="Apple Computer, Inc." name="java.vendor"/> + <property value="/Users/cmunger/.m2/repository" name="localRepository"/> + <property value="/" name="file.separator"/> + <property value="http://developer.apple.com/java/" name="java.vendor.url.bug"/> + <property value="big" name="sun.cpu.endian"/> + <property value="UnicodeBig" name="sun.io.unicode.encoding"/> + <property value="1040.1.5.0_06-112" name="mrj.version"/> + <property value="" name="sun.cpu.isalist"/> + </properties> + <testcase time="0.035" name="testGetUnKnownCollector"/> + <testcase time="0" name="testGetJDependsCollector"/> + <testcase time="0" name="testGetJavaNCSSCollector"/> + <testcase time="0" name="testGetCloverCollector"/> + <testcase time="0.644" name="testCollectWithoutPluginConfiguration"/> + <testcase time="0.015" name="testCollectWithPluginConfiguration"/> +</testsuite>
\ No newline at end of file diff --git a/plugins/sonar-surefire-plugin/src/test/resources/org/sonar/plugins/surefire/api/AbstractSurefireParserTest/groovyAndJavaTests/TEST-java.xml b/plugins/sonar-surefire-plugin/src/test/resources/org/sonar/plugins/surefire/api/AbstractSurefireParserTest/groovyAndJavaTests/TEST-java.xml new file mode 100644 index 00000000000..2d6bb0c72a3 --- /dev/null +++ b/plugins/sonar-surefire-plugin/src/test/resources/org/sonar/plugins/surefire/api/AbstractSurefireParserTest/groovyAndJavaTests/TEST-java.xml @@ -0,0 +1,76 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<testsuite errors="0" skipped="0" tests="2" time="1,134.193" failures="0" + name="java.Foo"> + <properties> + <property value="Java(TM) 2 Runtime Environment, Standard Edition" name="java.runtime.name"/> + <property value="/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Libraries" + name="sun.boot.library.path"/> + <property value="1.5.0_06-64" name="java.vm.version"/> + <property value="true" name="awt.nativeDoubleBuffering"/> + <property value="false" name="gopherProxySet"/> + <property value=""Apple Computer, Inc."" name="java.vm.vendor"/> + <property value="http://apple.com/" name="java.vendor.url"/> + <property value=":" name="path.separator"/> + <property value="Java HotSpot(TM) Client VM" name="java.vm.name"/> + <property value="sun.io" name="file.encoding.pkg"/> + <property value="FR" name="user.country"/> + <property value="unknown" name="sun.os.patch.level"/> + <property value="Java Virtual Machine Specification" name="java.vm.specification.name"/> + <property value="/Users/cmunger/Documents/workspace/sonar/sonar-maven-plugin" name="user.dir"/> + <property value="1.5.0_06-112" name="java.runtime.version"/> + <property value="apple.awt.CGraphicsEnvironment" name="java.awt.graphicsenv"/> + <property value="/Users/cmunger/Documents/workspace/sonar/sonar-maven-plugin" name="basedir"/> + <property value="/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home/lib/endorsed" + name="java.endorsed.dirs"/> + <property value="ppc" name="os.arch"/> + <property value="/tmp" name="java.io.tmpdir"/> + <property value=" +" name="line.separator"/> + <property value="Sun Microsystems Inc." name="java.vm.specification.vendor"/> + <property value="Mac OS X" name="os.name"/> + <property value="MacRoman" name="sun.jnu.encoding"/> + <property value=".:/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java" + name="java.library.path"/> + <property value="Java Platform API Specification" name="java.specification.name"/> + <property value="49.0" name="java.class.version"/> + <property value="HotSpot Client Compiler" name="sun.management.compiler"/> + <property value="10.4.8" name="os.version"/> + <property value="/Users/cmunger" name="user.home"/> + <property value="" name="user.timezone"/> + <property value="apple.awt.CPrinterJob" name="java.awt.printerjob"/> + <property value="MacRoman" name="file.encoding"/> + <property value="1.5" name="java.specification.version"/> + <property value="cmunger" name="user.name"/> + <property + value="/Users/cmunger/.m2/repository/org/apache/maven/surefire/surefire-api/2.0/surefire-api-2.0.jar:/Users/cmunger/.m2/repository/org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.jar:/Users/cmunger/.m2/repository/org/apache/maven/surefire/surefire-booter/2.0/surefire-booter-2.0.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/.compatibility/14compatibility.jar" + name="java.class.path"/> + <property value="1.0" name="java.vm.specification.version"/> + <property value="32" name="sun.arch.data.model"/> + <property value="/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home" name="java.home"/> + <property value="Sun Microsystems Inc." name="java.specification.vendor"/> + <property value="fr" name="user.language"/> + <property value="apple.awt.CToolkit" name="awt.toolkit"/> + <property value="mixed mode, sharing" name="java.vm.info"/> + <property value="1.5.0_06" name="java.version"/> + <property + value="/Library/Java/Extensions:/System/Library/Java/Extensions:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home/lib/ext" + name="java.ext.dirs"/> + <property + value="/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/classes.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/ui.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/laf.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/sunrsasign.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/jsse.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/jce.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/charsets.jar" + name="sun.boot.class.path"/> + <property value="Apple Computer, Inc." name="java.vendor"/> + <property value="/Users/cmunger/.m2/repository" name="localRepository"/> + <property value="/" name="file.separator"/> + <property value="http://developer.apple.com/java/" name="java.vendor.url.bug"/> + <property value="big" name="sun.cpu.endian"/> + <property value="UnicodeBig" name="sun.io.unicode.encoding"/> + <property value="1040.1.5.0_06-112" name="mrj.version"/> + <property value="" name="sun.cpu.isalist"/> + </properties> + <testcase time="0.035" name="testGetUnKnownCollector"/> + <testcase time="0" name="testGetJDependsCollector"/> + <testcase time="0" name="testGetJavaNCSSCollector"/> + <testcase time="0" name="testGetCloverCollector"/> + <testcase time="0.644" name="testCollectWithoutPluginConfiguration"/> + <testcase time="0.015" name="testCollectWithPluginConfiguration"/> +</testsuite>
\ No newline at end of file diff --git a/plugins/sonar-surefire-plugin/src/test/resources/org/sonar/plugins/surefire/api/AbstractSurefireParserTest/innerClasses/TEST-org.apache.commons.collections.TestAllPackages.xml b/plugins/sonar-surefire-plugin/src/test/resources/org/sonar/plugins/surefire/api/AbstractSurefireParserTest/innerClasses/TEST-org.apache.commons.collections.TestAllPackages.xml new file mode 100644 index 00000000000..e3f5933ba48 --- /dev/null +++ b/plugins/sonar-surefire-plugin/src/test/resources/org/sonar/plugins/surefire/api/AbstractSurefireParserTest/innerClasses/TEST-org.apache.commons.collections.TestAllPackages.xml @@ -0,0 +1,71 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<testsuite failures="0" time="157.199" errors="18" skipped="0" tests="13025" + name="org.apache.commons.collections.TestAllPackages"> + <properties> + <property name="java.runtime.name" value="Java(TM) SE Runtime Environment"/> + <property name="sun.boot.library.path" + value="/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Libraries"/> + <property name="java.vm.version" value="11.3-b02-83"/> + </properties> + <testcase time="0.012" classname="org.apache.commons.collections.bidimap.AbstractTestBidiMap" + name="testMapEntrySetIteratorEntrySetValueCrossCheck"/> + <testcase time="0.001" classname="org.apache.commons.collections.bidimap.AbstractTestBidiMap" + name="testMapEntrySetIteratorEntry"/> + <testcase time="0.001" classname="org.apache.commons.collections.bidimap.AbstractTestBidiMap$TestBidiMapEntrySet" + name="testCanonicalEmptyCollectionExists"/> + <testcase time="0" classname="org.apache.commons.collections.bidimap.AbstractTestBidiMap$TestBidiMapEntrySet" + name="testCanonicalFullCollectionExists"/> + <testcase time="0.03" classname="org.apache.commons.collections.bidimap.AbstractTestBidiMap$TestInverseBidiMap" + name="testMapPut"/> + <testcase time="0" classname="org.apache.commons.collections.bidimap.AbstractTestBidiMap$TestInverseBidiMap" + name="testMapPutNullKey"/> + <testcase time="0.001" classname="org.apache.commons.collections.bidimap.AbstractTestBidiMap$TestInverseBidiMap" + name="testMapPutNullValue"> + <error + message="org.apache.commons.collections.FastArrayList; local class incompatible: stream classdesc serialVersionUID = 1566341225434603896, local class serialVersionUID = 7918928878747177577" + type="java.io.InvalidClassException">java.io.InvalidClassException: + org.apache.commons.collections.FastArrayList; + local class incompatible: stream classdesc serialVersionUID = 1566341225434603896, local class serialVersionUID = + 7918928878747177577 + at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:562) + at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1583) + at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1496) + at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1732) + at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329) + at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351) + at org.apache.commons.collections.AbstractTestObject.readExternalFormFromStream(AbstractTestObject.java:326) + at org.apache.commons.collections.AbstractTestObject.readExternalFormFromDisk(AbstractTestObject.java:301) + at org.apache.commons.collections.list.AbstractTestList.testEmptyListCompatibility(AbstractTestList.java:1077) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) + at java.lang.reflect.Method.invoke(Method.java:597) + at junit.framework.TestCase.runTest(TestCase.java:154) + at junit.framework.TestCase.runBare(TestCase.java:127) + at junit.framework.TestResult$1.protect(TestResult.java:106) + at junit.framework.TestResult.runProtected(TestResult.java:124) + at junit.framework.TestResult.run(TestResult.java:109) + at junit.framework.TestCase.run(TestCase.java:118) + at junit.framework.TestSuite.runTest(TestSuite.java:208) + at junit.framework.TestSuite.run(TestSuite.java:203) + at junit.framework.TestSuite.runTest(TestSuite.java:208) + at junit.framework.TestSuite.run(TestSuite.java:203) + at junit.framework.TestSuite.runTest(TestSuite.java:208) + at junit.framework.TestSuite.run(TestSuite.java:203) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) + at java.lang.reflect.Method.invoke(Method.java:597) + at org.apache.maven.surefire.junit.JUnitTestSet.execute(JUnitTestSet.java:213) + at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:140) + at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:127) + at org.apache.maven.surefire.Surefire.run(Surefire.java:177) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) + at java.lang.reflect.Method.invoke(Method.java:597) + at org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:345) + at org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:1009) + </error> + </testcase> +</testsuite>
\ No newline at end of file diff --git a/plugins/sonar-surefire-plugin/src/test/resources/org/sonar/plugins/surefire/api/AbstractSurefireParserTest/multipleReports/TEST-ch.hortis.sonar.mvn.SonarMojoTest.xml b/plugins/sonar-surefire-plugin/src/test/resources/org/sonar/plugins/surefire/api/AbstractSurefireParserTest/multipleReports/TEST-ch.hortis.sonar.mvn.SonarMojoTest.xml new file mode 100644 index 00000000000..c11af664afb --- /dev/null +++ b/plugins/sonar-surefire-plugin/src/test/resources/org/sonar/plugins/surefire/api/AbstractSurefireParserTest/multipleReports/TEST-ch.hortis.sonar.mvn.SonarMojoTest.xml @@ -0,0 +1,83 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<testsuite errors="0" skipped="0" tests="5" time="9.138" failures="0" name="ch.hortis.sonar.mvn.SonarMojoTest"> + <properties> + <property value="Java(TM) 2 Runtime Environment, Standard Edition" name="java.runtime.name"/> + <property value="/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Libraries" + name="sun.boot.library.path"/> + <property value="1.5.0_06-64" name="java.vm.version"/> + <property value="true" name="awt.nativeDoubleBuffering"/> + <property value="false" name="gopherProxySet"/> + <property value=""Apple Computer, Inc."" name="java.vm.vendor"/> + <property value="http://apple.com/" name="java.vendor.url"/> + <property value=":" name="path.separator"/> + <property value="Java HotSpot(TM) Client VM" name="java.vm.name"/> + <property value="sun.io" name="file.encoding.pkg"/> + <property value="FR" name="user.country"/> + <property value="unknown" name="sun.os.patch.level"/> + <property value="Java Virtual Machine Specification" name="java.vm.specification.name"/> + <property value="/Users/cmunger/Documents/workspace/sonar/sonar-maven-plugin" name="user.dir"/> + <property value="1.5.0_06-112" name="java.runtime.version"/> + <property value="apple.awt.CGraphicsEnvironment" name="java.awt.graphicsenv"/> + <property value="/Users/cmunger/Documents/workspace/sonar/sonar-maven-plugin" name="basedir"/> + <property value="/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home/lib/endorsed" + name="java.endorsed.dirs"/> + <property value="ppc" name="os.arch"/> + <property value="/tmp" name="java.io.tmpdir"/> + <property value=" +" name="line.separator"/> + <property value="Sun Microsystems Inc." name="java.vm.specification.vendor"/> + <property value="Mac OS X" name="os.name"/> + <property value="MacRoman" name="sun.jnu.encoding"/> + <property value=".:/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java" + name="java.library.path"/> + <property value="Java Platform API Specification" name="java.specification.name"/> + <property value="49.0" name="java.class.version"/> + <property value="HotSpot Client Compiler" name="sun.management.compiler"/> + <property value="10.4.8" name="os.version"/> + <property value="/Users/cmunger" name="user.home"/> + <property value="Europe/Zurich" name="user.timezone"/> + <property value="apple.awt.CPrinterJob" name="java.awt.printerjob"/> + <property value="MacRoman" name="file.encoding"/> + <property value="1.5" name="java.specification.version"/> + <property value="cmunger" name="user.name"/> + <property + value="/Users/cmunger/.m2/repository/org/apache/maven/surefire/surefire-api/2.0/surefire-api-2.0.jar:/Users/cmunger/.m2/repository/org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.jar:/Users/cmunger/.m2/repository/org/apache/maven/surefire/surefire-booter/2.0/surefire-booter-2.0.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/.compatibility/14compatibility.jar" + name="java.class.path"/> + <property value="1.0" name="java.vm.specification.version"/> + <property value="32" name="sun.arch.data.model"/> + <property value="/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home" name="java.home"/> + <property value="Sun Microsystems Inc." name="java.specification.vendor"/> + <property value="fr" name="user.language"/> + <property value="apple.awt.CToolkit" name="awt.toolkit"/> + <property value="mixed mode, sharing" name="java.vm.info"/> + <property value="1.5.0_06" name="java.version"/> + <property + value="/Library/Java/Extensions:/System/Library/Java/Extensions:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home/lib/ext" + name="java.ext.dirs"/> + <property + value="/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/classes.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/ui.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/laf.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/sunrsasign.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/jsse.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/jce.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/charsets.jar" + name="sun.boot.class.path"/> + <property value="Apple Computer, Inc." name="java.vendor"/> + <property value="/Users/cmunger/.m2/repository" name="localRepository"/> + <property value="/" name="file.separator"/> + <property value="http://developer.apple.com/java/" name="java.vendor.url.bug"/> + <property value="big" name="sun.cpu.endian"/> + <property value="UnicodeBig" name="sun.io.unicode.encoding"/> + <property value="1040.1.5.0_06-112" name="mrj.version"/> + <property value="" name="sun.cpu.isalist"/> + </properties> + <testcase time="0.035" name="testGetUnKnownCollector"/> + <testcase time="0" name="testGetJDependsCollector"/> + <testcase time="0" name="testGetJavaNCSSCollector"/> + <testcase time="0" name="testGetCloverCollector"/> + <testcase time="0.644" name="testCollectWithoutPluginConfiguration"/> + <testcase time="0.015" name="testCollectWithPluginConfiguration"/> + <testcase time="0.044" name="testCollectWithoutPluginConfiguration"/> + <testcase time="0.013" name="testCollectWithPluginConfiguration"/> + <testcase time="0.024" name="testGetEmptyJdbcPassword"/> + <testcase time="6.889" name="testPopulateWithoutAnyReport"/> + <testcase time="0.697" name="testPopulateWithJavaNcssReport"/> + <testcase time="0.665" name="testPopulateWithJDependsReport"/> + <testcase time="0.283" name="testPopulateWithCloverReport"/> + <testcase time="0.592" name="testPopulateWithCheckstyleReport"/> +</testsuite>
\ No newline at end of file diff --git a/plugins/sonar-surefire-plugin/src/test/resources/org/sonar/plugins/surefire/api/AbstractSurefireParserTest/multipleReports/TEST-ch.hortis.sonar.mvn.mc.CheckstyleCollectorTest.xml b/plugins/sonar-surefire-plugin/src/test/resources/org/sonar/plugins/surefire/api/AbstractSurefireParserTest/multipleReports/TEST-ch.hortis.sonar.mvn.mc.CheckstyleCollectorTest.xml new file mode 100644 index 00000000000..71e443db9e4 --- /dev/null +++ b/plugins/sonar-surefire-plugin/src/test/resources/org/sonar/plugins/surefire/api/AbstractSurefireParserTest/multipleReports/TEST-ch.hortis.sonar.mvn.mc.CheckstyleCollectorTest.xml @@ -0,0 +1,76 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<testsuite errors="0" skipped="0" tests="2" time="1,134.193" failures="0" + name="ch.hortis.sonar.mvn.mc.CheckstyleCollectorTest"> + <properties> + <property value="Java(TM) 2 Runtime Environment, Standard Edition" name="java.runtime.name"/> + <property value="/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Libraries" + name="sun.boot.library.path"/> + <property value="1.5.0_06-64" name="java.vm.version"/> + <property value="true" name="awt.nativeDoubleBuffering"/> + <property value="false" name="gopherProxySet"/> + <property value=""Apple Computer, Inc."" name="java.vm.vendor"/> + <property value="http://apple.com/" name="java.vendor.url"/> + <property value=":" name="path.separator"/> + <property value="Java HotSpot(TM) Client VM" name="java.vm.name"/> + <property value="sun.io" name="file.encoding.pkg"/> + <property value="FR" name="user.country"/> + <property value="unknown" name="sun.os.patch.level"/> + <property value="Java Virtual Machine Specification" name="java.vm.specification.name"/> + <property value="/Users/cmunger/Documents/workspace/sonar/sonar-maven-plugin" name="user.dir"/> + <property value="1.5.0_06-112" name="java.runtime.version"/> + <property value="apple.awt.CGraphicsEnvironment" name="java.awt.graphicsenv"/> + <property value="/Users/cmunger/Documents/workspace/sonar/sonar-maven-plugin" name="basedir"/> + <property value="/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home/lib/endorsed" + name="java.endorsed.dirs"/> + <property value="ppc" name="os.arch"/> + <property value="/tmp" name="java.io.tmpdir"/> + <property value=" +" name="line.separator"/> + <property value="Sun Microsystems Inc." name="java.vm.specification.vendor"/> + <property value="Mac OS X" name="os.name"/> + <property value="MacRoman" name="sun.jnu.encoding"/> + <property value=".:/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java" + name="java.library.path"/> + <property value="Java Platform API Specification" name="java.specification.name"/> + <property value="49.0" name="java.class.version"/> + <property value="HotSpot Client Compiler" name="sun.management.compiler"/> + <property value="10.4.8" name="os.version"/> + <property value="/Users/cmunger" name="user.home"/> + <property value="" name="user.timezone"/> + <property value="apple.awt.CPrinterJob" name="java.awt.printerjob"/> + <property value="MacRoman" name="file.encoding"/> + <property value="1.5" name="java.specification.version"/> + <property value="cmunger" name="user.name"/> + <property + value="/Users/cmunger/.m2/repository/org/apache/maven/surefire/surefire-api/2.0/surefire-api-2.0.jar:/Users/cmunger/.m2/repository/org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.jar:/Users/cmunger/.m2/repository/org/apache/maven/surefire/surefire-booter/2.0/surefire-booter-2.0.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/.compatibility/14compatibility.jar" + name="java.class.path"/> + <property value="1.0" name="java.vm.specification.version"/> + <property value="32" name="sun.arch.data.model"/> + <property value="/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home" name="java.home"/> + <property value="Sun Microsystems Inc." name="java.specification.vendor"/> + <property value="fr" name="user.language"/> + <property value="apple.awt.CToolkit" name="awt.toolkit"/> + <property value="mixed mode, sharing" name="java.vm.info"/> + <property value="1.5.0_06" name="java.version"/> + <property + value="/Library/Java/Extensions:/System/Library/Java/Extensions:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home/lib/ext" + name="java.ext.dirs"/> + <property + value="/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/classes.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/ui.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/laf.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/sunrsasign.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/jsse.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/jce.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/charsets.jar" + name="sun.boot.class.path"/> + <property value="Apple Computer, Inc." name="java.vendor"/> + <property value="/Users/cmunger/.m2/repository" name="localRepository"/> + <property value="/" name="file.separator"/> + <property value="http://developer.apple.com/java/" name="java.vendor.url.bug"/> + <property value="big" name="sun.cpu.endian"/> + <property value="UnicodeBig" name="sun.io.unicode.encoding"/> + <property value="1040.1.5.0_06-112" name="mrj.version"/> + <property value="" name="sun.cpu.isalist"/> + </properties> + <testcase time="0.035" name="testGetUnKnownCollector"/> + <testcase time="0" name="testGetJDependsCollector"/> + <testcase time="0" name="testGetJavaNCSSCollector"/> + <testcase time="0" name="testGetCloverCollector"/> + <testcase time="0.644" name="testCollectWithoutPluginConfiguration"/> + <testcase time="0.015" name="testCollectWithPluginConfiguration"/> +</testsuite>
\ No newline at end of file diff --git a/plugins/sonar-surefire-plugin/src/test/resources/org/sonar/plugins/surefire/api/AbstractSurefireParserTest/multipleReports/TEST-ch.hortis.sonar.mvn.mc.CloverCollectorTest.xml b/plugins/sonar-surefire-plugin/src/test/resources/org/sonar/plugins/surefire/api/AbstractSurefireParserTest/multipleReports/TEST-ch.hortis.sonar.mvn.mc.CloverCollectorTest.xml new file mode 100644 index 00000000000..f803b695a45 --- /dev/null +++ b/plugins/sonar-surefire-plugin/src/test/resources/org/sonar/plugins/surefire/api/AbstractSurefireParserTest/multipleReports/TEST-ch.hortis.sonar.mvn.mc.CloverCollectorTest.xml @@ -0,0 +1,77 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<testsuite errors="0" skipped="0" tests="2" time="0.061" failures="0" name="ch.hortis.sonar.mvn.mc.CloverCollectorTest"> + <properties> + <property value="Java(TM) 2 Runtime Environment, Standard Edition" name="java.runtime.name"/> + <property value="/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Libraries" + name="sun.boot.library.path"/> + <property value="1.5.0_06-64" name="java.vm.version"/> + <property value="true" name="awt.nativeDoubleBuffering"/> + <property value="false" name="gopherProxySet"/> + <property value=""Apple Computer, Inc."" name="java.vm.vendor"/> + <property value="http://apple.com/" name="java.vendor.url"/> + <property value=":" name="path.separator"/> + <property value="Java HotSpot(TM) Client VM" name="java.vm.name"/> + <property value="sun.io" name="file.encoding.pkg"/> + <property value="FR" name="user.country"/> + <property value="unknown" name="sun.os.patch.level"/> + <property value="Java Virtual Machine Specification" name="java.vm.specification.name"/> + <property value="/Users/cmunger/Documents/workspace/sonar/sonar-maven-plugin" name="user.dir"/> + <property value="1.5.0_06-112" name="java.runtime.version"/> + <property value="apple.awt.CGraphicsEnvironment" name="java.awt.graphicsenv"/> + <property value="/Users/cmunger/Documents/workspace/sonar/sonar-maven-plugin" name="basedir"/> + <property value="/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home/lib/endorsed" + name="java.endorsed.dirs"/> + <property value="ppc" name="os.arch"/> + <property value="/tmp" name="java.io.tmpdir"/> + <property value=" +" name="line.separator"/> + <property value="Sun Microsystems Inc." name="java.vm.specification.vendor"/> + <property value="Mac OS X" name="os.name"/> + <property value="MacRoman" name="sun.jnu.encoding"/> + <property value=".:/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java" + name="java.library.path"/> + <property value="Java Platform API Specification" name="java.specification.name"/> + <property value="49.0" name="java.class.version"/> + <property value="HotSpot Client Compiler" name="sun.management.compiler"/> + <property value="10.4.8" name="os.version"/> + <property value="/Users/cmunger" name="user.home"/> + <property value="" name="user.timezone"/> + <property value="apple.awt.CPrinterJob" name="java.awt.printerjob"/> + <property value="MacRoman" name="file.encoding"/> + <property value="1.5" name="java.specification.version"/> + <property value="cmunger" name="user.name"/> + <property + value="/Users/cmunger/.m2/repository/org/apache/maven/surefire/surefire-api/2.0/surefire-api-2.0.jar:/Users/cmunger/.m2/repository/org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.jar:/Users/cmunger/.m2/repository/org/apache/maven/surefire/surefire-booter/2.0/surefire-booter-2.0.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/.compatibility/14compatibility.jar" + name="java.class.path"/> + <property value="1.0" name="java.vm.specification.version"/> + <property value="32" name="sun.arch.data.model"/> + <property value="/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home" name="java.home"/> + <property value="Sun Microsystems Inc." name="java.specification.vendor"/> + <property value="fr" name="user.language"/> + <property value="apple.awt.CToolkit" name="awt.toolkit"/> + <property value="mixed mode, sharing" name="java.vm.info"/> + <property value="1.5.0_06" name="java.version"/> + <property + value="/Library/Java/Extensions:/System/Library/Java/Extensions:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home/lib/ext" + name="java.ext.dirs"/> + <property + value="/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/classes.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/ui.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/laf.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/sunrsasign.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/jsse.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/jce.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/charsets.jar" + name="sun.boot.class.path"/> + <property value="Apple Computer, Inc." name="java.vendor"/> + <property value="/Users/cmunger/.m2/repository" name="localRepository"/> + <property value="/" name="file.separator"/> + <property value="http://developer.apple.com/java/" name="java.vendor.url.bug"/> + <property value="big" name="sun.cpu.endian"/> + <property value="UnicodeBig" name="sun.io.unicode.encoding"/> + <property value="1040.1.5.0_06-112" name="mrj.version"/> + <property value="" name="sun.cpu.isalist"/> + </properties> + <testcase time="0.035" name="testGetUnKnownCollector"/> + <testcase time="0" name="testGetJDependsCollector"/> + <testcase time="0" name="testGetJavaNCSSCollector"/> + <testcase time="0" name="testGetCloverCollector"/> + <testcase time="0.644" name="testCollectWithoutPluginConfiguration"/> + <testcase time="0.015" name="testCollectWithPluginConfiguration"/> + <testcase time="0.044" name="testCollectWithoutPluginConfiguration"/> + <testcase time="0.013" name="testCollectWithPluginConfiguration"/> +</testsuite>
\ No newline at end of file diff --git a/plugins/sonar-surefire-plugin/src/test/resources/org/sonar/plugins/surefire/api/AbstractSurefireParserTest/multipleReports/TEST-ch.hortis.sonar.mvn.mc.JDependsCollectorTest.xml b/plugins/sonar-surefire-plugin/src/test/resources/org/sonar/plugins/surefire/api/AbstractSurefireParserTest/multipleReports/TEST-ch.hortis.sonar.mvn.mc.JDependsCollectorTest.xml new file mode 100644 index 00000000000..0fc45fcaaf6 --- /dev/null +++ b/plugins/sonar-surefire-plugin/src/test/resources/org/sonar/plugins/surefire/api/AbstractSurefireParserTest/multipleReports/TEST-ch.hortis.sonar.mvn.mc.JDependsCollectorTest.xml @@ -0,0 +1,86 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<testsuite errors="0" skipped="0" tests="2" time="0.031" failures="0" + name="ch.hortis.sonar.mvn.mc.JDependsCollectorTest"> + <properties> + <property value="Java(TM) 2 Runtime Environment, Standard Edition" name="java.runtime.name"/> + <property value="/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Libraries" + name="sun.boot.library.path"/> + <property value="1.5.0_06-64" name="java.vm.version"/> + <property value="true" name="awt.nativeDoubleBuffering"/> + <property value="false" name="gopherProxySet"/> + <property value=""Apple Computer, Inc."" name="java.vm.vendor"/> + <property value="http://apple.com/" name="java.vendor.url"/> + <property value=":" name="path.separator"/> + <property value="Java HotSpot(TM) Client VM" name="java.vm.name"/> + <property value="sun.io" name="file.encoding.pkg"/> + <property value="FR" name="user.country"/> + <property value="unknown" name="sun.os.patch.level"/> + <property value="Java Virtual Machine Specification" name="java.vm.specification.name"/> + <property value="/Users/cmunger/Documents/workspace/sonar/sonar-maven-plugin" name="user.dir"/> + <property value="1.5.0_06-112" name="java.runtime.version"/> + <property value="apple.awt.CGraphicsEnvironment" name="java.awt.graphicsenv"/> + <property value="/Users/cmunger/Documents/workspace/sonar/sonar-maven-plugin" name="basedir"/> + <property value="/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home/lib/endorsed" + name="java.endorsed.dirs"/> + <property value="ppc" name="os.arch"/> + <property value="/tmp" name="java.io.tmpdir"/> + <property value=" +" name="line.separator"/> + <property value="Sun Microsystems Inc." name="java.vm.specification.vendor"/> + <property value="Mac OS X" name="os.name"/> + <property value="MacRoman" name="sun.jnu.encoding"/> + <property value=".:/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java" + name="java.library.path"/> + <property value="Java Platform API Specification" name="java.specification.name"/> + <property value="49.0" name="java.class.version"/> + <property value="HotSpot Client Compiler" name="sun.management.compiler"/> + <property value="10.4.8" name="os.version"/> + <property value="/Users/cmunger" name="user.home"/> + <property value="Europe/Zurich" name="user.timezone"/> + <property value="apple.awt.CPrinterJob" name="java.awt.printerjob"/> + <property value="MacRoman" name="file.encoding"/> + <property value="1.5" name="java.specification.version"/> + <property value="cmunger" name="user.name"/> + <property + value="/Users/cmunger/.m2/repository/org/apache/maven/surefire/surefire-api/2.0/surefire-api-2.0.jar:/Users/cmunger/.m2/repository/org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.jar:/Users/cmunger/.m2/repository/org/apache/maven/surefire/surefire-booter/2.0/surefire-booter-2.0.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/.compatibility/14compatibility.jar" + name="java.class.path"/> + <property value="1.0" name="java.vm.specification.version"/> + <property value="32" name="sun.arch.data.model"/> + <property value="/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home" name="java.home"/> + <property value="Sun Microsystems Inc." name="java.specification.vendor"/> + <property value="fr" name="user.language"/> + <property value="apple.awt.CToolkit" name="awt.toolkit"/> + <property value="mixed mode, sharing" name="java.vm.info"/> + <property value="1.5.0_06" name="java.version"/> + <property + value="/Library/Java/Extensions:/System/Library/Java/Extensions:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home/lib/ext" + name="java.ext.dirs"/> + <property + value="/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/classes.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/ui.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/laf.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/sunrsasign.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/jsse.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/jce.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/charsets.jar" + name="sun.boot.class.path"/> + <property value="Apple Computer, Inc." name="java.vendor"/> + <property value="/Users/cmunger/.m2/repository" name="localRepository"/> + <property value="/" name="file.separator"/> + <property value="http://developer.apple.com/java/" name="java.vendor.url.bug"/> + <property value="big" name="sun.cpu.endian"/> + <property value="UnicodeBig" name="sun.io.unicode.encoding"/> + <property value="1040.1.5.0_06-112" name="mrj.version"/> + <property value="" name="sun.cpu.isalist"/> + </properties> + <testcase time="0.035" name="testGetUnKnownCollector"/> + <testcase time="0" name="testGetJDependsCollector"/> + <testcase time="0" name="testGetJavaNCSSCollector"/> + <testcase time="0" name="testGetCloverCollector"/> + <testcase time="0.644" name="testCollectWithoutPluginConfiguration"/> + <testcase time="0.015" name="testCollectWithPluginConfiguration"/> + <testcase time="0.044" name="testCollectWithoutPluginConfiguration"/> + <testcase time="0.013" name="testCollectWithPluginConfiguration"/> + <testcase time="0.024" name="testGetEmptyJdbcPassword"/> + <testcase time="6.889" name="testPopulateWithoutAnyReport"/> + <testcase time="0.697" name="testPopulateWithJavaNcssReport"/> + <testcase time="0.665" name="testPopulateWithJDependsReport"/> + <testcase time="0.283" name="testPopulateWithCloverReport"/> + <testcase time="0.592" name="testPopulateWithCheckstyleReport"/> + <testcase time="0.014" name="testCollectWithoutPluginConfiguration"/> + <testcase time="0.001" name="testCollectWithPluginConfiguration"/> +</testsuite>
\ No newline at end of file diff --git a/plugins/sonar-surefire-plugin/src/test/resources/org/sonar/plugins/surefire/api/AbstractSurefireParserTest/multipleReports/TEST-ch.hortis.sonar.mvn.mc.JavaNCSSCollectorTest.xml b/plugins/sonar-surefire-plugin/src/test/resources/org/sonar/plugins/surefire/api/AbstractSurefireParserTest/multipleReports/TEST-ch.hortis.sonar.mvn.mc.JavaNCSSCollectorTest.xml new file mode 100644 index 00000000000..693f3fa3bf8 --- /dev/null +++ b/plugins/sonar-surefire-plugin/src/test/resources/org/sonar/plugins/surefire/api/AbstractSurefireParserTest/multipleReports/TEST-ch.hortis.sonar.mvn.mc.JavaNCSSCollectorTest.xml @@ -0,0 +1,88 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<testsuite errors="0" skipped="0" tests="2" time="0.08" failures="0" + name="ch.hortis.sonar.mvn.mc.JavaNCSSCollectorTest"> + <properties> + <property value="Java(TM) 2 Runtime Environment, Standard Edition" name="java.runtime.name"/> + <property value="/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Libraries" + name="sun.boot.library.path"/> + <property value="1.5.0_06-64" name="java.vm.version"/> + <property value="true" name="awt.nativeDoubleBuffering"/> + <property value="false" name="gopherProxySet"/> + <property value=""Apple Computer, Inc."" name="java.vm.vendor"/> + <property value="http://apple.com/" name="java.vendor.url"/> + <property value=":" name="path.separator"/> + <property value="Java HotSpot(TM) Client VM" name="java.vm.name"/> + <property value="sun.io" name="file.encoding.pkg"/> + <property value="FR" name="user.country"/> + <property value="unknown" name="sun.os.patch.level"/> + <property value="Java Virtual Machine Specification" name="java.vm.specification.name"/> + <property value="/Users/cmunger/Documents/workspace/sonar/sonar-maven-plugin" name="user.dir"/> + <property value="1.5.0_06-112" name="java.runtime.version"/> + <property value="apple.awt.CGraphicsEnvironment" name="java.awt.graphicsenv"/> + <property value="/Users/cmunger/Documents/workspace/sonar/sonar-maven-plugin" name="basedir"/> + <property value="/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home/lib/endorsed" + name="java.endorsed.dirs"/> + <property value="ppc" name="os.arch"/> + <property value="/tmp" name="java.io.tmpdir"/> + <property value=" +" name="line.separator"/> + <property value="Sun Microsystems Inc." name="java.vm.specification.vendor"/> + <property value="Mac OS X" name="os.name"/> + <property value="MacRoman" name="sun.jnu.encoding"/> + <property value=".:/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java" + name="java.library.path"/> + <property value="Java Platform API Specification" name="java.specification.name"/> + <property value="49.0" name="java.class.version"/> + <property value="HotSpot Client Compiler" name="sun.management.compiler"/> + <property value="10.4.8" name="os.version"/> + <property value="/Users/cmunger" name="user.home"/> + <property value="Europe/Zurich" name="user.timezone"/> + <property value="apple.awt.CPrinterJob" name="java.awt.printerjob"/> + <property value="MacRoman" name="file.encoding"/> + <property value="1.5" name="java.specification.version"/> + <property value="cmunger" name="user.name"/> + <property + value="/Users/cmunger/.m2/repository/org/apache/maven/surefire/surefire-api/2.0/surefire-api-2.0.jar:/Users/cmunger/.m2/repository/org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.jar:/Users/cmunger/.m2/repository/org/apache/maven/surefire/surefire-booter/2.0/surefire-booter-2.0.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/.compatibility/14compatibility.jar" + name="java.class.path"/> + <property value="1.0" name="java.vm.specification.version"/> + <property value="32" name="sun.arch.data.model"/> + <property value="/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home" name="java.home"/> + <property value="Sun Microsystems Inc." name="java.specification.vendor"/> + <property value="fr" name="user.language"/> + <property value="apple.awt.CToolkit" name="awt.toolkit"/> + <property value="mixed mode, sharing" name="java.vm.info"/> + <property value="1.5.0_06" name="java.version"/> + <property + value="/Library/Java/Extensions:/System/Library/Java/Extensions:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home/lib/ext" + name="java.ext.dirs"/> + <property + value="/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/classes.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/ui.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/laf.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/sunrsasign.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/jsse.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/jce.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/charsets.jar" + name="sun.boot.class.path"/> + <property value="Apple Computer, Inc." name="java.vendor"/> + <property value="/Users/cmunger/.m2/repository" name="localRepository"/> + <property value="/" name="file.separator"/> + <property value="http://developer.apple.com/java/" name="java.vendor.url.bug"/> + <property value="big" name="sun.cpu.endian"/> + <property value="UnicodeBig" name="sun.io.unicode.encoding"/> + <property value="1040.1.5.0_06-112" name="mrj.version"/> + <property value="" name="sun.cpu.isalist"/> + </properties> + <testcase time="0.035" name="testGetUnKnownCollector"/> + <testcase time="0" name="testGetJDependsCollector"/> + <testcase time="0" name="testGetJavaNCSSCollector"/> + <testcase time="0" name="testGetCloverCollector"/> + <testcase time="0.644" name="testCollectWithoutPluginConfiguration"/> + <testcase time="0.015" name="testCollectWithPluginConfiguration"/> + <testcase time="0.044" name="testCollectWithoutPluginConfiguration"/> + <testcase time="0.013" name="testCollectWithPluginConfiguration"/> + <testcase time="0.024" name="testGetEmptyJdbcPassword"/> + <testcase time="6.889" name="testPopulateWithoutAnyReport"/> + <testcase time="0.697" name="testPopulateWithJavaNcssReport"/> + <testcase time="0.665" name="testPopulateWithJDependsReport"/> + <testcase time="0.283" name="testPopulateWithCloverReport"/> + <testcase time="0.592" name="testPopulateWithCheckstyleReport"/> + <testcase time="0.014" name="testCollectWithoutPluginConfiguration"/> + <testcase time="0.001" name="testCollectWithPluginConfiguration"/> + <testcase time="0.074" name="testCollectWithoutPluginConfiguration"/> + <testcase time="0.003" name="testCollectWithPluginConfiguration"/> +</testsuite>
\ No newline at end of file diff --git a/plugins/sonar-surefire-plugin/src/test/resources/org/sonar/plugins/surefire/api/AbstractSurefireParserTest/multipleReports/TEST-ch.hortis.sonar.mvn.mc.MetricsCollectorRegistryTest.xml b/plugins/sonar-surefire-plugin/src/test/resources/org/sonar/plugins/surefire/api/AbstractSurefireParserTest/multipleReports/TEST-ch.hortis.sonar.mvn.mc.MetricsCollectorRegistryTest.xml new file mode 100644 index 00000000000..dc3b31ac1da --- /dev/null +++ b/plugins/sonar-surefire-plugin/src/test/resources/org/sonar/plugins/surefire/api/AbstractSurefireParserTest/multipleReports/TEST-ch.hortis.sonar.mvn.mc.MetricsCollectorRegistryTest.xml @@ -0,0 +1,74 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<testsuite errors="0" skipped="0" tests="4" time="0.078" failures="0" + name="ch.hortis.sonar.mvn.mc.MetricsCollectorRegistryTest"> + <properties> + <property value="Java(TM) 2 Runtime Environment, Standard Edition" name="java.runtime.name"/> + <property value="/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Libraries" + name="sun.boot.library.path"/> + <property value="1.5.0_06-64" name="java.vm.version"/> + <property value="true" name="awt.nativeDoubleBuffering"/> + <property value="false" name="gopherProxySet"/> + <property value=""Apple Computer, Inc."" name="java.vm.vendor"/> + <property value="http://apple.com/" name="java.vendor.url"/> + <property value=":" name="path.separator"/> + <property value="Java HotSpot(TM) Client VM" name="java.vm.name"/> + <property value="sun.io" name="file.encoding.pkg"/> + <property value="FR" name="user.country"/> + <property value="unknown" name="sun.os.patch.level"/> + <property value="Java Virtual Machine Specification" name="java.vm.specification.name"/> + <property value="/Users/cmunger/Documents/workspace/sonar/sonar-maven-plugin" name="user.dir"/> + <property value="1.5.0_06-112" name="java.runtime.version"/> + <property value="apple.awt.CGraphicsEnvironment" name="java.awt.graphicsenv"/> + <property value="/Users/cmunger/Documents/workspace/sonar/sonar-maven-plugin" name="basedir"/> + <property value="/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home/lib/endorsed" + name="java.endorsed.dirs"/> + <property value="ppc" name="os.arch"/> + <property value="/tmp" name="java.io.tmpdir"/> + <property value=" +" name="line.separator"/> + <property value="Sun Microsystems Inc." name="java.vm.specification.vendor"/> + <property value="Mac OS X" name="os.name"/> + <property value="MacRoman" name="sun.jnu.encoding"/> + <property value=".:/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java" + name="java.library.path"/> + <property value="Java Platform API Specification" name="java.specification.name"/> + <property value="49.0" name="java.class.version"/> + <property value="HotSpot Client Compiler" name="sun.management.compiler"/> + <property value="10.4.8" name="os.version"/> + <property value="/Users/cmunger" name="user.home"/> + <property value="" name="user.timezone"/> + <property value="apple.awt.CPrinterJob" name="java.awt.printerjob"/> + <property value="MacRoman" name="file.encoding"/> + <property value="1.5" name="java.specification.version"/> + <property value="cmunger" name="user.name"/> + <property + value="/Users/cmunger/.m2/repository/org/apache/maven/surefire/surefire-api/2.0/surefire-api-2.0.jar:/Users/cmunger/.m2/repository/org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.jar:/Users/cmunger/.m2/repository/org/apache/maven/surefire/surefire-booter/2.0/surefire-booter-2.0.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/.compatibility/14compatibility.jar" + name="java.class.path"/> + <property value="1.0" name="java.vm.specification.version"/> + <property value="32" name="sun.arch.data.model"/> + <property value="/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home" name="java.home"/> + <property value="Sun Microsystems Inc." name="java.specification.vendor"/> + <property value="fr" name="user.language"/> + <property value="apple.awt.CToolkit" name="awt.toolkit"/> + <property value="mixed mode, sharing" name="java.vm.info"/> + <property value="1.5.0_06" name="java.version"/> + <property + value="/Library/Java/Extensions:/System/Library/Java/Extensions:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home/lib/ext" + name="java.ext.dirs"/> + <property + value="/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/classes.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/ui.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/laf.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/sunrsasign.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/jsse.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/jce.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/charsets.jar" + name="sun.boot.class.path"/> + <property value="Apple Computer, Inc." name="java.vendor"/> + <property value="/Users/cmunger/.m2/repository" name="localRepository"/> + <property value="/" name="file.separator"/> + <property value="http://developer.apple.com/java/" name="java.vendor.url.bug"/> + <property value="big" name="sun.cpu.endian"/> + <property value="UnicodeBig" name="sun.io.unicode.encoding"/> + <property value="1040.1.5.0_06-112" name="mrj.version"/> + <property value="" name="sun.cpu.isalist"/> + </properties> + <testcase time="0.035" name="testGetUnKnownCollector"/> + <testcase time="0" name="testGetJDependsCollector"/> + <testcase time="0" name="testGetJavaNCSSCollector"/> + <testcase time="0" name="testGetCloverCollector"/> +</testsuite>
\ No newline at end of file diff --git a/plugins/sonar-surefire-plugin/src/test/resources/org/sonar/plugins/surefire/api/AbstractSurefireParserTest/noReports/hack b/plugins/sonar-surefire-plugin/src/test/resources/org/sonar/plugins/surefire/api/AbstractSurefireParserTest/noReports/hack new file mode 100644 index 00000000000..e69de29bb2d --- /dev/null +++ b/plugins/sonar-surefire-plugin/src/test/resources/org/sonar/plugins/surefire/api/AbstractSurefireParserTest/noReports/hack diff --git a/plugins/sonar-surefire-plugin/src/test/resources/org/sonar/plugins/surefire/SurefireSensorTest/doNotInsertZeroTestsOnClasses/TEST-noTests.xml b/plugins/sonar-surefire-plugin/src/test/resources/org/sonar/plugins/surefire/api/AbstractSurefireParserTest/noTests/TEST-noTests.xml index fb55bf567aa..fb55bf567aa 100644 --- a/plugins/sonar-surefire-plugin/src/test/resources/org/sonar/plugins/surefire/SurefireSensorTest/doNotInsertZeroTestsOnClasses/TEST-noTests.xml +++ b/plugins/sonar-surefire-plugin/src/test/resources/org/sonar/plugins/surefire/api/AbstractSurefireParserTest/noTests/TEST-noTests.xml diff --git a/plugins/sonar-surefire-plugin/src/test/resources/org/sonar/plugins/surefire/data/SurefireStaxHandlerTest/errorsAndFailures.xml b/plugins/sonar-surefire-plugin/src/test/resources/org/sonar/plugins/surefire/data/SurefireStaxHandlerTest/errorsAndFailures.xml new file mode 100644 index 00000000000..950b8474621 --- /dev/null +++ b/plugins/sonar-surefire-plugin/src/test/resources/org/sonar/plugins/surefire/data/SurefireStaxHandlerTest/errorsAndFailures.xml @@ -0,0 +1,160 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<testsuite errors="1" skipped="0" tests="2" time="0.032" failures="1" name="org.sonar.Foo"> + <properties> + <property value="Apple Inc." name="java.vendor"/> + <property value="/Users/cmunger/.m2/repository" name="localRepository"/> + <property value="../Resources/Eclipse.icns" name="env.APP_ICON_175"/> + <property value="SUN_STANDARD" name="sun.java.launcher"/> + <property value="HotSpot Client Compiler" name="sun.management.compiler"/> + <property value="6b0270" name="env.SECURITYSESSIONID"/> + <property value="Mac OS X" name="os.name"/> + <property + value="/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/classes.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/ui.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/laf.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/sunrsasign.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/jsse.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/jce.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/charsets.jar" + name="sun.boot.class.path"/> + <property value="/var/folders/Ea/Ea1AbxXfF6u1WpNRWAq8q++++TI/-Tmp-/" name="env.TMPDIR"/> + <property value="Sun Microsystems Inc." name="java.vm.specification.vendor"/> + <property value="1.5.0_16-b06-284" name="java.runtime.version"/> + <property value="/tmp/launch-sNnktt/Render" name="env.Apple_PubSub_Socket_Render"/> + <property value="/tmp/launch-fxz1jZ/:0" name="env.DISPLAY"/> + <property value="cmunger" name="user.name"/> + <property value="cmunger" name="env.USER"/> + <property value="/bin/bash" name="env.SHELL"/> + <property value="0x1F5:0:0" name="env.__CF_USER_TEXT_ENCODING"/> + <property value="true" name="awt.nativeDoubleBuffering"/> + <property value="/usr/bin:/bin:/usr/sbin:/sbin" name="env.PATH"/> + <property value="en" name="user.language"/> + <property value="./testDBStop52578" name="derby.system.home"/> + <property value="/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Libraries" + name="sun.boot.library.path"/> + <property value="/usr/share/apache-maven-2.0.9/bin/m2.conf" name="classworlds.conf"/> + <property value="1.5.0_16" name="java.version"/> + <property value="Europe/Zurich" name="user.timezone"/> + <property value="32" name="sun.arch.data.model"/> + <property value="local|*.local|169.254/16|*.169.254/16" name="http.nonProxyHosts"/> + <property value="/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home/lib/endorsed" + name="java.endorsed.dirs"/> + <property value="" name="sun.cpu.isalist"/> + <property value="MacRoman" name="sun.jnu.encoding"/> + <property value="sun.io" name="file.encoding.pkg"/> + <property value="/" name="file.separator"/> + <property value="Java Platform API Specification" name="java.specification.name"/> + <property value="49.0" name="java.class.version"/> + <property value="US" name="user.country"/> + <property value="/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home" name="java.home"/> + <property value="mixed mode, sharing" name="java.vm.info"/> + <property value="cmunger" name="env.LOGNAME"/> + <property value="10.5.6" name="os.version"/> + <property value=":" name="path.separator"/> + <property value="org.codehaus.classworlds.Launcher" name="env.JAVA_MAIN_CLASS_1410"/> + <property value="1.5.0_16-133" name="java.vm.version"/> + <property value="apple.awt.CPrinterJob" name="java.awt.printerjob"/> + <property value="UnicodeLittle" name="sun.io.unicode.encoding"/> + <property value="apple.awt.CToolkit" name="awt.toolkit"/> + <property value="local|*.local|169.254/16|*.169.254/16" name="socksNonProxyHosts"/> + <property value="1" name="env.JAVA_STARTED_ON_FIRST_THREAD_175"/> + <property value="local|*.local|169.254/16|*.169.254/16" name="ftp.nonProxyHosts"/> + <property value="/Users/cmunger" name="user.home"/> + <property value="Sun Microsystems Inc." name="java.specification.vendor"/> + <property value=".:/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java" + name="java.library.path"/> + <property value="http://www.apple.com/" name="java.vendor.url"/> + <property value="Apple Inc." name="java.vm.vendor"/> + <property value="false" name="gopherProxySet"/> + <property value="/usr/share/apache-maven-2.0.9" name="maven.home"/> + <property value="Java(TM) 2 Runtime Environment, Standard Edition" name="java.runtime.name"/> + <property value="/usr/share/apache-maven-2.0.9/boot/classworlds-1.1.jar" name="java.class.path"/> + <property value="Java Virtual Machine Specification" name="java.vm.specification.name"/> + <property value="1.0" name="java.vm.specification.version"/> + <property value="little" name="sun.cpu.endian"/> + <property value="unknown" name="sun.os.patch.level"/> + <property value="/Users/cmunger" name="env.HOME"/> + <property + value="/Users/cmunger/dev/workspace/sonar/sonar-core/target/test-classes:/Users/cmunger/dev/workspace/sonar/sonar-core/target/classes:/Users/cmunger/.m2/repository/org/codehaus/sonar/sonar-commons/1.7-SNAPSHOT/sonar-commons-1.7-SNAPSHOT.jar:/Users/cmunger/.m2/repository/org/picocontainer/picocontainer/2.7/picocontainer-2.7.jar:/Users/cmunger/.m2/repository/org/slf4j/slf4j-api/1.5.0/slf4j-api-1.5.0.jar:/Users/cmunger/.m2/repository/org/slf4j/jcl104-over-slf4j/1.4.3/jcl104-over-slf4j-1.4.3.jar:/Users/cmunger/.m2/repository/ch/qos/logback/logback-classic/0.9.9/logback-classic-0.9.9.jar:/Users/cmunger/.m2/repository/ch/qos/logback/logback-core/0.9.9/logback-core-0.9.9.jar:/Users/cmunger/.m2/repository/geronimo-spec/geronimo-spec-jta/1.0-M1/geronimo-spec-jta-1.0-M1.jar:/Users/cmunger/.m2/repository/org/hibernate/hibernate/3.2.6.ga/hibernate-3.2.6.ga.jar:/Users/cmunger/.m2/repository/net/sf/ehcache/ehcache/1.2.3/ehcache-1.2.3.jar:/Users/cmunger/.m2/repository/commons-collections/commons-collections/3.2.1/commons-collections-3.2.1.jar:/Users/cmunger/.m2/repository/asm/asm-attrs/1.5.3/asm-attrs-1.5.3.jar:/Users/cmunger/.m2/repository/dom4j/dom4j/1.6.1/dom4j-1.6.1.jar:/Users/cmunger/.m2/repository/antlr/antlr/2.7.6/antlr-2.7.6.jar:/Users/cmunger/.m2/repository/cglib/cglib/2.1_3/cglib-2.1_3.jar:/Users/cmunger/.m2/repository/asm/asm/1.5.3/asm-1.5.3.jar:/Users/cmunger/.m2/repository/org/hibernate/hibernate-annotations/3.3.1.GA/hibernate-annotations-3.3.1.GA.jar:/Users/cmunger/.m2/repository/org/hibernate/hibernate-commons-annotations/3.3.0.ga/hibernate-commons-annotations-3.3.0.ga.jar:/Users/cmunger/.m2/repository/commons-logging/commons-logging/1.1/commons-logging-1.1.jar:/Users/cmunger/.m2/repository/org/hibernate/ejb3-persistence/1.0.1.GA/ejb3-persistence-1.0.1.GA.jar:/Users/cmunger/.m2/repository/javax/persistence/persistence-api/1.0/persistence-api-1.0.jar:/Users/cmunger/.m2/repository/org/hibernate/hibernate-entitymanager/3.3.1.ga/hibernate-entitymanager-3.3.1.ga.jar:/Users/cmunger/.m2/repository/org/hibernate/hibernate-validator/3.0.0.ga/hibernate-validator-3.0.0.ga.jar:/Users/cmunger/.m2/repository/jboss/javassist/3.3.ga/javassist-3.3.ga.jar:/Users/cmunger/.m2/repository/jboss/jboss-common-core/2.0.4.GA/jboss-common-core-2.0.4.GA.jar:/Users/cmunger/.m2/repository/commons-configuration/commons-configuration/1.5/commons-configuration-1.5.jar:/Users/cmunger/.m2/repository/commons-lang/commons-lang/2.4/commons-lang-2.4.jar:/Users/cmunger/.m2/repository/commons-digester/commons-digester/1.8/commons-digester-1.8.jar:/Users/cmunger/.m2/repository/commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0.jar:/Users/cmunger/.m2/repository/commons-beanutils/commons-beanutils-core/1.7.0/commons-beanutils-core-1.7.0.jar:/Users/cmunger/.m2/repository/commons-io/commons-io/1.4/commons-io-1.4.jar:/Users/cmunger/.m2/repository/commons-dbcp/commons-dbcp/1.2.1/commons-dbcp-1.2.1.jar:/Users/cmunger/.m2/repository/commons-pool/commons-pool/1.2/commons-pool-1.2.jar:/Users/cmunger/.m2/repository/xerces/xercesImpl/2.8.1/xercesImpl-2.8.1.jar:/Users/cmunger/.m2/repository/xml-apis/xml-apis/1.3.03/xml-apis-1.3.03.jar:/Users/cmunger/.m2/repository/org/codehaus/sonar/sonar-commons/1.7-SNAPSHOT/sonar-commons-1.7-SNAPSHOT-tests.jar:/Users/cmunger/.m2/repository/org/codehaus/sonar/sonar-plugin-api/1.7-SNAPSHOT/sonar-plugin-api-1.7-SNAPSHOT.jar:/Users/cmunger/.m2/repository/commons-codec/commons-codec/1.3/commons-codec-1.3.jar:/Users/cmunger/.m2/repository/jfree/jfreechart/1.0.9/jfreechart-1.0.9.jar:/Users/cmunger/.m2/repository/jfree/jcommon/1.0.12/jcommon-1.0.12.jar:/Users/cmunger/.m2/repository/com/thoughtworks/xstream/xstream/1.3/xstream-1.3.jar:/Users/cmunger/.m2/repository/xpp3/xpp3/1.1.3.3/xpp3-1.1.3.3.jar:/Users/cmunger/.m2/repository/org/codehaus/sonar/plugins/sonar-plugin-core/1.7-SNAPSHOT/sonar-plugin-core-1.7-SNAPSHOT.jar:/Users/cmunger/.m2/repository/org/codehaus/sonar/sonar-plugin-api/1.7-SNAPSHOT/sonar-plugin-api-1.7-SNAPSHOT-tests.jar:/Users/cmunger/.m2/repository/mysql/mysql-connector-java/5.0.8/mysql-connector-java-5.0.8.jar:/Users/cmunger/.m2/repository/log4j/log4j/1.2.12/log4j-1.2.12.jar:/Users/cmunger/.m2/repository/logkit/logkit/1.0.1/logkit-1.0.1.jar:/Users/cmunger/.m2/repository/avalon-framework/avalon-framework/4.1.3/avalon-framework-4.1.3.jar:/Users/cmunger/.m2/repository/javax/servlet/servlet-api/2.3/servlet-api-2.3.jar:/Users/cmunger/.m2/repository/org/apache/derby/derby/10.4.1.3/derby-10.4.1.3.jar:/Users/cmunger/.m2/repository/org/apache/derby/derbynet/10.4.1.3/derbynet-10.4.1.3.jar:/Users/cmunger/.m2/repository/junit/junit/4.4/junit-4.4.jar:/Users/cmunger/.m2/repository/org/hamcrest/hamcrest-all/1.1/hamcrest-all-1.1.jar:/Users/cmunger/.m2/repository/org/dbunit/dbunit/2.2/dbunit-2.2.jar:/Users/cmunger/.m2/repository/junit-addons/junit-addons/1.4/junit-addons-1.4.jar:/Users/cmunger/.m2/repository/poi/poi/2.5.1-final-20040804/poi-2.5.1-final-20040804.jar:/Users/cmunger/.m2/repository/hsqldb/hsqldb/1.8.0.7/hsqldb-1.8.0.7.jar:/Users/cmunger/.m2/repository/org/apache/derby/derbyclient/10.4.1.3/derbyclient-10.4.1.3.jar:/Users/cmunger/.m2/repository/org/easymock/easymock/2.3/easymock-2.3.jar:/Users/cmunger/.m2/repository/org/easymock/easymockclassextension/2.3/easymockclassextension-2.3.jar:/Users/cmunger/.m2/repository/cglib/cglib-nodep/2.1_3/cglib-nodep-2.1_3.jar:/Users/cmunger/.m2/repository/xmlunit/xmlunit/1.2/xmlunit-1.2.jar:/Users/cmunger/.m2/repository/org/mockito/mockito-all/1.5/mockito-all-1.5.jar:" + name="surefire.test.class.path"/> + <property value="/tmp" name="java.io.tmpdir"/> + <property value="http://bugreport.apple.com/" name="java.vendor.url.bug"/> + <property value="/tmp/launch-a2Hs8j/Listeners" name="env.SSH_AUTH_SOCK"/> + <property value="legacy" name="env.COMMAND_MODE"/> + <property value="i386" name="os.arch"/> + <property value="apple.awt.CGraphicsEnvironment" name="java.awt.graphicsenv"/> + <property + value="/Library/Java/Extensions:/System/Library/Java/Extensions:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home/lib/ext" + name="java.ext.dirs"/> + <property value="/Users/cmunger/dev/workspace/sonar/sonar-core" name="user.dir"/> + <property value="1050.1.5.0_16-284" name="mrj.version"/> + <property value=" +" name="line.separator"/> + <property value="Java HotSpot(TM) Client VM" name="java.vm.name"/> + <property value="/Users/cmunger/dev/workspace/sonar/sonar-core" name="basedir"/> + <property value="MacRoman" name="file.encoding"/> + <property value="1.5" name="java.specification.version"/> + </properties> + <testcase classname="org.sonar.Foo" time="0.005" name="testOne"> + <failure type="java.lang.AssertionError" message="expected:<2> but was:<1>">java.lang.AssertionError: + expected:<2> but was:<1> + at org.junit.Assert.fail(Assert.java:74) + at org.junit.Assert.failNotEquals(Assert.java:448) + at org.junit.Assert.assertEquals(Assert.java:102) + at org.junit.Assert.assertEquals(Assert.java:323) + at org.junit.Assert.assertEquals(Assert.java:319) + at org.sonar.core.ExtensionsFinderTest.shouldFindJdbcDrivers(ExtensionsFinderTest.java:45) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) + at java.lang.reflect.Method.invoke(Method.java:585) + at org.junit.internal.runners.TestMethod.invoke(TestMethod.java:59) + at org.junit.internal.runners.MethodRoadie.runTestMethod(MethodRoadie.java:98) + at org.junit.internal.runners.MethodRoadie$2.run(MethodRoadie.java:79) + at org.junit.internal.runners.MethodRoadie.runBeforesThenTestThenAfters(MethodRoadie.java:87) + at org.junit.internal.runners.MethodRoadie.runTest(MethodRoadie.java:77) + at org.junit.internal.runners.MethodRoadie.run(MethodRoadie.java:42) + at org.junit.internal.runners.JUnit4ClassRunner.invokeTestMethod(JUnit4ClassRunner.java:88) + at org.junit.internal.runners.JUnit4ClassRunner.runMethods(JUnit4ClassRunner.java:51) + at org.junit.internal.runners.JUnit4ClassRunner$1.run(JUnit4ClassRunner.java:44) + at org.junit.internal.runners.ClassRoadie.runUnprotected(ClassRoadie.java:27) + at org.junit.internal.runners.ClassRoadie.runProtected(ClassRoadie.java:37) + at org.junit.internal.runners.JUnit4ClassRunner.run(JUnit4ClassRunner.java:42) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:62) + at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:140) + at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:127) + at org.apache.maven.surefire.Surefire.run(Surefire.java:177) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) + at java.lang.reflect.Method.invoke(Method.java:585) + at org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:338) + at org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:997) + </failure> + </testcase> + <testcase classname="org.sonar.Foo" time="0" name="testTwo"> + <error type="java.lang.RuntimeException" message="TEST">java.lang.RuntimeException: TEST + at org.sonar.core.ExtensionsFinderTest.shouldFindPlugins(ExtensionsFinderTest.java:57) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) + at java.lang.reflect.Method.invoke(Method.java:585) + at org.junit.internal.runners.TestMethod.invoke(TestMethod.java:59) + at org.junit.internal.runners.MethodRoadie.runTestMethod(MethodRoadie.java:98) + at org.junit.internal.runners.MethodRoadie$2.run(MethodRoadie.java:79) + at org.junit.internal.runners.MethodRoadie.runBeforesThenTestThenAfters(MethodRoadie.java:87) + at org.junit.internal.runners.MethodRoadie.runTest(MethodRoadie.java:77) + at org.junit.internal.runners.MethodRoadie.run(MethodRoadie.java:42) + at org.junit.internal.runners.JUnit4ClassRunner.invokeTestMethod(JUnit4ClassRunner.java:88) + at org.junit.internal.runners.JUnit4ClassRunner.runMethods(JUnit4ClassRunner.java:51) + at org.junit.internal.runners.JUnit4ClassRunner$1.run(JUnit4ClassRunner.java:44) + at org.junit.internal.runners.ClassRoadie.runUnprotected(ClassRoadie.java:27) + at org.junit.internal.runners.ClassRoadie.runProtected(ClassRoadie.java:37) + at org.junit.internal.runners.JUnit4ClassRunner.run(JUnit4ClassRunner.java:42) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:62) + at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:140) + at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:127) + at org.apache.maven.surefire.Surefire.run(Surefire.java:177) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) + at java.lang.reflect.Method.invoke(Method.java:585) + at org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:338) + at org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:997) + </error> + </testcase> +</testsuite>
\ No newline at end of file diff --git a/plugins/sonar-surefire-plugin/src/test/resources/org/sonar/plugins/surefire/data/SurefireStaxHandlerTest/innerClasses.xml b/plugins/sonar-surefire-plugin/src/test/resources/org/sonar/plugins/surefire/data/SurefireStaxHandlerTest/innerClasses.xml new file mode 100644 index 00000000000..e3f5933ba48 --- /dev/null +++ b/plugins/sonar-surefire-plugin/src/test/resources/org/sonar/plugins/surefire/data/SurefireStaxHandlerTest/innerClasses.xml @@ -0,0 +1,71 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<testsuite failures="0" time="157.199" errors="18" skipped="0" tests="13025" + name="org.apache.commons.collections.TestAllPackages"> + <properties> + <property name="java.runtime.name" value="Java(TM) SE Runtime Environment"/> + <property name="sun.boot.library.path" + value="/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Libraries"/> + <property name="java.vm.version" value="11.3-b02-83"/> + </properties> + <testcase time="0.012" classname="org.apache.commons.collections.bidimap.AbstractTestBidiMap" + name="testMapEntrySetIteratorEntrySetValueCrossCheck"/> + <testcase time="0.001" classname="org.apache.commons.collections.bidimap.AbstractTestBidiMap" + name="testMapEntrySetIteratorEntry"/> + <testcase time="0.001" classname="org.apache.commons.collections.bidimap.AbstractTestBidiMap$TestBidiMapEntrySet" + name="testCanonicalEmptyCollectionExists"/> + <testcase time="0" classname="org.apache.commons.collections.bidimap.AbstractTestBidiMap$TestBidiMapEntrySet" + name="testCanonicalFullCollectionExists"/> + <testcase time="0.03" classname="org.apache.commons.collections.bidimap.AbstractTestBidiMap$TestInverseBidiMap" + name="testMapPut"/> + <testcase time="0" classname="org.apache.commons.collections.bidimap.AbstractTestBidiMap$TestInverseBidiMap" + name="testMapPutNullKey"/> + <testcase time="0.001" classname="org.apache.commons.collections.bidimap.AbstractTestBidiMap$TestInverseBidiMap" + name="testMapPutNullValue"> + <error + message="org.apache.commons.collections.FastArrayList; local class incompatible: stream classdesc serialVersionUID = 1566341225434603896, local class serialVersionUID = 7918928878747177577" + type="java.io.InvalidClassException">java.io.InvalidClassException: + org.apache.commons.collections.FastArrayList; + local class incompatible: stream classdesc serialVersionUID = 1566341225434603896, local class serialVersionUID = + 7918928878747177577 + at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:562) + at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1583) + at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1496) + at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1732) + at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329) + at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351) + at org.apache.commons.collections.AbstractTestObject.readExternalFormFromStream(AbstractTestObject.java:326) + at org.apache.commons.collections.AbstractTestObject.readExternalFormFromDisk(AbstractTestObject.java:301) + at org.apache.commons.collections.list.AbstractTestList.testEmptyListCompatibility(AbstractTestList.java:1077) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) + at java.lang.reflect.Method.invoke(Method.java:597) + at junit.framework.TestCase.runTest(TestCase.java:154) + at junit.framework.TestCase.runBare(TestCase.java:127) + at junit.framework.TestResult$1.protect(TestResult.java:106) + at junit.framework.TestResult.runProtected(TestResult.java:124) + at junit.framework.TestResult.run(TestResult.java:109) + at junit.framework.TestCase.run(TestCase.java:118) + at junit.framework.TestSuite.runTest(TestSuite.java:208) + at junit.framework.TestSuite.run(TestSuite.java:203) + at junit.framework.TestSuite.runTest(TestSuite.java:208) + at junit.framework.TestSuite.run(TestSuite.java:203) + at junit.framework.TestSuite.runTest(TestSuite.java:208) + at junit.framework.TestSuite.run(TestSuite.java:203) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) + at java.lang.reflect.Method.invoke(Method.java:597) + at org.apache.maven.surefire.junit.JUnitTestSet.execute(JUnitTestSet.java:213) + at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:140) + at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:127) + at org.apache.maven.surefire.Surefire.run(Surefire.java:177) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) + at java.lang.reflect.Method.invoke(Method.java:597) + at org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:345) + at org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:1009) + </error> + </testcase> +</testsuite>
\ No newline at end of file diff --git a/plugins/sonar-surefire-plugin/src/test/resources/org/sonar/plugins/surefire/data/SurefireStaxHandlerTest/multipleSuites.xml b/plugins/sonar-surefire-plugin/src/test/resources/org/sonar/plugins/surefire/data/SurefireStaxHandlerTest/multipleSuites.xml new file mode 100644 index 00000000000..e5bd8c0cdf2 --- /dev/null +++ b/plugins/sonar-surefire-plugin/src/test/resources/org/sonar/plugins/surefire/data/SurefireStaxHandlerTest/multipleSuites.xml @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<testsuites> +<testsuite errors="0" skipped="1" tests="11" time="0.08" failures="0" + name="org.sonar.JavaNCSSCollectorTest"> + <testcase time="0.013" name="testCollectWithPluginConfiguration"/> + <testcase time="0.024" name="testGetEmptyJdbcPassword"/> + <testcase time="6.889" name="testPopulateWithoutAnyReport"/> + <testcase time="0.697" name="testPopulateWithJavaNcssReport"/> + <testcase time="0.665" name="testPopulateWithJDependsReport"/> + <testcase time="0.283" name="testPopulateWithCloverReport"/> + <testcase time="0.592" name="testPopulateWithCheckstyleReport"/> + <testcase time="0.014" name="testCollectWithoutPluginConfiguration"/> + <testcase time="0.001" name="testCollectWithPluginConfiguration"/> + <testcase time="0.074" name="testCollectWithoutPluginConfiguration"/> + <testcase time="0.003" name="testCollectWithPluginConfiguration"/> +</testsuite> +<testsuite errors="0" skipped="1" tests="4" time="0.08" failures="0" + name="org.sonar.SecondTest"> + <testcase time="0.014" name="testCollectWithoutPluginConfiguration"/> + <testcase time="0.001" name="testCollectWithPluginConfiguration"/> + <testcase time="0.074" name="testCollectWithoutPluginConfiguration"/> + <testcase time="0.003" name="testCollectWithPluginConfiguration"/> +</testsuite> +</testsuites>
\ No newline at end of file diff --git a/plugins/sonar-surefire-plugin/src/test/resources/org/sonar/plugins/surefire/data/SurefireStaxHandlerTest/rootPackage.xml b/plugins/sonar-surefire-plugin/src/test/resources/org/sonar/plugins/surefire/data/SurefireStaxHandlerTest/rootPackage.xml new file mode 100644 index 00000000000..d3bb90a58f8 --- /dev/null +++ b/plugins/sonar-surefire-plugin/src/test/resources/org/sonar/plugins/surefire/data/SurefireStaxHandlerTest/rootPackage.xml @@ -0,0 +1,94 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<testsuite errors="0" skipped="0" tests="2" time="0.032" failures="0" name="NoPackagesTest"> + <properties> + <property value="Apple Inc." name="java.vendor"/> + <property value="/Users/cmunger/.m2/repository" name="localRepository"/> + <property value="../Resources/Eclipse.icns" name="env.APP_ICON_175"/> + <property value="SUN_STANDARD" name="sun.java.launcher"/> + <property value="HotSpot Client Compiler" name="sun.management.compiler"/> + <property value="6b0270" name="env.SECURITYSESSIONID"/> + <property value="Mac OS X" name="os.name"/> + <property + value="/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/classes.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/ui.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/laf.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/sunrsasign.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/jsse.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/jce.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/charsets.jar" + name="sun.boot.class.path"/> + <property value="/var/folders/Ea/Ea1AbxXfF6u1WpNRWAq8q++++TI/-Tmp-/" name="env.TMPDIR"/> + <property value="Sun Microsystems Inc." name="java.vm.specification.vendor"/> + <property value="1.5.0_16-b06-284" name="java.runtime.version"/> + <property value="/tmp/launch-sNnktt/Render" name="env.Apple_PubSub_Socket_Render"/> + <property value="/tmp/launch-fxz1jZ/:0" name="env.DISPLAY"/> + <property value="cmunger" name="user.name"/> + <property value="cmunger" name="env.USER"/> + <property value="/bin/bash" name="env.SHELL"/> + <property value="0x1F5:0:0" name="env.__CF_USER_TEXT_ENCODING"/> + <property value="true" name="awt.nativeDoubleBuffering"/> + <property value="/usr/bin:/bin:/usr/sbin:/sbin" name="env.PATH"/> + <property value="en" name="user.language"/> + <property value="./testDBStop52578" name="derby.system.home"/> + <property value="/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Libraries" + name="sun.boot.library.path"/> + <property value="/usr/share/apache-maven-2.0.9/bin/m2.conf" name="classworlds.conf"/> + <property value="1.5.0_16" name="java.version"/> + <property value="Europe/Zurich" name="user.timezone"/> + <property value="32" name="sun.arch.data.model"/> + <property value="local|*.local|169.254/16|*.169.254/16" name="http.nonProxyHosts"/> + <property value="/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home/lib/endorsed" + name="java.endorsed.dirs"/> + <property value="" name="sun.cpu.isalist"/> + <property value="MacRoman" name="sun.jnu.encoding"/> + <property value="sun.io" name="file.encoding.pkg"/> + <property value="/" name="file.separator"/> + <property value="Java Platform API Specification" name="java.specification.name"/> + <property value="49.0" name="java.class.version"/> + <property value="US" name="user.country"/> + <property value="/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home" name="java.home"/> + <property value="mixed mode, sharing" name="java.vm.info"/> + <property value="cmunger" name="env.LOGNAME"/> + <property value="10.5.6" name="os.version"/> + <property value=":" name="path.separator"/> + <property value="org.codehaus.classworlds.Launcher" name="env.JAVA_MAIN_CLASS_1410"/> + <property value="1.5.0_16-133" name="java.vm.version"/> + <property value="apple.awt.CPrinterJob" name="java.awt.printerjob"/> + <property value="UnicodeLittle" name="sun.io.unicode.encoding"/> + <property value="apple.awt.CToolkit" name="awt.toolkit"/> + <property value="local|*.local|169.254/16|*.169.254/16" name="socksNonProxyHosts"/> + <property value="1" name="env.JAVA_STARTED_ON_FIRST_THREAD_175"/> + <property value="local|*.local|169.254/16|*.169.254/16" name="ftp.nonProxyHosts"/> + <property value="/Users/cmunger" name="user.home"/> + <property value="Sun Microsystems Inc." name="java.specification.vendor"/> + <property value=".:/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java" + name="java.library.path"/> + <property value="http://www.apple.com/" name="java.vendor.url"/> + <property value="Apple Inc." name="java.vm.vendor"/> + <property value="false" name="gopherProxySet"/> + <property value="/usr/share/apache-maven-2.0.9" name="maven.home"/> + <property value="Java(TM) 2 Runtime Environment, Standard Edition" name="java.runtime.name"/> + <property value="/usr/share/apache-maven-2.0.9/boot/classworlds-1.1.jar" name="java.class.path"/> + <property value="Java Virtual Machine Specification" name="java.vm.specification.name"/> + <property value="1.0" name="java.vm.specification.version"/> + <property value="little" name="sun.cpu.endian"/> + <property value="unknown" name="sun.os.patch.level"/> + <property value="/Users/cmunger" name="env.HOME"/> + <property + value="/Users/cmunger/dev/workspace/sonar/sonar-core/target/test-classes:/Users/cmunger/dev/workspace/sonar/sonar-core/target/classes:/Users/cmunger/.m2/repository/org/codehaus/sonar/sonar-commons/1.7-SNAPSHOT/sonar-commons-1.7-SNAPSHOT.jar:/Users/cmunger/.m2/repository/org/picocontainer/picocontainer/2.7/picocontainer-2.7.jar:/Users/cmunger/.m2/repository/org/slf4j/slf4j-api/1.5.0/slf4j-api-1.5.0.jar:/Users/cmunger/.m2/repository/org/slf4j/jcl104-over-slf4j/1.4.3/jcl104-over-slf4j-1.4.3.jar:/Users/cmunger/.m2/repository/ch/qos/logback/logback-classic/0.9.9/logback-classic-0.9.9.jar:/Users/cmunger/.m2/repository/ch/qos/logback/logback-core/0.9.9/logback-core-0.9.9.jar:/Users/cmunger/.m2/repository/geronimo-spec/geronimo-spec-jta/1.0-M1/geronimo-spec-jta-1.0-M1.jar:/Users/cmunger/.m2/repository/org/hibernate/hibernate/3.2.6.ga/hibernate-3.2.6.ga.jar:/Users/cmunger/.m2/repository/net/sf/ehcache/ehcache/1.2.3/ehcache-1.2.3.jar:/Users/cmunger/.m2/repository/commons-collections/commons-collections/3.2.1/commons-collections-3.2.1.jar:/Users/cmunger/.m2/repository/asm/asm-attrs/1.5.3/asm-attrs-1.5.3.jar:/Users/cmunger/.m2/repository/dom4j/dom4j/1.6.1/dom4j-1.6.1.jar:/Users/cmunger/.m2/repository/antlr/antlr/2.7.6/antlr-2.7.6.jar:/Users/cmunger/.m2/repository/cglib/cglib/2.1_3/cglib-2.1_3.jar:/Users/cmunger/.m2/repository/asm/asm/1.5.3/asm-1.5.3.jar:/Users/cmunger/.m2/repository/org/hibernate/hibernate-annotations/3.3.1.GA/hibernate-annotations-3.3.1.GA.jar:/Users/cmunger/.m2/repository/org/hibernate/hibernate-commons-annotations/3.3.0.ga/hibernate-commons-annotations-3.3.0.ga.jar:/Users/cmunger/.m2/repository/commons-logging/commons-logging/1.1/commons-logging-1.1.jar:/Users/cmunger/.m2/repository/org/hibernate/ejb3-persistence/1.0.1.GA/ejb3-persistence-1.0.1.GA.jar:/Users/cmunger/.m2/repository/javax/persistence/persistence-api/1.0/persistence-api-1.0.jar:/Users/cmunger/.m2/repository/org/hibernate/hibernate-entitymanager/3.3.1.ga/hibernate-entitymanager-3.3.1.ga.jar:/Users/cmunger/.m2/repository/org/hibernate/hibernate-validator/3.0.0.ga/hibernate-validator-3.0.0.ga.jar:/Users/cmunger/.m2/repository/jboss/javassist/3.3.ga/javassist-3.3.ga.jar:/Users/cmunger/.m2/repository/jboss/jboss-common-core/2.0.4.GA/jboss-common-core-2.0.4.GA.jar:/Users/cmunger/.m2/repository/commons-configuration/commons-configuration/1.5/commons-configuration-1.5.jar:/Users/cmunger/.m2/repository/commons-lang/commons-lang/2.4/commons-lang-2.4.jar:/Users/cmunger/.m2/repository/commons-digester/commons-digester/1.8/commons-digester-1.8.jar:/Users/cmunger/.m2/repository/commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0.jar:/Users/cmunger/.m2/repository/commons-beanutils/commons-beanutils-core/1.7.0/commons-beanutils-core-1.7.0.jar:/Users/cmunger/.m2/repository/commons-io/commons-io/1.4/commons-io-1.4.jar:/Users/cmunger/.m2/repository/commons-dbcp/commons-dbcp/1.2.1/commons-dbcp-1.2.1.jar:/Users/cmunger/.m2/repository/commons-pool/commons-pool/1.2/commons-pool-1.2.jar:/Users/cmunger/.m2/repository/xerces/xercesImpl/2.8.1/xercesImpl-2.8.1.jar:/Users/cmunger/.m2/repository/xml-apis/xml-apis/1.3.03/xml-apis-1.3.03.jar:/Users/cmunger/.m2/repository/org/codehaus/sonar/sonar-commons/1.7-SNAPSHOT/sonar-commons-1.7-SNAPSHOT-tests.jar:/Users/cmunger/.m2/repository/org/codehaus/sonar/sonar-plugin-api/1.7-SNAPSHOT/sonar-plugin-api-1.7-SNAPSHOT.jar:/Users/cmunger/.m2/repository/commons-codec/commons-codec/1.3/commons-codec-1.3.jar:/Users/cmunger/.m2/repository/jfree/jfreechart/1.0.9/jfreechart-1.0.9.jar:/Users/cmunger/.m2/repository/jfree/jcommon/1.0.12/jcommon-1.0.12.jar:/Users/cmunger/.m2/repository/com/thoughtworks/xstream/xstream/1.3/xstream-1.3.jar:/Users/cmunger/.m2/repository/xpp3/xpp3/1.1.3.3/xpp3-1.1.3.3.jar:/Users/cmunger/.m2/repository/org/codehaus/sonar/plugins/sonar-plugin-core/1.7-SNAPSHOT/sonar-plugin-core-1.7-SNAPSHOT.jar:/Users/cmunger/.m2/repository/org/codehaus/sonar/sonar-plugin-api/1.7-SNAPSHOT/sonar-plugin-api-1.7-SNAPSHOT-tests.jar:/Users/cmunger/.m2/repository/mysql/mysql-connector-java/5.0.8/mysql-connector-java-5.0.8.jar:/Users/cmunger/.m2/repository/log4j/log4j/1.2.12/log4j-1.2.12.jar:/Users/cmunger/.m2/repository/logkit/logkit/1.0.1/logkit-1.0.1.jar:/Users/cmunger/.m2/repository/avalon-framework/avalon-framework/4.1.3/avalon-framework-4.1.3.jar:/Users/cmunger/.m2/repository/javax/servlet/servlet-api/2.3/servlet-api-2.3.jar:/Users/cmunger/.m2/repository/org/apache/derby/derby/10.4.1.3/derby-10.4.1.3.jar:/Users/cmunger/.m2/repository/org/apache/derby/derbynet/10.4.1.3/derbynet-10.4.1.3.jar:/Users/cmunger/.m2/repository/junit/junit/4.4/junit-4.4.jar:/Users/cmunger/.m2/repository/org/hamcrest/hamcrest-all/1.1/hamcrest-all-1.1.jar:/Users/cmunger/.m2/repository/org/dbunit/dbunit/2.2/dbunit-2.2.jar:/Users/cmunger/.m2/repository/junit-addons/junit-addons/1.4/junit-addons-1.4.jar:/Users/cmunger/.m2/repository/poi/poi/2.5.1-final-20040804/poi-2.5.1-final-20040804.jar:/Users/cmunger/.m2/repository/hsqldb/hsqldb/1.8.0.7/hsqldb-1.8.0.7.jar:/Users/cmunger/.m2/repository/org/apache/derby/derbyclient/10.4.1.3/derbyclient-10.4.1.3.jar:/Users/cmunger/.m2/repository/org/easymock/easymock/2.3/easymock-2.3.jar:/Users/cmunger/.m2/repository/org/easymock/easymockclassextension/2.3/easymockclassextension-2.3.jar:/Users/cmunger/.m2/repository/cglib/cglib-nodep/2.1_3/cglib-nodep-2.1_3.jar:/Users/cmunger/.m2/repository/xmlunit/xmlunit/1.2/xmlunit-1.2.jar:/Users/cmunger/.m2/repository/org/mockito/mockito-all/1.5/mockito-all-1.5.jar:" + name="surefire.test.class.path"/> + <property value="/tmp" name="java.io.tmpdir"/> + <property value="http://bugreport.apple.com/" name="java.vendor.url.bug"/> + <property value="/tmp/launch-a2Hs8j/Listeners" name="env.SSH_AUTH_SOCK"/> + <property value="legacy" name="env.COMMAND_MODE"/> + <property value="i386" name="os.arch"/> + <property value="apple.awt.CGraphicsEnvironment" name="java.awt.graphicsenv"/> + <property + value="/Library/Java/Extensions:/System/Library/Java/Extensions:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home/lib/ext" + name="java.ext.dirs"/> + <property value="/Users/cmunger/dev/workspace/sonar/sonar-core" name="user.dir"/> + <property value="1050.1.5.0_16-284" name="mrj.version"/> + <property value=" +" name="line.separator"/> + <property value="Java HotSpot(TM) Client VM" name="java.vm.name"/> + <property value="/Users/cmunger/dev/workspace/sonar/sonar-core" name="basedir"/> + <property value="MacRoman" name="file.encoding"/> + <property value="1.5" name="java.specification.version"/> + </properties> + <testcase classname="NoPackagesTest" time="0.001" name="test1"/> + <testcase classname="NoPackagesTest" time="0.001" name="test2"/> +</testsuite>
\ No newline at end of file diff --git a/plugins/sonar-surefire-plugin/src/test/resources/org/sonar/plugins/surefire/data/SurefireStaxHandlerTest/skippedTests.xml b/plugins/sonar-surefire-plugin/src/test/resources/org/sonar/plugins/surefire/data/SurefireStaxHandlerTest/skippedTests.xml new file mode 100644 index 00000000000..7268a352cdc --- /dev/null +++ b/plugins/sonar-surefire-plugin/src/test/resources/org/sonar/plugins/surefire/data/SurefireStaxHandlerTest/skippedTests.xml @@ -0,0 +1,133 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<testsuite errors="0" skipped="1" tests="3" time="0.032" failures="1" name="org.sonar.Foo"> + <properties> + <property value="Apple Inc." name="java.vendor"/> + <property value="/Users/cmunger/.m2/repository" name="localRepository"/> + <property value="../Resources/Eclipse.icns" name="env.APP_ICON_175"/> + <property value="SUN_STANDARD" name="sun.java.launcher"/> + <property value="HotSpot Client Compiler" name="sun.management.compiler"/> + <property value="6b0270" name="env.SECURITYSESSIONID"/> + <property value="Mac OS X" name="os.name"/> + <property + value="/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/classes.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/ui.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/laf.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/sunrsasign.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/jsse.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/jce.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/charsets.jar" + name="sun.boot.class.path"/> + <property value="/var/folders/Ea/Ea1AbxXfF6u1WpNRWAq8q++++TI/-Tmp-/" name="env.TMPDIR"/> + <property value="Sun Microsystems Inc." name="java.vm.specification.vendor"/> + <property value="1.5.0_16-b06-284" name="java.runtime.version"/> + <property value="/tmp/launch-sNnktt/Render" name="env.Apple_PubSub_Socket_Render"/> + <property value="/tmp/launch-fxz1jZ/:0" name="env.DISPLAY"/> + <property value="cmunger" name="user.name"/> + <property value="cmunger" name="env.USER"/> + <property value="/bin/bash" name="env.SHELL"/> + <property value="0x1F5:0:0" name="env.__CF_USER_TEXT_ENCODING"/> + <property value="true" name="awt.nativeDoubleBuffering"/> + <property value="/usr/bin:/bin:/usr/sbin:/sbin" name="env.PATH"/> + <property value="en" name="user.language"/> + <property value="./testDBStop52578" name="derby.system.home"/> + <property value="/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Libraries" + name="sun.boot.library.path"/> + <property value="/usr/share/apache-maven-2.0.9/bin/m2.conf" name="classworlds.conf"/> + <property value="1.5.0_16" name="java.version"/> + <property value="Europe/Zurich" name="user.timezone"/> + <property value="32" name="sun.arch.data.model"/> + <property value="local|*.local|169.254/16|*.169.254/16" name="http.nonProxyHosts"/> + <property value="/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home/lib/endorsed" + name="java.endorsed.dirs"/> + <property value="" name="sun.cpu.isalist"/> + <property value="MacRoman" name="sun.jnu.encoding"/> + <property value="sun.io" name="file.encoding.pkg"/> + <property value="/" name="file.separator"/> + <property value="Java Platform API Specification" name="java.specification.name"/> + <property value="49.0" name="java.class.version"/> + <property value="US" name="user.country"/> + <property value="/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home" name="java.home"/> + <property value="mixed mode, sharing" name="java.vm.info"/> + <property value="cmunger" name="env.LOGNAME"/> + <property value="10.5.6" name="os.version"/> + <property value=":" name="path.separator"/> + <property value="org.codehaus.classworlds.Launcher" name="env.JAVA_MAIN_CLASS_1410"/> + <property value="1.5.0_16-133" name="java.vm.version"/> + <property value="apple.awt.CPrinterJob" name="java.awt.printerjob"/> + <property value="UnicodeLittle" name="sun.io.unicode.encoding"/> + <property value="apple.awt.CToolkit" name="awt.toolkit"/> + <property value="local|*.local|169.254/16|*.169.254/16" name="socksNonProxyHosts"/> + <property value="1" name="env.JAVA_STARTED_ON_FIRST_THREAD_175"/> + <property value="local|*.local|169.254/16|*.169.254/16" name="ftp.nonProxyHosts"/> + <property value="/Users/cmunger" name="user.home"/> + <property value="Sun Microsystems Inc." name="java.specification.vendor"/> + <property value=".:/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java" + name="java.library.path"/> + <property value="http://www.apple.com/" name="java.vendor.url"/> + <property value="Apple Inc." name="java.vm.vendor"/> + <property value="false" name="gopherProxySet"/> + <property value="/usr/share/apache-maven-2.0.9" name="maven.home"/> + <property value="Java(TM) 2 Runtime Environment, Standard Edition" name="java.runtime.name"/> + <property value="/usr/share/apache-maven-2.0.9/boot/classworlds-1.1.jar" name="java.class.path"/> + <property value="Java Virtual Machine Specification" name="java.vm.specification.name"/> + <property value="1.0" name="java.vm.specification.version"/> + <property value="little" name="sun.cpu.endian"/> + <property value="unknown" name="sun.os.patch.level"/> + <property value="/Users/cmunger" name="env.HOME"/> + <property + value="/Users/cmunger/dev/workspace/sonar/sonar-core/target/test-classes:/Users/cmunger/dev/workspace/sonar/sonar-core/target/classes:/Users/cmunger/.m2/repository/org/codehaus/sonar/sonar-commons/1.7-SNAPSHOT/sonar-commons-1.7-SNAPSHOT.jar:/Users/cmunger/.m2/repository/org/picocontainer/picocontainer/2.7/picocontainer-2.7.jar:/Users/cmunger/.m2/repository/org/slf4j/slf4j-api/1.5.0/slf4j-api-1.5.0.jar:/Users/cmunger/.m2/repository/org/slf4j/jcl104-over-slf4j/1.4.3/jcl104-over-slf4j-1.4.3.jar:/Users/cmunger/.m2/repository/ch/qos/logback/logback-classic/0.9.9/logback-classic-0.9.9.jar:/Users/cmunger/.m2/repository/ch/qos/logback/logback-core/0.9.9/logback-core-0.9.9.jar:/Users/cmunger/.m2/repository/geronimo-spec/geronimo-spec-jta/1.0-M1/geronimo-spec-jta-1.0-M1.jar:/Users/cmunger/.m2/repository/org/hibernate/hibernate/3.2.6.ga/hibernate-3.2.6.ga.jar:/Users/cmunger/.m2/repository/net/sf/ehcache/ehcache/1.2.3/ehcache-1.2.3.jar:/Users/cmunger/.m2/repository/commons-collections/commons-collections/3.2.1/commons-collections-3.2.1.jar:/Users/cmunger/.m2/repository/asm/asm-attrs/1.5.3/asm-attrs-1.5.3.jar:/Users/cmunger/.m2/repository/dom4j/dom4j/1.6.1/dom4j-1.6.1.jar:/Users/cmunger/.m2/repository/antlr/antlr/2.7.6/antlr-2.7.6.jar:/Users/cmunger/.m2/repository/cglib/cglib/2.1_3/cglib-2.1_3.jar:/Users/cmunger/.m2/repository/asm/asm/1.5.3/asm-1.5.3.jar:/Users/cmunger/.m2/repository/org/hibernate/hibernate-annotations/3.3.1.GA/hibernate-annotations-3.3.1.GA.jar:/Users/cmunger/.m2/repository/org/hibernate/hibernate-commons-annotations/3.3.0.ga/hibernate-commons-annotations-3.3.0.ga.jar:/Users/cmunger/.m2/repository/commons-logging/commons-logging/1.1/commons-logging-1.1.jar:/Users/cmunger/.m2/repository/org/hibernate/ejb3-persistence/1.0.1.GA/ejb3-persistence-1.0.1.GA.jar:/Users/cmunger/.m2/repository/javax/persistence/persistence-api/1.0/persistence-api-1.0.jar:/Users/cmunger/.m2/repository/org/hibernate/hibernate-entitymanager/3.3.1.ga/hibernate-entitymanager-3.3.1.ga.jar:/Users/cmunger/.m2/repository/org/hibernate/hibernate-validator/3.0.0.ga/hibernate-validator-3.0.0.ga.jar:/Users/cmunger/.m2/repository/jboss/javassist/3.3.ga/javassist-3.3.ga.jar:/Users/cmunger/.m2/repository/jboss/jboss-common-core/2.0.4.GA/jboss-common-core-2.0.4.GA.jar:/Users/cmunger/.m2/repository/commons-configuration/commons-configuration/1.5/commons-configuration-1.5.jar:/Users/cmunger/.m2/repository/commons-lang/commons-lang/2.4/commons-lang-2.4.jar:/Users/cmunger/.m2/repository/commons-digester/commons-digester/1.8/commons-digester-1.8.jar:/Users/cmunger/.m2/repository/commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0.jar:/Users/cmunger/.m2/repository/commons-beanutils/commons-beanutils-core/1.7.0/commons-beanutils-core-1.7.0.jar:/Users/cmunger/.m2/repository/commons-io/commons-io/1.4/commons-io-1.4.jar:/Users/cmunger/.m2/repository/commons-dbcp/commons-dbcp/1.2.1/commons-dbcp-1.2.1.jar:/Users/cmunger/.m2/repository/commons-pool/commons-pool/1.2/commons-pool-1.2.jar:/Users/cmunger/.m2/repository/xerces/xercesImpl/2.8.1/xercesImpl-2.8.1.jar:/Users/cmunger/.m2/repository/xml-apis/xml-apis/1.3.03/xml-apis-1.3.03.jar:/Users/cmunger/.m2/repository/org/codehaus/sonar/sonar-commons/1.7-SNAPSHOT/sonar-commons-1.7-SNAPSHOT-tests.jar:/Users/cmunger/.m2/repository/org/codehaus/sonar/sonar-plugin-api/1.7-SNAPSHOT/sonar-plugin-api-1.7-SNAPSHOT.jar:/Users/cmunger/.m2/repository/commons-codec/commons-codec/1.3/commons-codec-1.3.jar:/Users/cmunger/.m2/repository/jfree/jfreechart/1.0.9/jfreechart-1.0.9.jar:/Users/cmunger/.m2/repository/jfree/jcommon/1.0.12/jcommon-1.0.12.jar:/Users/cmunger/.m2/repository/com/thoughtworks/xstream/xstream/1.3/xstream-1.3.jar:/Users/cmunger/.m2/repository/xpp3/xpp3/1.1.3.3/xpp3-1.1.3.3.jar:/Users/cmunger/.m2/repository/org/codehaus/sonar/plugins/sonar-plugin-core/1.7-SNAPSHOT/sonar-plugin-core-1.7-SNAPSHOT.jar:/Users/cmunger/.m2/repository/org/codehaus/sonar/sonar-plugin-api/1.7-SNAPSHOT/sonar-plugin-api-1.7-SNAPSHOT-tests.jar:/Users/cmunger/.m2/repository/mysql/mysql-connector-java/5.0.8/mysql-connector-java-5.0.8.jar:/Users/cmunger/.m2/repository/log4j/log4j/1.2.12/log4j-1.2.12.jar:/Users/cmunger/.m2/repository/logkit/logkit/1.0.1/logkit-1.0.1.jar:/Users/cmunger/.m2/repository/avalon-framework/avalon-framework/4.1.3/avalon-framework-4.1.3.jar:/Users/cmunger/.m2/repository/javax/servlet/servlet-api/2.3/servlet-api-2.3.jar:/Users/cmunger/.m2/repository/org/apache/derby/derby/10.4.1.3/derby-10.4.1.3.jar:/Users/cmunger/.m2/repository/org/apache/derby/derbynet/10.4.1.3/derbynet-10.4.1.3.jar:/Users/cmunger/.m2/repository/junit/junit/4.4/junit-4.4.jar:/Users/cmunger/.m2/repository/org/hamcrest/hamcrest-all/1.1/hamcrest-all-1.1.jar:/Users/cmunger/.m2/repository/org/dbunit/dbunit/2.2/dbunit-2.2.jar:/Users/cmunger/.m2/repository/junit-addons/junit-addons/1.4/junit-addons-1.4.jar:/Users/cmunger/.m2/repository/poi/poi/2.5.1-final-20040804/poi-2.5.1-final-20040804.jar:/Users/cmunger/.m2/repository/hsqldb/hsqldb/1.8.0.7/hsqldb-1.8.0.7.jar:/Users/cmunger/.m2/repository/org/apache/derby/derbyclient/10.4.1.3/derbyclient-10.4.1.3.jar:/Users/cmunger/.m2/repository/org/easymock/easymock/2.3/easymock-2.3.jar:/Users/cmunger/.m2/repository/org/easymock/easymockclassextension/2.3/easymockclassextension-2.3.jar:/Users/cmunger/.m2/repository/cglib/cglib-nodep/2.1_3/cglib-nodep-2.1_3.jar:/Users/cmunger/.m2/repository/xmlunit/xmlunit/1.2/xmlunit-1.2.jar:/Users/cmunger/.m2/repository/org/mockito/mockito-all/1.5/mockito-all-1.5.jar:" + name="surefire.test.class.path"/> + <property value="/tmp" name="java.io.tmpdir"/> + <property value="http://bugreport.apple.com/" name="java.vendor.url.bug"/> + <property value="/tmp/launch-a2Hs8j/Listeners" name="env.SSH_AUTH_SOCK"/> + <property value="legacy" name="env.COMMAND_MODE"/> + <property value="i386" name="os.arch"/> + <property value="apple.awt.CGraphicsEnvironment" name="java.awt.graphicsenv"/> + <property + value="/Library/Java/Extensions:/System/Library/Java/Extensions:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home/lib/ext" + name="java.ext.dirs"/> + <property value="/Users/cmunger/dev/workspace/sonar/sonar-core" name="user.dir"/> + <property value="1050.1.5.0_16-284" name="mrj.version"/> + <property value=" +" name="line.separator"/> + <property value="Java HotSpot(TM) Client VM" name="java.vm.name"/> + <property value="/Users/cmunger/dev/workspace/sonar/sonar-core" name="basedir"/> + <property value="MacRoman" name="file.encoding"/> + <property value="1.5" name="java.specification.version"/> + </properties> + <testcase classname="org.sonar.Foo" time="0.005" name="testOne"> + <failure type="java.lang.AssertionError" message="expected:<2> but was:<1>">java.lang.AssertionError: + expected:<2> but was:<1> + at org.junit.Assert.fail(Assert.java:74) + at org.junit.Assert.failNotEquals(Assert.java:448) + at org.junit.Assert.assertEquals(Assert.java:102) + at org.junit.Assert.assertEquals(Assert.java:323) + at org.junit.Assert.assertEquals(Assert.java:319) + at org.sonar.core.ExtensionsFinderTest.shouldFindJdbcDrivers(ExtensionsFinderTest.java:45) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) + at java.lang.reflect.Method.invoke(Method.java:585) + at org.junit.internal.runners.TestMethod.invoke(TestMethod.java:59) + at org.junit.internal.runners.MethodRoadie.runTestMethod(MethodRoadie.java:98) + at org.junit.internal.runners.MethodRoadie$2.run(MethodRoadie.java:79) + at org.junit.internal.runners.MethodRoadie.runBeforesThenTestThenAfters(MethodRoadie.java:87) + at org.junit.internal.runners.MethodRoadie.runTest(MethodRoadie.java:77) + at org.junit.internal.runners.MethodRoadie.run(MethodRoadie.java:42) + at org.junit.internal.runners.JUnit4ClassRunner.invokeTestMethod(JUnit4ClassRunner.java:88) + at org.junit.internal.runners.JUnit4ClassRunner.runMethods(JUnit4ClassRunner.java:51) + at org.junit.internal.runners.JUnit4ClassRunner$1.run(JUnit4ClassRunner.java:44) + at org.junit.internal.runners.ClassRoadie.runUnprotected(ClassRoadie.java:27) + at org.junit.internal.runners.ClassRoadie.runProtected(ClassRoadie.java:37) + at org.junit.internal.runners.JUnit4ClassRunner.run(JUnit4ClassRunner.java:42) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:62) + at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:140) + at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:127) + at org.apache.maven.surefire.Surefire.run(Surefire.java:177) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) + at java.lang.reflect.Method.invoke(Method.java:585) + at org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:338) + at org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:997) + </failure> + </testcase> + <testcase classname="org.sonar.Foo" time="0.20" name="testTwo"/> + <testcase classname="org.sonar.Foo" time="0.10" name="skippedTest"> + <skipped/> + </testcase> +</testsuite>
\ No newline at end of file diff --git a/plugins/sonar-surefire-plugin/src/test/resources/org/sonar/plugins/surefire/data/SurefireStaxHandlerTest/suiteInnerClass.xml b/plugins/sonar-surefire-plugin/src/test/resources/org/sonar/plugins/surefire/data/SurefireStaxHandlerTest/suiteInnerClass.xml new file mode 100644 index 00000000000..9984c04df8d --- /dev/null +++ b/plugins/sonar-surefire-plugin/src/test/resources/org/sonar/plugins/surefire/data/SurefireStaxHandlerTest/suiteInnerClass.xml @@ -0,0 +1,70 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<testsuite errors="0" skipped="1" tests="1" time="0" failures="0" name="org.apache.shindig.protocol.TestHandler$Input"> + <properties> + <property value="Java(TM) 2 Runtime Environment, Standard Edition" name="java.runtime.name"/> + <property value="/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Libraries" name="sun.boot.library.path"/> + <property value="1.5.0_19-137" name="java.vm.version"/> + <property value="true" name="awt.nativeDoubleBuffering"/> + <property value="false" name="gopherProxySet"/> + <property value="Apple Inc." name="java.vm.vendor"/> + <property value="http://www.apple.com/" name="java.vendor.url"/> + <property value=":" name="path.separator"/> + <property value="Java HotSpot(TM) Client VM" name="java.vm.name"/> + <property value="sun.io" name="file.encoding.pkg"/> + <property value="target/test-classes/logging.properties" name="java.util.logging.config.file"/> + <property value="US" name="user.country"/> + <property value="SUN_STANDARD" name="sun.java.launcher"/> + <property value="unknown" name="sun.os.patch.level"/> + <property value="Java Virtual Machine Specification" name="java.vm.specification.name"/> + <property value="/Users/simon/projects/shindig/java/common" name="user.dir"/> + <property value="1.5.0_19-b02-304" name="java.runtime.version"/> + <property value="apple.awt.CGraphicsEnvironment" name="java.awt.graphicsenv"/> + <property value="/Users/simon/projects/shindig/java/common" name="basedir"/> + <property value="/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home/lib/endorsed" name="java.endorsed.dirs"/> + <property value="i386" name="os.arch"/> + <property value="/var/folders/uV/uVfBAWUpFX0gPfeUuu2yaU+++TI/-Tmp-/surefirebooter4356411895122546772.jar" name="surefire.real.class.path"/> + <property value="/var/folders/uV/uVfBAWUpFX0gPfeUuu2yaU+++TI/-Tmp-/" name="java.io.tmpdir"/> + <property value=" +" name="line.separator"/> + <property value="Sun Microsystems Inc." name="java.vm.specification.vendor"/> + <property value="Mac OS X" name="os.name"/> + <property value="MacRoman" name="sun.jnu.encoding"/> + <property value="/Applications/jprofiler5/bin/macos:.:/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java" name="java.library.path"/> + <property value="/Users/simon/projects/shindig/java/common/target/test-classes:/Users/simon/projects/shindig/java/common/target/generated-classes/cobertura:/Users/simon/.m2/repository/net/oauth/core/oauth/20090531/oauth-20090531.jar:/Users/simon/.m2/repository/commons-codec/commons-codec/1.3/commons-codec-1.3.jar:/Users/simon/.m2/repository/aopalliance/aopalliance/1.0/aopalliance-1.0.jar:/Users/simon/.m2/repository/commons-lang/commons-lang/2.4/commons-lang-2.4.jar:/Users/simon/.m2/repository/javax/servlet/servlet-api/2.4/servlet-api-2.4.jar:/Users/simon/.m2/repository/net/sourceforge/cobertura/cobertura/1.9/cobertura-1.9.jar:/Users/simon/.m2/repository/org/apache/ant/ant/1.7.0/ant-1.7.0.jar:/Users/simon/.m2/repository/org/apache/ant/ant-launcher/1.7.0/ant-launcher-1.7.0.jar:/Users/simon/.m2/repository/joda-time/joda-time/1.6/joda-time-1.6.jar:/Users/simon/.m2/repository/net/sf/ehcache/ehcache/1.6.1/ehcache-1.6.1.jar:/Users/simon/.m2/repository/xml-apis/xml-apis/1.3.04/xml-apis-1.3.04.jar:/Users/simon/.m2/repository/de/odysseus/juel/juel-impl/2.1.2/juel-impl-2.1.2.jar:/Users/simon/.m2/repository/de/odysseus/juel/juel-api/2.1.2/juel-api-2.1.2.jar:/Users/simon/.m2/repository/commons-fileupload/commons-fileupload/1.2/commons-fileupload-1.2.jar:/Users/simon/.m2/repository/org/json/json/20070829/json-20070829.jar:/Users/simon/.m2/repository/commons-io/commons-io/1.4/commons-io-1.4.jar:/Users/simon/.m2/repository/com/thoughtworks/xstream/xstream/1.3.1/xstream-1.3.1.jar:/Users/simon/.m2/repository/xpp3/xpp3_min/1.1.4c/xpp3_min-1.1.4c.jar:/Users/simon/.m2/repository/xmlunit/xmlunit/1.2/xmlunit-1.2.jar:/Users/simon/.m2/repository/org/easymock/easymockclassextension/2.4/easymockclassextension-2.4.jar:/Users/simon/.m2/repository/org/easymock/easymock/2.5.1/easymock-2.5.1.jar:/Users/simon/.m2/repository/cglib/cglib-nodep/2.1_3/cglib-nodep-2.1_3.jar:/Users/simon/.m2/repository/junit/junit/4.5/junit-4.5.jar:/Users/simon/.m2/repository/junit-addons/junit-addons/1.4/junit-addons-1.4.jar:/Users/simon/.m2/repository/xerces/xercesImpl/2.9.1/xercesImpl-2.9.1.jar:/Users/simon/.m2/repository/xerces/xmlParserAPIs/2.6.2/xmlParserAPIs-2.6.2.jar:/Users/simon/.m2/repository/com/google/collections/google-collections/1.0-rc2/google-collections-1.0-rc2.jar:/Users/simon/.m2/repository/com/google/code/guice/guice/2.0/guice-2.0.jar:/Users/simon/.m2/repository/commons-betwixt/commons-betwixt/0.8/commons-betwixt-0.8.jar:/Users/simon/.m2/repository/commons-logging/commons-logging/1.0.4/commons-logging-1.0.4.jar:/Users/simon/.m2/repository/commons-beanutils/commons-beanutils-core/1.7.0/commons-beanutils-core-1.7.0.jar:/Users/simon/.m2/repository/commons-collections/commons-collections/3.2.1/commons-collections-3.2.1.jar:/Users/simon/.m2/repository/commons-digester/commons-digester/1.7/commons-digester-1.7.jar:/Users/simon/.m2/repository/commons-beanutils/commons-beanutils/1.6/commons-beanutils-1.6.jar:" name="surefire.test.class.path"/> + <property value="Java Platform API Specification" name="java.specification.name"/> + <property value="49.0" name="java.class.version"/> + <property value="HotSpot Client Compiler" name="sun.management.compiler"/> + <property value="10.5.8" name="os.version"/> + <property value="local|*.local|169.254/16|*.169.254/16" name="http.nonProxyHosts"/> + <property value="/Users/simon" name="user.home"/> + <property value="Europe/Zurich" name="user.timezone"/> + <property value="apple.awt.CPrinterJob" name="java.awt.printerjob"/> + <property value="1.5" name="java.specification.version"/> + <property value="MacRoman" name="file.encoding"/> + <property value="simon" name="user.name"/> + <property value="/Users/simon/projects/shindig/java/common/target/test-classes:/Users/simon/projects/shindig/java/common/target/generated-classes/cobertura:/Users/simon/.m2/repository/net/oauth/core/oauth/20090531/oauth-20090531.jar:/Users/simon/.m2/repository/commons-codec/commons-codec/1.3/commons-codec-1.3.jar:/Users/simon/.m2/repository/aopalliance/aopalliance/1.0/aopalliance-1.0.jar:/Users/simon/.m2/repository/commons-lang/commons-lang/2.4/commons-lang-2.4.jar:/Users/simon/.m2/repository/javax/servlet/servlet-api/2.4/servlet-api-2.4.jar:/Users/simon/.m2/repository/net/sourceforge/cobertura/cobertura/1.9/cobertura-1.9.jar:/Users/simon/.m2/repository/org/apache/ant/ant/1.7.0/ant-1.7.0.jar:/Users/simon/.m2/repository/org/apache/ant/ant-launcher/1.7.0/ant-launcher-1.7.0.jar:/Users/simon/.m2/repository/joda-time/joda-time/1.6/joda-time-1.6.jar:/Users/simon/.m2/repository/net/sf/ehcache/ehcache/1.6.1/ehcache-1.6.1.jar:/Users/simon/.m2/repository/xml-apis/xml-apis/1.3.04/xml-apis-1.3.04.jar:/Users/simon/.m2/repository/de/odysseus/juel/juel-impl/2.1.2/juel-impl-2.1.2.jar:/Users/simon/.m2/repository/de/odysseus/juel/juel-api/2.1.2/juel-api-2.1.2.jar:/Users/simon/.m2/repository/commons-fileupload/commons-fileupload/1.2/commons-fileupload-1.2.jar:/Users/simon/.m2/repository/org/json/json/20070829/json-20070829.jar:/Users/simon/.m2/repository/commons-io/commons-io/1.4/commons-io-1.4.jar:/Users/simon/.m2/repository/com/thoughtworks/xstream/xstream/1.3.1/xstream-1.3.1.jar:/Users/simon/.m2/repository/xpp3/xpp3_min/1.1.4c/xpp3_min-1.1.4c.jar:/Users/simon/.m2/repository/xmlunit/xmlunit/1.2/xmlunit-1.2.jar:/Users/simon/.m2/repository/org/easymock/easymockclassextension/2.4/easymockclassextension-2.4.jar:/Users/simon/.m2/repository/org/easymock/easymock/2.5.1/easymock-2.5.1.jar:/Users/simon/.m2/repository/cglib/cglib-nodep/2.1_3/cglib-nodep-2.1_3.jar:/Users/simon/.m2/repository/junit/junit/4.5/junit-4.5.jar:/Users/simon/.m2/repository/junit-addons/junit-addons/1.4/junit-addons-1.4.jar:/Users/simon/.m2/repository/xerces/xercesImpl/2.9.1/xercesImpl-2.9.1.jar:/Users/simon/.m2/repository/xerces/xmlParserAPIs/2.6.2/xmlParserAPIs-2.6.2.jar:/Users/simon/.m2/repository/com/google/collections/google-collections/1.0-rc2/google-collections-1.0-rc2.jar:/Users/simon/.m2/repository/com/google/code/guice/guice/2.0/guice-2.0.jar:/Users/simon/.m2/repository/commons-betwixt/commons-betwixt/0.8/commons-betwixt-0.8.jar:/Users/simon/.m2/repository/commons-logging/commons-logging/1.0.4/commons-logging-1.0.4.jar:/Users/simon/.m2/repository/commons-beanutils/commons-beanutils-core/1.7.0/commons-beanutils-core-1.7.0.jar:/Users/simon/.m2/repository/commons-collections/commons-collections/3.2.1/commons-collections-3.2.1.jar:/Users/simon/.m2/repository/commons-digester/commons-digester/1.7/commons-digester-1.7.jar:/Users/simon/.m2/repository/commons-beanutils/commons-beanutils/1.6/commons-beanutils-1.6.jar:" name="java.class.path"/> + <property value="1.0" name="java.vm.specification.version"/> + <property value="32" name="sun.arch.data.model"/> + <property value="/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home" name="java.home"/> + <property value="Sun Microsystems Inc." name="java.specification.vendor"/> + <property value="en" name="user.language"/> + <property value="apple.awt.CToolkit" name="awt.toolkit"/> + <property value="mixed mode, sharing" name="java.vm.info"/> + <property value="1.5.0_19" name="java.version"/> + <property value="/Library/Java/Extensions:/System/Library/Java/Extensions:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home/lib/ext" name="java.ext.dirs"/> + <property value="/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/jsfd.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/classes.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/ui.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/laf.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/sunrsasign.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/jsse.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/jce.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/charsets.jar" name="sun.boot.class.path"/> + <property value="Apple Inc." name="java.vendor"/> + <property value="/Users/simon/.m2/repository" name="localRepository"/> + <property value="/" name="file.separator"/> + <property value="http://bugreport.apple.com/" name="java.vendor.url.bug"/> + <property value="little" name="sun.cpu.endian"/> + <property value="UnicodeLittle" name="sun.io.unicode.encoding"/> + <property value="1050.1.5.0_19-304" name="mrj.version"/> + <property value="local|*.local|169.254/16|*.169.254/16" name="socksNonProxyHosts"/> + <property value="local|*.local|169.254/16|*.169.254/16" name="ftp.nonProxyHosts"/> + <property value="" name="sun.cpu.isalist"/> + </properties> + <testcase classname="org.apache.shindig.protocol.TestHandler$Input" time="0.007" name="org.apache.shindig.protocol.TestHandler$Input"> + <skipped/> + </testcase> +</testsuite>
\ No newline at end of file diff --git a/plugins/sonar-surefire-plugin/src/test/resources/org/sonar/plugins/surefire/data/SurefireStaxHandlerTest/zeroTests.xml b/plugins/sonar-surefire-plugin/src/test/resources/org/sonar/plugins/surefire/data/SurefireStaxHandlerTest/zeroTests.xml new file mode 100644 index 00000000000..fb55bf567aa --- /dev/null +++ b/plugins/sonar-surefire-plugin/src/test/resources/org/sonar/plugins/surefire/data/SurefireStaxHandlerTest/zeroTests.xml @@ -0,0 +1,70 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<testsuite errors="0" skipped="0" tests="0" time="1,134.193" failures="0" + name="ch.hortis.sonar.mvn.mc.CheckstyleCollectorTest"> + <properties> + <property value="Java(TM) 2 Runtime Environment, Standard Edition" name="java.runtime.name"/> + <property value="/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Libraries" + name="sun.boot.library.path"/> + <property value="1.5.0_06-64" name="java.vm.version"/> + <property value="true" name="awt.nativeDoubleBuffering"/> + <property value="false" name="gopherProxySet"/> + <property value=""Apple Computer, Inc."" name="java.vm.vendor"/> + <property value="http://apple.com/" name="java.vendor.url"/> + <property value=":" name="path.separator"/> + <property value="Java HotSpot(TM) Client VM" name="java.vm.name"/> + <property value="sun.io" name="file.encoding.pkg"/> + <property value="FR" name="user.country"/> + <property value="unknown" name="sun.os.patch.level"/> + <property value="Java Virtual Machine Specification" name="java.vm.specification.name"/> + <property value="/Users/cmunger/Documents/workspace/sonar/sonar-maven-plugin" name="user.dir"/> + <property value="1.5.0_06-112" name="java.runtime.version"/> + <property value="apple.awt.CGraphicsEnvironment" name="java.awt.graphicsenv"/> + <property value="/Users/cmunger/Documents/workspace/sonar/sonar-maven-plugin" name="basedir"/> + <property value="/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home/lib/endorsed" + name="java.endorsed.dirs"/> + <property value="ppc" name="os.arch"/> + <property value="/tmp" name="java.io.tmpdir"/> + <property value=" +" name="line.separator"/> + <property value="Sun Microsystems Inc." name="java.vm.specification.vendor"/> + <property value="Mac OS X" name="os.name"/> + <property value="MacRoman" name="sun.jnu.encoding"/> + <property value=".:/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java" + name="java.library.path"/> + <property value="Java Platform API Specification" name="java.specification.name"/> + <property value="49.0" name="java.class.version"/> + <property value="HotSpot Client Compiler" name="sun.management.compiler"/> + <property value="10.4.8" name="os.version"/> + <property value="/Users/cmunger" name="user.home"/> + <property value="" name="user.timezone"/> + <property value="apple.awt.CPrinterJob" name="java.awt.printerjob"/> + <property value="MacRoman" name="file.encoding"/> + <property value="1.5" name="java.specification.version"/> + <property value="cmunger" name="user.name"/> + <property + value="/Users/cmunger/.m2/repository/org/apache/maven/surefire/surefire-api/2.0/surefire-api-2.0.jar:/Users/cmunger/.m2/repository/org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.jar:/Users/cmunger/.m2/repository/org/apache/maven/surefire/surefire-booter/2.0/surefire-booter-2.0.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/.compatibility/14compatibility.jar" + name="java.class.path"/> + <property value="1.0" name="java.vm.specification.version"/> + <property value="32" name="sun.arch.data.model"/> + <property value="/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home" name="java.home"/> + <property value="Sun Microsystems Inc." name="java.specification.vendor"/> + <property value="fr" name="user.language"/> + <property value="apple.awt.CToolkit" name="awt.toolkit"/> + <property value="mixed mode, sharing" name="java.vm.info"/> + <property value="1.5.0_06" name="java.version"/> + <property + value="/Library/Java/Extensions:/System/Library/Java/Extensions:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home/lib/ext" + name="java.ext.dirs"/> + <property + value="/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/classes.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/ui.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/laf.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/sunrsasign.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/jsse.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/jce.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/charsets.jar" + name="sun.boot.class.path"/> + <property value="Apple Computer, Inc." name="java.vendor"/> + <property value="/Users/cmunger/.m2/repository" name="localRepository"/> + <property value="/" name="file.separator"/> + <property value="http://developer.apple.com/java/" name="java.vendor.url.bug"/> + <property value="big" name="sun.cpu.endian"/> + <property value="UnicodeBig" name="sun.io.unicode.encoding"/> + <property value="1040.1.5.0_06-112" name="mrj.version"/> + <property value="" name="sun.cpu.isalist"/> + </properties> +</testsuite>
\ No newline at end of file |