@Override public String toString() { StringBuilder result = new StringBuilder().append(m_testMethod); for (Object p : m_testResult.getParameters()) { result.append(p).append(" "); } result.append(" ").append(m_instance != null ? m_instance.hashCode() : " <static>"); return result.toString(); }
@Override public String toString() { StringBuilder result = new StringBuilder().append(m_testMethod); for (Object p : m_testResult.getParameters()) { result.append(p).append(" "); } result.append(" ").append(m_instance != null ? m_instance.hashCode() : " <static>"); return result.toString(); }
@Override public void onTestSkipped(ITestResult result) { System.out.format("~~~~~~~~~ SKIPPED -- %s.%s(%s)-------", result.getTestClass(), result.getTestName(), Arrays.toString(result.getParameters())); }
@Override public void onTestSuccess(ITestResult result) { System.out.format("------- SUCCESS -- %s.%s(%s)-------", result.getTestClass(), result.getTestName(), Arrays.toString(result.getParameters())); }
@Override public void onTestStart(ITestResult result) { System.out.format("------- Starting test %s.%s(%s)-------\n", result.getTestClass(), result.getTestName(), Arrays.toString(result.getParameters())); }
public static String getTestResultName(ITestResult tr) { StringBuilder result = new StringBuilder(tr.getMethod().getMethodName()); Object[] parameters = tr.getParameters(); if (parameters.length > 0) { result.append("("); StringBuilder p = new StringBuilder(); for (int i = 0; i < parameters.length; i++) { if (i > 0) p.append(", "); p.append(Utils.toString(parameters[i])); } if (p.length() > 100) { String s = p.toString().substring(0, 100); s = s + "..."; result.append(s); } else { result.append(p.toString()); } result.append(")"); } return result.toString(); }
private IRetryAnalyzer getRetryAnalyzerConsideringMethodParameteters(ITestResult tr) { Object[] key = tr.getParameters(); IRetryAnalyzer retryAnalyzer = this.m_retryAnalyzer; if ((key != null && key.length != 0) && retryAnalyzer != null) { String keyAsString = getMethodName() + "_" + Arrays.toString(key); retryAnalyzer = m_testMethodToRetryAnalyzer.computeIfAbsent(keyAsString, o -> InstanceCreator.newInstance(this.m_retryAnalyzer.getClass())); } return retryAnalyzer; }
@Override public void onTestFailure(ITestResult result) { System.out.format("!!!!!!!!! FAILURE-- %s.%s(%s)-------\n", result.getTestClass(), result.getTestName(), Arrays.toString(result.getParameters())); if (result.getThrowable() instanceof ThreadTimeoutException) { System.out.println("====== THREAD DUMPS ======"); System.out.println(ThreadDumpUtil.buildThreadDiagnosticString()); } }
/** Free memory by clearing unused resources after test execution. */ private void cleanUp(ITestResult testResult) { Object[] params = testResult.getParameters(); for (int i = 0; i < params.length; i++) { Object param = params[i]; if ((param instanceof AsyncLoadingCache<?, ?>) || (param instanceof Cache<?, ?>) || (param instanceof Map<?, ?>)) { params[i] = param.getClass().getSimpleName(); } else { params[i] = Objects.toString(param); } } CacheSpec.interner.remove(); } }
/** Free memory by clearing unused resources after test execution. */ static void cleanUp(ITestResult testResult) { Object[] params = testResult.getParameters(); for (int i = 0; i < params.length; i++) { Object param = params[i]; if ((param instanceof SingleConsumerQueue<?>)) { boolean linearizable = (((SingleConsumerQueue<?>) param).factory.apply(null) instanceof LinearizableNode<?>); params[i] = param.getClass().getSimpleName() + "_" + (linearizable ? "linearizable" : "optimistic"); } else { params[i] = Objects.toString(param); } } } }
public void addTestMethodParams(XMLStringBuffer xmlBuffer, ITestResult testResult) { Object[] parameters = testResult.getParameters(); if ((parameters != null) && (parameters.length > 0)) { xmlBuffer.push(XMLReporterConfig.TAG_PARAMS); for (int i = 0; i < parameters.length; i++) { addParameter(xmlBuffer, parameters[i], i); } xmlBuffer.pop(); } }
private AtomicInteger getCount(ITestResult result) { int id = Arrays.hashCode(result.getParameters()); AtomicInteger count = counts.get(id); if (count == null) { count = new AtomicInteger(MAX_RETRY_COUNT); counts.put(id, count); } return count; }
public void addTestMethodParams(XMLStringBuffer xmlBuffer, ITestResult testResult) { Object[] parameters = testResult.getParameters(); if ((parameters != null) && (parameters.length > 0)) { xmlBuffer.push(XMLReporterConfig.TAG_PARAMS); for (int i = 0; i < parameters.length; i++) { addParameter(xmlBuffer, parameters[i], i); } xmlBuffer.pop(); } }
public boolean retry(ITestResult result) { String prefix = "Attempt #" + retryCount; if (retryCount < MAX_RETRY_COUNT) { if (result.getParameters().length > 0) { logs.add(prefix + ". Retry :true " + prettyMsg(result)); } retryCount++; return true; } logs.add(prefix + ". Retry :false " + prettyMsg(result)); return false; }
private void logResult(String status, ITestResult tr, String stackTrace) { logResult(status, tr.getName(), tr.getMethod().getDescription(), stackTrace, tr.getParameters(), tr.getMethod().getConstructorOrMethod().getParameterTypes()); }
@Test public void testRetryCounts() { TestNG tng = create(RetryCountTest.class); TestListenerAdapter tla = new TestListenerAdapter(); tng.addListener((ITestNGListener) tla); tng.run(); assertEquals(tla.getPassedTests().size(), 1); assertEquals(tla.getPassedTests().get(0).getParameters(), new String[]{"c"}); assertEquals(tla.getFailedTests().size(), 3); assertEquals(tla.getSkippedTests().size(), 9); }
private static String prettyMsg(ITestResult result) { return "Test method : " + result.getTestClass().getRealClass().getName() + "." + result.getMethod().getMethodName() + "()" + ", Parameters : " + Arrays.toString(result.getParameters()); }
@Override public void afterInvocation(IInvokedMethod method, ITestResult testResult) { try { if (testResult.isSuccess()) { for (Object param : testResult.getParameters()) { if (param instanceof SingleConsumerQueue<?>) { assertThat((SingleConsumerQueue<?>) param, is(validate())); } } } } catch (AssertionError caught) { testResult.setStatus(ITestResult.FAILURE); testResult.setThrowable(caught); } finally { cleanUp(testResult); } } }
private void logResult(String status, ITestResult tr, String stackTrace) { logResult( status, tr.getName(), tr.getMethod().getDescription(), stackTrace, tr.getParameters(), tr.getMethod().getConstructorOrMethod().getParameterTypes()); }
@Test public void ensureRetriedMethodsAreDistinguishableInDataDrivenTests() { XmlSuite xmlsuite = createXmlSuite("1697_suite"); createXmlTest(xmlsuite, "1697_test", DatadrivenSample.class); TestNG testng = create(xmlsuite); LocalReporter reporter = new LocalReporter(); testng.addListener(reporter); testng.run(); ITestResult firstResult = runAssertions(reporter.getRetried(), "testMethod"); assertThat(firstResult.getParameters()).containsAll(Collections.singletonList(1)); }