Skip to content

Commit

Permalink
testng-team#1673 Change IAttributes to XMLReporterConfig
Browse files Browse the repository at this point in the history
  • Loading branch information
Kanaduchi committed Feb 3, 2018
1 parent cb13acf commit 8a125fa
Show file tree
Hide file tree
Showing 13 changed files with 45 additions and 199 deletions.
3 changes: 2 additions & 1 deletion src/main/java/org/testng/IReporter2.java
@@ -1,5 +1,6 @@
package org.testng;

import org.testng.reporters.XMLReporterConfig;
import org.testng.xml.XmlSuite;

import java.util.List;
Expand All @@ -13,5 +14,5 @@ public interface IReporter2 extends ITestNGListener {
/**
* Generate a report for the given suites with specified attributes
*/
void generateReport(List<XmlSuite> xmlSuites, List<ISuite> suites, IAttributes attributes);
void generateReport(List<XmlSuite> xmlSuites, List<ISuite> suites, XMLReporterConfig config);
}
19 changes: 7 additions & 12 deletions src/main/java/org/testng/TestNG.java
Expand Up @@ -39,13 +39,7 @@
import org.testng.internal.thread.graph.SuiteWorkerFactory;
import org.testng.junit.JUnitTestFinder;
import org.testng.log4testng.Logger;
import org.testng.reporters.EmailableReporter;
import org.testng.reporters.EmailableReporter2;
import org.testng.reporters.FailedReporter;
import org.testng.reporters.JUnitReportReporter;
import org.testng.reporters.SuiteHTMLReporter;
import org.testng.reporters.VerboseReporter;
import org.testng.reporters.XMLReporter;
import org.testng.reporters.*;
import org.testng.reporters.jq.Main;
import org.testng.xml.IPostProcessor;
import org.testng.xml.Parser;
Expand Down Expand Up @@ -1095,6 +1089,11 @@ private static void usage() {

private void generateReports(List<ISuite> suiteRunners) {

XMLReporterConfig config = new XMLReporterConfig();
config.setOutputDirectory(m_outputDir);
config.setGenerateSuiteAttributes(m_generateSuiteAttributes);
config.setGenerateTestResultAttributes(m_generateTestResultAttributes);

for (IReporter reporter : m_reporters.values()) {
try {
long start = System.currentTimeMillis();
Expand All @@ -1111,11 +1110,7 @@ private void generateReports(List<ISuite> suiteRunners) {
for (IReporter2 reporter : m_reporters2.values()) {
try {
long start = System.currentTimeMillis();
IAttributes attributes = new Attributes();
attributes.setAttribute("defaultOutputDirectory", m_outputDir);
attributes.setAttribute("generateSuiteAttributes", m_generateSuiteAttributes);
attributes.setAttribute("generateTestResultAttributes", m_generateTestResultAttributes);
reporter.generateReport(m_suites, suiteRunners, attributes);
reporter.generateReport(m_suites, suiteRunners, config);
Utils.log("TestNG", 2, "Time taken by " + reporter + ": "
+ (System.currentTimeMillis() - start) + " ms");
}
Expand Down
3 changes: 2 additions & 1 deletion src/main/java/org/testng/internal/ExitCodeListener.java
@@ -1,6 +1,7 @@
package org.testng.internal;

import org.testng.*;
import org.testng.reporters.XMLReporterConfig;
import org.testng.xml.XmlSuite;

import java.util.List;
Expand Down Expand Up @@ -28,7 +29,7 @@ public void generateReport(List<XmlSuite> xmlSuites, List<ISuite> suites, String
}

@Override
public void generateReport(List<XmlSuite> xmlSuites, List<ISuite> suites, IAttributes attributes) {
public void generateReport(List<XmlSuite> xmlSuites, List<ISuite> suites, XMLReporterConfig config) {
for (ISuite suite : suites) {
for (ISuiteResult suiteResult : suite.getResults().values()) {
ITestContext context = suiteResult.getTestContext();
Expand Down
5 changes: 2 additions & 3 deletions src/main/java/org/testng/reporters/EmailableReporter.java
@@ -1,6 +1,5 @@
package org.testng.reporters;

import org.testng.IAttributes;
import org.testng.IInvokedMethod;
import org.testng.IReporter2;
import org.testng.IResultMap;
Expand Down Expand Up @@ -66,9 +65,9 @@ public void setFileName(String fileName) {

/** Creates summary of the run */
@Override
public void generateReport(List<XmlSuite> xml, List<ISuite> suites, IAttributes attributes) {
public void generateReport(List<XmlSuite> xml, List<ISuite> suites, XMLReporterConfig config) {
try {
m_out = createWriter((String)attributes.getAttribute("defaultOutputDirectory"));
m_out = createWriter(config.getOutputDirectory());
}
catch (IOException e) {
L.error("output file", e);
Expand Down
5 changes: 2 additions & 3 deletions src/main/java/org/testng/reporters/EmailableReporter2.java
Expand Up @@ -10,7 +10,6 @@
import java.util.List;
import java.util.Set;

import org.testng.IAttributes;
import org.testng.IReporter2;
import org.testng.ISuite;
import org.testng.ISuiteResult;
Expand Down Expand Up @@ -51,9 +50,9 @@ public String getFileName() {
}

@Override
public void generateReport(List<XmlSuite> xmlSuites, List<ISuite> suites, IAttributes attributes) {
public void generateReport(List<XmlSuite> xmlSuites, List<ISuite> suites, XMLReporterConfig config) {
try {
writer = createWriter((String)attributes.getAttribute("defaultOutputDirectory"));
writer = createWriter(config.getOutputDirectory());
} catch (IOException e) {
LOG.error("Unable to create output file", e);
return;
Expand Down
5 changes: 2 additions & 3 deletions src/main/java/org/testng/reporters/FailedReporter.java
@@ -1,6 +1,5 @@
package org.testng.reporters;

import org.testng.IAttributes;
import org.testng.IReporter2;
import org.testng.ISuite;
import org.testng.ISuiteResult;
Expand Down Expand Up @@ -46,9 +45,9 @@ public FailedReporter(XmlSuite xmlSuite) {
}

@Override
public void generateReport(List<XmlSuite> xmlSuites, List<ISuite> suites, IAttributes attributes) {
public void generateReport(List<XmlSuite> xmlSuites, List<ISuite> suites, XMLReporterConfig config) {
for (ISuite suite : suites) {
generateFailureSuite(suite.getXmlSuite(), suite, (String)attributes.getAttribute("defaultOutputDirectory"));
generateFailureSuite(suite.getXmlSuite(), suite, config.getOutputDirectory());
}
}

Expand Down
5 changes: 2 additions & 3 deletions src/main/java/org/testng/reporters/JUnitReportReporter.java
Expand Up @@ -6,7 +6,6 @@
import org.testng.ITestContext;
import org.testng.ITestNGMethod;
import org.testng.ITestResult;
import org.testng.IAttributes;
import org.testng.collections.ListMultiMap;
import org.testng.collections.SetMultiMap;
import org.testng.collections.Lists;
Expand Down Expand Up @@ -36,7 +35,7 @@ public class JUnitReportReporter implements IReporter2 {

@Override
public void generateReport(List<XmlSuite> xmlSuites, List<ISuite> suites,
IAttributes attributes) {
XMLReporterConfig config) {

Map<Class<?>, Set<ITestResult>> results = Maps.newHashMap();
ListMultiMap<Object, ITestResult> befores = Maps.newListMultiMap();
Expand Down Expand Up @@ -171,7 +170,7 @@ public void generateReport(List<XmlSuite> xmlSuites, List<ISuite> suites,
}
xsb.pop(XMLConstants.TESTSUITE);

String outputDirectory = attributes.getAttribute("defaultOutputDirectory") + File.separator + "junitreports";
String outputDirectory = config.getOutputDirectory() + File.separator + "junitreports";
Utils.writeUtf8File(outputDirectory, getFileName(cls), xsb.toXML());
}

Expand Down
5 changes: 2 additions & 3 deletions src/main/java/org/testng/reporters/JqReporter.java
@@ -1,6 +1,5 @@
package org.testng.reporters;

import org.testng.IAttributes;
import org.testng.IReporter2;
import org.testng.IResultMap;
import org.testng.ISuite;
Expand Down Expand Up @@ -36,8 +35,8 @@ public JqReporter() {

@Override
public void generateReport(List<XmlSuite> xmlSuites, List<ISuite> suites,
IAttributes attributes) {
m_outputDirectory = (String)attributes.getAttribute("defaultOutputDirectory");
XMLReporterConfig config) {
m_outputDirectory = config.getOutputDirectory();

XMLStringBuffer xsb = new XMLStringBuffer(" ");
xsb.push(D, "id", "suites");
Expand Down
7 changes: 3 additions & 4 deletions src/main/java/org/testng/reporters/SuiteHTMLReporter.java
Expand Up @@ -2,7 +2,6 @@

import static org.testng.internal.Utils.isStringNotEmpty;

import org.testng.IAttributes;
import org.testng.IInvokedMethod;
import org.testng.IReporter2;
import org.testng.ISuite;
Expand Down Expand Up @@ -48,11 +47,11 @@ public class SuiteHTMLReporter implements IReporter2 {
private String m_outputDirectory;

@Override
public void generateReport(List<XmlSuite> xmlSuites, List<ISuite> suites, IAttributes attributes) {
m_outputDirectory = generateOutputDirectoryName((String)attributes.getAttribute("defaultOutputDirectory") + File.separator + "old");
public void generateReport(List<XmlSuite> xmlSuites, List<ISuite> suites, XMLReporterConfig config) {
m_outputDirectory = generateOutputDirectoryName(config.getOutputDirectory() + File.separator + "old");

try {
HtmlHelper.generateStylesheet((String)attributes.getAttribute("defaultOutputDirectory"));
HtmlHelper.generateStylesheet(config.getOutputDirectory());
} catch (IOException e) {
// TODO Propagate the exception properly.
e.printStackTrace();
Expand Down

0 comments on commit 8a125fa

Please sign in to comment.