Skip to content

Commit ebd9380

Browse files
authored
test: fix two issues running tests locally (#4220)
Two issues with testing locally on my dev laptop: 1. `docker-compose` (i.e. Docker Compose v1) is dead and, in some versions, now gone. Time for `docker compose ...` (i.e. v2): https://docs.docker.com/compose/migrate/ ``` % npm test > [email protected] test > ./test/script/run_tests.sh ./test/script/run_tests.sh: line 93: docker-compose: command not found ``` 2. The mysql image has no layer for ARM, i.e. that natively runs on Apple Silicon. ``` % npm test > [email protected] test > ./test/script/run_tests.sh [+] Running 0/1 ⠼ mysql Pulling 1.4s no matching manifest for linux/arm64/v8 in the manifest list entries ```
1 parent 73a160a commit ebd9380

File tree

4 files changed

+8
-8
lines changed

4 files changed

+8
-8
lines changed

TESTING.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ npm run lint # or 'make check' if you are a Makefile kind of pe
2828

2929
npm test # run test services and tests in Docker
3030

31-
docker-compose -f test/docker-compose.yml config --services # list test services
31+
docker compose -f test/docker-compose.yml config --services # list test services
3232
npm run docker:start # start all test services
3333
npm run docker:start redis # start one or more test services
3434
npm run docker:stop # stop all test services

test/docker-compose.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
version: '2.1'
2-
31
services:
42
postgres:
53
user: postgres
@@ -51,6 +49,8 @@ services:
5149

5250
mysql:
5351
image: mysql:5.7
52+
# No ARM64 image layer. See https://stackoverflow.com/a/65592942
53+
platform: linux/x86_64
5454
environment:
5555
MYSQL_ALLOW_EMPTY_PASSWORD: 1
5656
ports:

test/script/docker/run_tests.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ else
1818
CMD='npm test'
1919
fi
2020

21-
NODE_VERSION=${1} docker-compose --no-ansi --log-level ERROR -f ./test/docker-compose.yml -f ./test/docker-compose.ci.yml run \
21+
NODE_VERSION=${1} docker compose --no-ansi --log-level ERROR -f ./test/docker-compose.yml -f ./test/docker-compose.ci.yml run \
2222
-e NODE_VERSION=${NODE_VERSION} \
2323
-e TAV=${TAV_MODULES} \
2424
-e CI=true \
@@ -33,4 +33,4 @@ NODE_VERSION=${1} docker-compose --no-ansi --log-level ERROR -f ./test/docker-co
3333
npm --version
3434
${CMD}"
3535

36-
NODE_VERSION=${1} docker-compose --no-ansi --log-level ERROR -f ./test/docker-compose.yml -f ./test/docker-compose.ci.yml down -v
36+
NODE_VERSION=${1} docker compose --no-ansi --log-level ERROR -f ./test/docker-compose.yml -f ./test/docker-compose.ci.yml down -v

test/script/run_tests.sh

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ then
9090
else
9191
# No arguments was given. Let's just assume that the user wants to
9292
# spin up all dependencies inside Docker and run the tests locally
93-
services=$(docker-compose -f ./test/docker-compose.yml config --services)
93+
services=$(docker compose -f ./test/docker-compose.yml config --services)
9494
fi
9595

9696
service_arr=( $services )
@@ -106,11 +106,11 @@ then
106106
elif [[ $healthy -lt $expected_healthy || $containers -lt $expected_containers ]]
107107
then
108108
finish () {
109-
docker-compose -f ./test/docker-compose.yml down
109+
docker compose -f ./test/docker-compose.yml down
110110
}
111111
trap finish EXIT
112112

113-
docker-compose -f ./test/docker-compose.yml up -d $services
113+
docker compose -f ./test/docker-compose.yml up -d $services
114114
wait_for_healthy
115115
fi
116116

0 commit comments

Comments
 (0)