public List<ReportTestSuite> parse( InputStreamReader stream ) throws ParserConfigurationException, SAXException, IOException { SAXParserFactory factory = SAXParserFactory.newInstance(); SAXParser saxParser = factory.newSAXParser(); valid = true; classesToSuitesIndex = new HashMap<String, Integer>(); suites = new ArrayList<ReportTestSuite>(); saxParser.parse( new InputSource( stream ), this ); if ( currentSuite != defaultSuite ) { // omit the defaultSuite if it's empty and there are alternatives if ( defaultSuite.getNumberOfTests() == 0 ) { suites.remove( classesToSuitesIndex.get( defaultSuite.getFullClassName() ).intValue() ); } } return suites; }
public List<ReportTestSuite> parse( InputStreamReader stream ) throws ParserConfigurationException, SAXException, IOException { SAXParserFactory factory = SAXParserFactory.newInstance(); SAXParser saxParser = factory.newSAXParser(); valid = true; classesToSuitesIndex = new HashMap<>(); suites = new ArrayList<>(); saxParser.parse( new InputSource( stream ), this ); if ( currentSuite != defaultSuite ) { // omit the defaultSuite if it's empty and there are alternatives if ( defaultSuite.getNumberOfTests() == 0 ) { suites.remove( classesToSuitesIndex.get( defaultSuite.getFullClassName() ).intValue() ); } } return suites; }
public List<String> getFailingTests() { List<String> result = new ArrayList<>(); for (MavenProject mavenProject : reactorProjects) { File surefireReportsDirectory = getSurefireReportsDirectory(mavenProject); SurefireReportParser parser = new SurefireReportParser(Collections.singletonList(surefireReportsDirectory), Locale.ENGLISH, new NullConsoleLogger()); try { List<ReportTestSuite> testSuites = parser.parseXMLReportFiles(); for (ReportTestSuite reportTestSuite : testSuites) { if (reportTestSuite.getNumberOfErrors()+reportTestSuite.getNumberOfFailures() > 0) { result.add(reportTestSuite.getFullClassName()); } } } catch (MavenReportException e) { e.printStackTrace();; } } return result; }
classesToSuitesIndex.put( defaultSuite.getFullClassName(), suites.size() - 1 ); final Number time = StringUtils.isBlank( timeAsString ) ? 0 : numberFormat.parse( timeAsString ); testCase.setFullClassName( currentSuite.getFullClassName() ) .setClassName( currentSuite.getName() ) .setFullName( currentSuite.getFullClassName() + "." + testCase.getName() ) .setTime( time.floatValue() );
classesToSuitesIndex.put( defaultSuite.getFullClassName(), suites.size() - 1 ); break; case "testcase": Number time = StringUtils.isBlank( timeAsString ) ? 0 : numberFormat.parse( timeAsString ); testCase.setFullClassName( currentSuite.getFullClassName() ) .setClassName( currentSuite.getName() ) .setFullName( currentSuite.getFullClassName() + "." + testCase.getName() ) .setTime( time.floatValue() );
FailingClass failingClass = properties.getTests().addFailingClass(testSuite.getFullClassName()); failingClass.setNumberRunning(testSuite.getNumberOfTests() - testSuite.getNumberOfSkipped()); failingClass.setNumberPassing(testSuite.getNumberOfTests() - testSuite.getNumberOfSkipped() - testSuite.getNumberOfFailures() - testSuite.getNumberOfErrors());