Skip to content

Commit cdb9372

Browse files
authored
Refactor how the docker-compose / docker compose cmd is constructed (#40)
* Fix docker inspect command for test container exit code * Improve exit code handling for Docker tests Refactor exit code retrieval for Docker container. * Update assertion in HelloTest to check 'Helloo' * Update HelloTest.java * Update docker_compose_test.sh * Update assertion in HelloTest to check 'Helloo' * Refactor exit code retrieval for test container Simplified the exit code retrieval for the test container. * Fix docker inspect command syntax in test script * Update docker_compose_test.sh * Simplify exit code retrieval for Docker container * Update docker_compose_test.sh * Update docker_compose_test.sh * Refactor docker compose command handling in script * Update HelloTest.java * Update MODULE.bazel
1 parent 3e6c838 commit cdb9372

File tree

2 files changed

+7
-8
lines changed

2 files changed

+7
-8
lines changed

MODULE.bazel

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515

1616
module(
1717
name = "rules_docker_compose_test",
18-
version = "1.3.0",
18+
version = "1.3.1",
1919
)
2020

2121
bazel_dep(name = "rules_pkg", version = "1.0.1")

docker_compose_test/docker_compose_test.sh

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -47,15 +47,14 @@ fi
4747
# if we use the file from inside the sandbox, symlinks will be used for volume mounted files.
4848
ABSOLUTE_COMPOSE_FILE_PATH=$WORKSPACE_PATH/$DOCKER_COMPOSE_FILE
4949

50-
docker_compose_bin="docker compose"
51-
docker-compose --version &>/dev/null
52-
if [ $? -eq 0 ]; then
53-
docker_compose_bin="docker-compose"
50+
docker_compose_bin=(docker compose)
51+
if command -v docker-compose &>/dev/null; then
52+
docker_compose_bin=(docker-compose)
5453
fi
5554

5655
cleanup() {
5756
echo "Cleaning up docker-compose resources..."
58-
docker_compose_down_cmd="$docker_compose_bin -f $ABSOLUTE_COMPOSE_FILE_PATH down --volumes --remove-orphans"
57+
docker_compose_down_cmd="${docker_compose_bin[@]} -f $ABSOLUTE_COMPOSE_FILE_PATH down --volumes --remove-orphans"
5958
echo "running: $docker_compose_down_cmd"
6059
echo "$docker_compose_down_cmd" | bash
6160
}
@@ -66,13 +65,13 @@ cleanup() {
6665
trap cleanup EXIT
6766

6867
# bring up compose file & get exit status-code from the integration test container.
69-
docker_compose_up_cmd="$docker_compose_bin -f $ABSOLUTE_COMPOSE_FILE_PATH up --exit-code-from $DOCKER_COMPOSE_TEST_CONTAINER $EXTRA_DOCKER_COMPOSE_UP_ARGS"
68+
docker_compose_up_cmd="${docker_compose_bin[@]} -f $ABSOLUTE_COMPOSE_FILE_PATH up --exit-code-from $DOCKER_COMPOSE_TEST_CONTAINER $EXTRA_DOCKER_COMPOSE_UP_ARGS"
7069
echo "running: $docker_compose_up_cmd"
7170
echo "$docker_compose_up_cmd" | bash
7271
result=$?
7372

7473
# Figure out the exit code of the test container incase it never actually started.
75-
EXIT_CODE=$(docker inspect $(docker compose -f $ABSOLUTE_COMPOSE_FILE_PATH ps -qa $DOCKER_COMPOSE_TEST_CONTAINER) --format='{{.State.ExitCode}}' 2>/dev/null)
74+
EXIT_CODE=$(docker inspect $("${docker_compose_bin[@]}" -f $ABSOLUTE_COMPOSE_FILE_PATH ps -qa $DOCKER_COMPOSE_TEST_CONTAINER) --format='{{.State.ExitCode}}' 2>/dev/null)
7675
if [ "$EXIT_CODE" != "0" ] || [ -z "$EXIT_CODE" ]; then
7776
echo "Error: $DOCKER_COMPOSE_TEST_CONTAINER container failed or never started!"
7877
exit 1

0 commit comments

Comments
 (0)