|
| 1 | +MONGO_DOCKER_TAG := mongo:8.0.9 |
| 2 | +MONGO_CONTAINER_NAME := mongo-$(UTIL_NAME)-test |
| 3 | + |
| 4 | + |
1 | 5 | docker-help: |
2 | 6 | @echo "Docker:" |
3 | 7 | @echo " docker-run Runs docker container with installed util;" |
4 | 8 | @echo " docker-image Builds a docker image;" |
5 | 9 | @echo " ALL=[1|0] REBUILD=[1|0]" |
6 | 10 | @echo " docker-base-image Builds a basic docker image from which to build other images;" |
7 | 11 | @echo " docker-test-image Builds a docker image for running tests and building package;" |
| 12 | + @echo " docker-test-mongo-run Runs the MongoDB docker container (${MONGO_CONTAINER_NAME}) for the unit test purpose;" |
| 13 | + @echo " docker-test-mongo-stop Stops and removes the MongoDB docker container (${MONGO_CONTAINER_NAME});" |
8 | 14 | @echo " docker-test Runs unit tests with pytest framework in the docker container;" |
9 | 15 | @echo " docker-autotest Runs autotests in docker container;" |
10 | 16 | @echo " docker-build-package Builds the debian package in special docker image;" |
@@ -36,11 +42,24 @@ docker-test-image: docker-base-image |
36 | 42 | --file docker/test_ubuntu2204.dockerfile \ |
37 | 43 | . |
38 | 44 |
|
39 | | -docker-test: docker-test-image |
40 | | - docker run --rm \ |
| 45 | +docker-test-mongo-run: |
| 46 | + @docker run \ |
| 47 | + --env MONGO_INITDB_ROOT_USERNAME=root \ |
| 48 | + --env MONGO_INITDB_ROOT_PASSWORD=root \ |
| 49 | + --detach \ |
| 50 | + --name $(MONGO_CONTAINER_NAME) \ |
| 51 | + $(MONGO_DOCKER_TAG) |
| 52 | + |
| 53 | +docker-test-mongo-stop: |
| 54 | + @docker container stop $(MONGO_CONTAINER_NAME) |
| 55 | + @docker container rm $(MONGO_CONTAINER_NAME) |
| 56 | + |
| 57 | +docker-test: docker-test-image docker-test-mongo-run |
| 58 | + @docker run --rm \ |
| 59 | + --env MONGO_HOST=$(shell docker inspect --format '{{ .NetworkSettings.IPAddress }}' $(MONGO_CONTAINER_NAME)) \ |
41 | 60 | --volume $(PWD)/test:/usr/src/$(UTIL_NAME)/test \ |
42 | | - --volume /var/run/docker.sock:/var/run/docker.sock \ |
43 | | - "$(TEST_DOCKER_TAG)" |
| 61 | + "$(TEST_DOCKER_TAG)" || (make docker-test-mongo-stop && exit 200) |
| 62 | + @make docker-test-mongo-stop |
44 | 63 |
|
45 | 64 | docker-autotest: docker-test-image docker-build-package |
46 | 65 | @if [ $(shell find . -maxdepth 1 -type f -name .env | wc --lines) != 1 ]; then \ |
|
0 commit comments