From 973c2da04c2b02a8b2f07b9d10e7a9857becf9d7 Mon Sep 17 00:00:00 2001 From: Anil Kedia Date: Fri, 24 Jun 2022 17:42:40 +0000 Subject: [PATCH 1/3] OWLS-100113 - fix for intermittent nightly test failure caused due to cleanup failure. --- .../oracle/weblogic/kubernetes/utils/ItMiiSampleHelper.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/integration-tests/src/test/java/oracle/weblogic/kubernetes/utils/ItMiiSampleHelper.java b/integration-tests/src/test/java/oracle/weblogic/kubernetes/utils/ItMiiSampleHelper.java index c7a730c7797..11b9db6a813 100644 --- a/integration-tests/src/test/java/oracle/weblogic/kubernetes/utils/ItMiiSampleHelper.java +++ b/integration-tests/src/test/java/oracle/weblogic/kubernetes/utils/ItMiiSampleHelper.java @@ -226,9 +226,11 @@ public void execTestScriptAndAssertSuccess(DomainType domainType, .redirect(true) ).executeAndReturnResult(); + // check if kill command failed during cleanup, it will cause the exit value to be non-zero. + boolean cleaupFailed = result.stderr() != null && result.stderr().contains("kill: usage"); boolean success = result != null - && result.exitValue() == 0 + && (result.exitValue() == 0 || cleaupFailed) && result.stdout() != null && result.stdout().contains(successSearchString); From 07a9295ef76772897f191cad667eadd7afb7bb6e Mon Sep 17 00:00:00 2001 From: Anil Kedia Date: Fri, 24 Jun 2022 17:55:25 +0000 Subject: [PATCH 2/3] Minor cleanup. --- .../weblogic/kubernetes/utils/ItMiiSampleHelper.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/integration-tests/src/test/java/oracle/weblogic/kubernetes/utils/ItMiiSampleHelper.java b/integration-tests/src/test/java/oracle/weblogic/kubernetes/utils/ItMiiSampleHelper.java index 11b9db6a813..dd655b11b2c 100644 --- a/integration-tests/src/test/java/oracle/weblogic/kubernetes/utils/ItMiiSampleHelper.java +++ b/integration-tests/src/test/java/oracle/weblogic/kubernetes/utils/ItMiiSampleHelper.java @@ -6,11 +6,13 @@ import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.Optional; import oracle.weblogic.kubernetes.actions.impl.primitive.Command; import oracle.weblogic.kubernetes.actions.impl.primitive.CommandParams; import oracle.weblogic.kubernetes.annotations.IntegrationTest; import oracle.weblogic.kubernetes.logging.LoggingFacade; +import org.jetbrains.annotations.NotNull; import org.junit.jupiter.api.Assumptions; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.MethodOrderer; @@ -226,11 +228,9 @@ public void execTestScriptAndAssertSuccess(DomainType domainType, .redirect(true) ).executeAndReturnResult(); - // check if kill command failed during cleanup, it will cause the exit value to be non-zero. - boolean cleaupFailed = result.stderr() != null && result.stderr().contains("kill: usage"); boolean success = result != null - && (result.exitValue() == 0 || cleaupFailed) + && (result.exitValue() == 0 || cleaupFailed(result)) && result.stdout() != null && result.stdout().contains(successSearchString); @@ -248,6 +248,12 @@ public void execTestScriptAndAssertSuccess(DomainType domainType, } } + @NotNull + private Boolean cleaupFailed(ExecResult result) { + // check if kill command failed during cleanup, it will cause the exit value to be non-zero. + return Optional.ofNullable(result.stderr()).map(c -> c.contains("kill: usage")).orElse(false); + } + /** * Test MII sample WLS or JRF initial use case. * @param testClassName the test class name From fd5a49dfbc9a0e128d203863874c14d03332b930 Mon Sep 17 00:00:00 2001 From: Anil Kedia Date: Fri, 24 Jun 2022 20:03:46 +0000 Subject: [PATCH 3/3] PR review comment - change the trap command and remove the logic to ignore kill failures. --- .../weblogic/kubernetes/utils/ItMiiSampleHelper.java | 10 +--------- operator/integration-tests/model-in-image/run-test.sh | 2 +- 2 files changed, 2 insertions(+), 10 deletions(-) diff --git a/integration-tests/src/test/java/oracle/weblogic/kubernetes/utils/ItMiiSampleHelper.java b/integration-tests/src/test/java/oracle/weblogic/kubernetes/utils/ItMiiSampleHelper.java index dd655b11b2c..c7a730c7797 100644 --- a/integration-tests/src/test/java/oracle/weblogic/kubernetes/utils/ItMiiSampleHelper.java +++ b/integration-tests/src/test/java/oracle/weblogic/kubernetes/utils/ItMiiSampleHelper.java @@ -6,13 +6,11 @@ import java.util.HashMap; import java.util.List; import java.util.Map; -import java.util.Optional; import oracle.weblogic.kubernetes.actions.impl.primitive.Command; import oracle.weblogic.kubernetes.actions.impl.primitive.CommandParams; import oracle.weblogic.kubernetes.annotations.IntegrationTest; import oracle.weblogic.kubernetes.logging.LoggingFacade; -import org.jetbrains.annotations.NotNull; import org.junit.jupiter.api.Assumptions; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.MethodOrderer; @@ -230,7 +228,7 @@ public void execTestScriptAndAssertSuccess(DomainType domainType, boolean success = result != null - && (result.exitValue() == 0 || cleaupFailed(result)) + && result.exitValue() == 0 && result.stdout() != null && result.stdout().contains(successSearchString); @@ -248,12 +246,6 @@ public void execTestScriptAndAssertSuccess(DomainType domainType, } } - @NotNull - private Boolean cleaupFailed(ExecResult result) { - // check if kill command failed during cleanup, it will cause the exit value to be non-zero. - return Optional.ofNullable(result.stderr()).map(c -> c.contains("kill: usage")).orElse(false); - } - /** * Test MII sample WLS or JRF initial use case. * @param testClassName the test class name diff --git a/operator/integration-tests/model-in-image/run-test.sh b/operator/integration-tests/model-in-image/run-test.sh index 22a843e2aa7..c1a5c7fc75c 100755 --- a/operator/integration-tests/model-in-image/run-test.sh +++ b/operator/integration-tests/model-in-image/run-test.sh @@ -12,7 +12,7 @@ set -eu set -o pipefail -trap '[ -z "$(jobs -pr)" ] || kill $(jobs -pr)' SIGINT SIGTERM EXIT +trap 'status=$? ; set +eu ; set +o pipefail ; kill $(jobs -pr) > /dev/null 2>&1 ; exit $status' SIGINT SIGTERM EXIT TESTDIR="$( cd "$(dirname "$0")" > /dev/null 2>&1 ; pwd -P )"