blob: 597f23edeb5e0f6cea775504ac10a92d1be6a538 [file] [log] [blame]
/*
* @(#)ResultListener.java Apr 9, 2007
*
* Copyright 2007 GigaSpaces Technologies Inc.
*/
package org.testng.remote.adapter;
import java.util.Map;
import org.testng.ISuiteResult;
import org.testng.ITestContext;
import org.testng.SuiteRunner;
import org.testng.reporters.TestHTMLReporter;
/**
* This listener is called by the {@link IWorkerApadter} implementation when a remote test result is ready.
*
* @author Guy Korland
* @date April 9, 2007
* @see IWorkerApadter
*/
public class RemoteResultListener
{
/**
* Holds the corresponded {@link SuiteRunner} for the processed {@link org.testng.xml.XmlSuite}.
*/
final private SuiteRunner _runner;
/**
* Creates a listener for an {@link org.testng.xml.XmlSuite} result.
* @param runner the corresponded {@link SuiteRunner}
*/
public RemoteResultListener( SuiteRunner runner)
{
_runner = runner;
}
/**
* Should called by the {@link IWorkerApadter} implementation when a remote suite result is ready.
* @param remoteSuiteRunner remote result.
*/
public void onResult( SuiteRunner remoteSuiteRunner)
{
_runner.setHost(remoteSuiteRunner.getHost());
Map<String, ISuiteResult> tmpResults = remoteSuiteRunner.getResults();
Map<String, ISuiteResult> suiteResults = _runner.getResults();
for (String tests : tmpResults.keySet())
{
ISuiteResult suiteResult = tmpResults.get(tests);
suiteResults.put(tests, suiteResult);
ITestContext tc = suiteResult.getTestContext();
TestHTMLReporter.generateLog(tc, remoteSuiteRunner.getHost(),
_runner.getOutputDirectory(),
tc.getFailedConfigurations().getAllResults(),
tc.getSkippedConfigurations().getAllResults(),
tc.getPassedTests().getAllResults(),
tc.getFailedTests().getAllResults(),
tc.getSkippedTests().getAllResults(),
tc.getFailedButWithinSuccessPercentageTests().getAllResults());
}
}
}