Geode: Add control for executing test using docker
[infra/cicd.git] / jjb / geode / apache-geode-test / execute_stressnew.sh
index cf0ff78419a469c828366199b7e027c26d1e43b5..059fd0489bb82b963b272d8d4c63ffb819d268f6 100755 (executable)
@@ -112,12 +112,16 @@ GRADLE_SKIP_TASK_OPTIONS="-x javadoc -x spotlessCheck -x rat"
 
 if [[ -n "${PARALLEL_DUNIT}" && "${PARALLEL_DUNIT}" == "true" ]]; then
   PARALLEL_DUNIT="-PparallelDunit"
-  if [ -n "${DUNIT_PARALLEL_FORKS}" ]; then
+  if [[ -n "${DUNIT_PARALLEL_FORKS}" && "${TEST_USING_DOCKER}" == "false" ]] ; then
     DUNIT_PARALLEL_FORKS="--max-workers=${DUNIT_PARALLEL_FORKS} -PtestMaxParallelForks=${DUNIT_PARALLEL_FORKS} -PdunitParallelForks=${DUNIT_PARALLEL_FORKS}"
+  elif [[ -n "${DUNIT_PARALLEL_FORKS}" && "${TEST_USING_DOCKER}" == "true" ]] ; then
+    DUNIT_PARALLEL_FORKS="-PdunitParallelForks=${DUNIT_PARALLEL_FORKS}"
+    DOCKER_TESTING_OPTIONS="-PdunitDockerUser=geode -PdunitDockerImage=\$(docker images --format '{{.Repository}}:{{.Tag}}' | grep test-container)"
   fi
 else
   PARALLEL_DUNIT=""
   DUNIT_PARALLEL_FORKS=""
+  DOCKER_TESTING_OPTIONS=""
 fi
 
 case $ARTIFACT_SLUG in
@@ -156,6 +160,7 @@ GRADLE_ARGS=" \
     -PtestJava17Home=${TEST_JAVA_17_HOME} \
     ${PARALLEL_DUNIT} \
     ${DUNIT_PARALLEL_FORKS} \
+    ${DOCKER_TESTING_OPTIONS} \
     ${DEFAULT_GRADLE_TASK_OPTIONS} \
     ${GRADLE_SKIP_TASK_OPTIONS} \
     ${GRADLE_TASK} \
@@ -173,4 +178,12 @@ EXEC_COMMAND="bash -c 'echo Building with: $SEP \
 echo "${EXEC_COMMAND}"
 eval "${EXEC_COMMAND}"
 
+# Cleanup
+# Make sure all test containers are stopped and removed when tests are finished
+DOCKER_CONTAINERS=$(sudo docker ps -a -q 2> /dev/null)
+if [ -n "${DOCKER_CONTAINERS}" ]; then
+  docker stop ${DOCKER_CONTAINERS} > /dev/null
+  echo -e  "Removing containers with ID:"
+  docker rm ${DOCKER_CONTAINERS}
+fi