Skip to content

Commit

Permalink
Bump testng to mark retried tests as skipped
Browse files Browse the repository at this point in the history
  • Loading branch information
martin-lizner committed Dec 21, 2018
1 parent 7269e07 commit 050dea3
Show file tree
Hide file tree
Showing 3 changed files with 30 additions and 9 deletions.
2 changes: 1 addition & 1 deletion build-system/pom.xml
Expand Up @@ -67,7 +67,7 @@
<spring.version>5.0.7.RELEASE</spring.version>
<spring.security.version>5.0.6.RELEASE</spring.security.version>
<cas.client.version>3.5.0</cas.client.version>
<testng.version>6.8.8</testng.version>
<testng.version>6.14.3</testng.version>
<xml.resolver.version>1.2</xml.resolver.version>
<xmlunit.version>2.1.1</xmlunit.version>
<cron4j.version>2.2.3</cron4j.version>
Expand Down
Expand Up @@ -5,25 +5,35 @@

public class Retry implements IRetryAnalyzer {
private int retryCount = 0;
private int maxRetryCount = 0;
private String maxRetryCountEnv = System.getProperty("testsRetryCount");

public boolean retry(ITestResult result) {
private boolean initMaxRetry() {
if (maxRetryCountEnv == null)
return false;

int maxRetryCount;
try {
maxRetryCount = Integer.parseInt(maxRetryCountEnv);
} catch (NumberFormatException e) {
System.out.println("Retry for test: " + result.getMethod().getMethodName() + ", FAILED, cannot parse retry count: "+e.getMessage());
System.out.println("Test retry FAILED, cannot parse retry count: "+e.getMessage());
return false;
}
return true;
}

if (retryCount < maxRetryCount) {
public boolean retry(ITestResult result) {
if (isOneMoreRetryAvailable()) {
retryCount++;
System.out.println("Retry #" + retryCount + " for test: " + result.getMethod().getMethodName() + ", on thread: " + Thread.currentThread().getName());
return true;
}
return false;
}

public boolean isOneMoreRetryAvailable() {
if (!initMaxRetry())
return false;

return retryCount < maxRetryCount;
}
}
Expand Up @@ -15,14 +15,14 @@
*/
package com.evolveum.midpoint.tools.testng;

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;

import org.testng.ITestContext;
import org.testng.ITestListener;
import org.testng.ITestResult;

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;

public class TestListener implements ITestListener {

private static final DateFormat DATE_FORMAT = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss.SSS");
Expand All @@ -46,7 +46,18 @@ public void onTestFailedButWithinSuccessPercentage(ITestResult tr) {

@Override
public void onTestFailure(ITestResult tr) {
/*
if (tr.getMethod().getRetryAnalyzer() != null) {
Retry retryAnalyzer = (Retry) tr.getMethod().getRetryAnalyzer();
if (retryAnalyzer.isOneMoreRetryAvailable()) {
print("Skipping test for retry "+tr);
tr.setStatus(ITestResult.SKIP);
return;
}
}
*/
print("Failed test "+tr);

}

@Override
Expand Down

0 comments on commit 050dea3

Please sign in to comment.