aboutsummaryrefslogtreecommitdiffstats
path: root/vid-automation/src/main/java/vid/automation/test
diff options
context:
space:
mode:
authorIttay Stern <ittay.stern@att.com>2020-02-17 09:48:20 +0200
committerIttay Stern <ittay.stern@att.com>2020-02-17 08:55:03 +0000
commita4fd70a3a183a3ced4c46415a25d081ece8ac098 (patch)
tree6b501395489531e0d16cd35a1098a8f11208bcc1 /vid-automation/src/main/java/vid/automation/test
parent599bfc9cf2a435006622332f9f3e5071f64bbbd6 (diff)
Fix intermittent test inProgressJobMoreThan24HoursIsFailedInVidAudit
Bit more time was needed. Issue-ID: VID-647 Change-Id: Ie7e101a2eb85e71a38d1cb2efd9f7327e4705fd3 Signed-off-by: Ittay Stern <ittay.stern@att.com>
Diffstat (limited to 'vid-automation/src/main/java/vid/automation/test')
-rw-r--r--vid-automation/src/main/java/vid/automation/test/infra/Wait.java15
1 files changed, 11 insertions, 4 deletions
diff --git a/vid-automation/src/main/java/vid/automation/test/infra/Wait.java b/vid-automation/src/main/java/vid/automation/test/infra/Wait.java
index cab3a2d5b..c392c2815 100644
--- a/vid-automation/src/main/java/vid/automation/test/infra/Wait.java
+++ b/vid-automation/src/main/java/vid/automation/test/infra/Wait.java
@@ -1,20 +1,21 @@
package vid.automation.test.infra;
+import java.util.concurrent.TimeUnit;
+import java.util.function.Predicate;
import org.apache.commons.collections.CollectionUtils;
+import org.apache.commons.lang3.exception.ExceptionUtils;
import org.onap.sdc.ci.tests.utilities.GeneralUIUtils;
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.NoSuchElementException;
import vid.automation.test.Constants;
-import java.util.concurrent.TimeUnit;
-import java.util.function.Predicate;
-
public class Wait {
public static boolean byText(String text) {
return GeneralUIUtils.findAndWaitByText(text, Constants.generalTimeout);
}
public static <T> boolean waitFor(Predicate<T> predicate, T input, int numOfRetries, int interval, TimeUnit intervalUnit) {
+ Throwable lastError = null;
for (int i=0; i<numOfRetries; i++) {
try {
if (predicate.test(input)) {
@@ -22,6 +23,7 @@ public class Wait {
}
}
catch (Throwable t) {
+ lastError = t;
System.out.println(String.format("a retry failed due to: %s %s", t, t.getMessage()));
}
try {
@@ -30,7 +32,12 @@ public class Wait {
e.printStackTrace();
}
}
- return false;
+
+ if (lastError != null) {
+ throw ExceptionUtils.<RuntimeException>rethrow(lastError);
+ } else {
+ return false;
+ }
}
public static <T> boolean waitFor(Predicate<T> predicate, T input, int numOfRetries, int interval) {