docker: Add support for "--preserve" option
"--preserve" option will keep the docker container setup as-is
after the tests. Also, provides commands to exec into a container
and bring down the setup.
Change-Id: I662f2d89156274f2801c612bbb233ccb91988c16
diff --git a/test/docker/run.sh b/test/docker/run.sh
index a57780b..7d493ff 100755
--- a/test/docker/run.sh
+++ b/test/docker/run.sh
@@ -38,6 +38,7 @@
--help|-h
--gerrit-war|-g path to Gerrit WAR file
--task-plugin-jar|-t path to task plugin JAR file
+ --preserve To preserve the docker setup for debugging
EOF
@@ -60,15 +61,32 @@
'/task/test/docker/run_tests/start.sh'
}
-cleanup() {
- docker-compose "${COMPOSE_ARGS[@]}" down -v --rmi local 2>/dev/null
+get_run_test_container() {
+ docker-compose "${COMPOSE_ARGS[@]}" ps | grep run_tests | awk '{ print $1 }'
}
+cleanup() {
+ if [ "$PRESERVE" = "true" ] ; then
+ echo "Preserving the following docker setup"
+ docker-compose "${COMPOSE_ARGS[@]}" ps
+ echo ""
+ echo "To exec into runtests container, use following command:"
+ echo "docker exec -it $(get_run_test_container) /bin/bash"
+ echo ""
+ echo "Run the following command to bring down the setup:"
+ echo "docker-compose ${COMPOSE_ARGS[@]} down -v --rmi local"
+ else
+ docker-compose "${COMPOSE_ARGS[@]}" down -v --rmi local 2>/dev/null
+ fi
+}
+
+PRESERVE="false"
while (( "$#" )) ; do
case "$1" in
--help|-h) usage ;;
--gerrit-war|-g) shift ; GERRIT_WAR=$1 ;;
--task-plugin-jar|-t) shift ; TASK_PLUGIN_JAR=$1 ;;
+ --preserve) PRESERVE="true" ;;
*) usage "invalid argument $1" ;;
esac
shift