01: /*
02: * @(#)ResultListener.java Apr 9, 2007
03: *
04: * Copyright 2007 GigaSpaces Technologies Inc.
05: */
06:
07: package org.testng.remote.adapter;
08:
09: import java.util.Map;
10:
11: import org.testng.ISuite;
12: import org.testng.ISuiteResult;
13: import org.testng.ITestContext;
14: import org.testng.SuiteRunner;
15: import org.testng.reporters.TestHTMLReporter;
16:
17: /**
18: * This listener is called by the {@link IWorkerApadter} implementation when a remote test result is ready.
19: *
20: * @author Guy Korland
21: * @date April 9, 2007
22: * @see IWorkerApadter
23: */
24: public class RemoteResultListener {
25: /**
26: * Holds the corresponded {@link SuiteRunner} for the processed {@link org.testng.xml.XmlSuite}.
27: */
28: final private SuiteRunner m_runner;
29:
30: /**
31: * Creates a listener for an {@link org.testng.xml.XmlSuite} result.
32: * @param runner the corresponded {@link SuiteRunner}
33: */
34: public RemoteResultListener(SuiteRunner runner) {
35: m_runner = runner;
36: }
37:
38: /**
39: * Should called by the {@link IWorkerApadter} implementation when a remote suite result is ready.
40: * @param remoteSuiteRunner remote result.
41: */
42: public void onResult(ISuite remoteSuiteRunner) {
43: m_runner.setHost(remoteSuiteRunner.getHost());
44: Map<String, ISuiteResult> tmpResults = remoteSuiteRunner
45: .getResults();
46: Map<String, ISuiteResult> suiteResults = m_runner.getResults();
47: for (String tests : tmpResults.keySet()) {
48: ISuiteResult suiteResult = tmpResults.get(tests);
49: suiteResults.put(tests, suiteResult);
50: ITestContext tc = suiteResult.getTestContext();
51: TestHTMLReporter.generateLog(tc, remoteSuiteRunner
52: .getHost(), m_runner.getOutputDirectory(), tc
53: .getFailedConfigurations().getAllResults(), tc
54: .getSkippedConfigurations().getAllResults(), tc
55: .getPassedTests().getAllResults(), tc
56: .getFailedTests().getAllResults(), tc
57: .getSkippedTests().getAllResults(), tc
58: .getFailedButWithinSuccessPercentageTests()
59: .getAllResults());
60: }
61: }
62: }
|