import org.sonar.api.*;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.List;
@Properties({
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);
}
}
*/
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;
private static Logger logger = LoggerFactory.getLogger(SurefireSensor.class);
@DependsUpon
- public Class<?> dependsUponCoverageSensors() {
+ public Class dependsUponCoverageSensors() {
return AbstractCoverageExtension.class;
}
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);
}
+++ /dev/null
-/*
- * 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;
- }
-
-}
+++ /dev/null
-/*
- * 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.text.ParseException;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Locale;
-import java.util.Map;
-
-import javax.xml.stream.XMLStreamException;
-
-import org.apache.commons.lang.StringUtils;
-import org.codehaus.staxmate.in.ElementFilter;
-import org.codehaus.staxmate.in.SMEvent;
-import org.codehaus.staxmate.in.SMHierarchicCursor;
-import org.codehaus.staxmate.in.SMInputCursor;
-import org.sonar.api.utils.ParsingUtils;
-import org.sonar.api.utils.StaxParser.XmlStreamHandler;
-
-public class TestSuiteParser implements XmlStreamHandler {
-
- private Map<String, TestSuiteReport> reportsPerClass = new HashMap<String, TestSuiteReport>();
-
- public void stream(SMHierarchicCursor rootCursor) throws XMLStreamException {
- SMInputCursor testSuite = rootCursor.constructDescendantCursor(new ElementFilter("testsuite"));
- SMEvent testSuiteEvent;
- while ((testSuiteEvent = testSuite.getNext()) != null) {
- if (testSuiteEvent.compareTo(SMEvent.START_ELEMENT) == 0) {
- String testSuiteClassName = testSuite.getAttrValue("name");
- if (StringUtils.contains(testSuiteClassName, "$")) {
- // test suites for inner classes are ignored
- return;
- }
- SMInputCursor testCase = testSuite.childCursor(new ElementFilter("testcase"));
- SMEvent event;
- 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);
- }
- }
- }
- }
- }
-
- 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;
- }
-
- 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 setStackAndMessage(TestCaseDetails detail, SMInputCursor stackAndMessageCursor) throws XMLStreamException {
- detail.setErrorMessage(stackAndMessageCursor.getAttrValue("message"));
- String stack = stackAndMessageCursor.collectDescendantText();
- detail.setStackTrace(stack);
- }
-
- private TestCaseDetails getTestCaseDetails(SMInputCursor testCaseCursor) throws XMLStreamException {
- TestCaseDetails detail = new TestCaseDetails();
- String name = getTestCaseName(testCaseCursor);
- detail.setName(name);
-
- String status = TestCaseDetails.STATUS_OK;
- Double time = getTimeAttributeInMS(testCaseCursor);
-
- SMInputCursor childNode = testCaseCursor.descendantElementCursor();
- if (childNode.getNext() != null) {
- String elementName = childNode.getLocalName();
- if (elementName.equals("skipped")) {
- status = TestCaseDetails.STATUS_SKIPPED;
- // bug with surefire reporting wrong time for skipped tests
- time = 0d;
- } else if (elementName.equals("failure")) {
- status = TestCaseDetails.STATUS_FAILURE;
- setStackAndMessage(detail, childNode);
- } else if (elementName.equals("error")) {
- status = TestCaseDetails.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.setStatus(status);
- return detail;
- }
-
- private Double 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;
- } catch (ParseException e) {
- throw new XMLStreamException(e);
- }
- }
-
- private String getTestCaseName(SMInputCursor testCaseCursor) throws XMLStreamException {
- String classname = testCaseCursor.getAttrValue("classname");
- String name = testCaseCursor.getAttrValue("name");
- if (StringUtils.contains(classname, "$")) {
- return StringUtils.substringAfterLast(classname, "$") + "/" + name;
- }
- return name;
- }
-
-}
+++ /dev/null
-/*
- * 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();
- }
-}
*/
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;
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
});
}
- 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);
}
--- /dev/null
+/*
+ * 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 java.text.ParseException;
+import java.util.Locale;
+
+import javax.xml.stream.XMLStreamException;
+
+import org.apache.commons.lang.StringUtils;
+import org.codehaus.staxmate.in.ElementFilter;
+import org.codehaus.staxmate.in.SMEvent;
+import org.codehaus.staxmate.in.SMHierarchicCursor;
+import org.codehaus.staxmate.in.SMInputCursor;
+import org.sonar.api.utils.ParsingUtils;
+import org.sonar.api.utils.StaxParser.XmlStreamHandler;
+
+public class SurefireStaxHandler implements XmlStreamHandler {
+
+ private UnitTestIndex index;
+
+ public SurefireStaxHandler(UnitTestIndex index) {
+ this.index = index;
+ }
+
+ public void stream(SMHierarchicCursor rootCursor) throws XMLStreamException {
+ SMInputCursor testSuite = rootCursor.constructDescendantCursor(new ElementFilter("testsuite"));
+ SMEvent testSuiteEvent;
+ while ((testSuiteEvent = testSuite.getNext()) != null) {
+ if (testSuiteEvent.compareTo(SMEvent.START_ELEMENT) == 0) {
+ String testSuiteClassName = testSuite.getAttrValue("name");
+ if (StringUtils.contains(testSuiteClassName, "$")) {
+ // test suites for inner classes are ignored
+ return;
+ }
+ SMInputCursor testCase = testSuite.childCursor(new ElementFilter("testcase"));
+ SMEvent event;
+ while ((event = testCase.getNext()) != null) {
+ if (event.compareTo(SMEvent.START_ELEMENT) == 0) {
+ String testClassName = getClassname(testCase, testSuiteClassName);
+ UnitTestClassReport classReport = index.index(testClassName);
+ parseTestCase(testCase, classReport);
+ }
+ }
+ }
+ }
+ }
+
+ private String getClassname(SMInputCursor testCaseCursor, String defaultClassname) throws XMLStreamException {
+ String testClassName = testCaseCursor.getAttrValue("classname");
+ return StringUtils.defaultIfBlank(testClassName, defaultClassname);
+ }
+
+ private void parseTestCase(SMInputCursor testCaseCursor, UnitTestClassReport report) throws XMLStreamException {
+ report.add(parseTestResult(testCaseCursor));
+ }
+
+ private void setStackAndMessage(UnitTestResult result, SMInputCursor stackAndMessageCursor) throws XMLStreamException {
+ result.setMessage(stackAndMessageCursor.getAttrValue("message"));
+ String stack = stackAndMessageCursor.collectDescendantText();
+ result.setStackTrace(stack);
+ }
+
+ private UnitTestResult parseTestResult(SMInputCursor testCaseCursor) throws XMLStreamException {
+ UnitTestResult detail = new UnitTestResult();
+ String name = getTestCaseName(testCaseCursor);
+ detail.setName(name);
+
+ String status = UnitTestResult.STATUS_OK;
+ long duration = getTimeAttributeInMS(testCaseCursor);
+
+ SMInputCursor childNode = testCaseCursor.descendantElementCursor();
+ if (childNode.getNext() != null) {
+ String elementName = childNode.getLocalName();
+ if ("skipped".equals(elementName)) {
+ status = UnitTestResult.STATUS_SKIPPED;
+ // bug with surefire reporting wrong time for skipped tests
+ duration = 0L;
+
+ } else if ("failure".equals(elementName)) {
+ status = UnitTestResult.STATUS_FAILURE;
+ setStackAndMessage(detail, childNode);
+
+ } 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.setDurationMilliseconds(duration);
+ detail.setStatus(status);
+ return detail;
+ }
+
+ 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) ? new Double(ParsingUtils.scaleValue(time * 1000, 3)).longValue() : 0L;
+ } catch (ParseException e) {
+ throw new XMLStreamException(e);
+ }
+ }
+
+ private String getTestCaseName(SMInputCursor testCaseCursor) throws XMLStreamException {
+ String classname = testCaseCursor.getAttrValue("classname");
+ String name = testCaseCursor.getAttrValue("name");
+ if (StringUtils.contains(classname, "$")) {
+ return StringUtils.substringAfterLast(classname, "$") + "/" + name;
+ }
+ return name;
+ }
+
+}
--- /dev/null
+/*
+ * 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();
+ }
+}
--- /dev/null
+/*
+ * 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);
+ }
+
+
+}
--- /dev/null
+/*
+ * 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;
+ }
+
+}
*/
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));
}
-
}
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;
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()));
@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()));
@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()));
@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()));
@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()));
@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()));
verify(context, never()).saveMeasure(eq(new JavaFile("org.sonar.Foo")), eq(CoreMetrics.TEST_SUCCESS_DENSITY), anyDouble());
}
- @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()));
--- /dev/null
+/*
+ * 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;
+ }
+}
--- /dev/null
+/*
+ * 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);
+ }
+}
--- /dev/null
+/*
+ * 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));
+ }
+}
--- /dev/null
+/*
+ * 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));
+ }
+}
--- /dev/null
+/*
+ * 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>"));
+ }
+}
+++ /dev/null
-<?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
+++ /dev/null
-hack to find the directory from the CLASSPATH. See the unit test.
\ No newline at end of file
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?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