| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- BUILD_DIR_NAME ?= web
- MODULE_NAME := $(notdir $(shell pwd))
- MODULE_DIR := modules/$(MODULE_NAME)
- PROJECT_NAME = web
- export OVERLEAF_CONFIG = /overleaf/services/web/$(MODULE_DIR)/test/acceptance/config/settings.test.js
- export BASE_CONFIG ?= /overleaf/services/web/test/acceptance/config/settings.test.saas.js
- CFG_SAAS=/overleaf/services/web/test/acceptance/config/settings.test.saas.js
- CFG_SERVER_CE=/overleaf/services/web/test/acceptance/config/settings.test.server-ce.js
- CFG_SERVER_PRO=/overleaf/services/web/test/acceptance/config/settings.test.server-pro.js
- DOCKER_COMPOSE_FLAGS ?= -f docker-compose.yml
- DOCKER_COMPOSE := cd ../../ && \
- MODULE_DIR=$(MODULE_DIR) \
- BUILD_NUMBER=$(BUILD_NUMBER) \
- BRANCH_NAME=$(BRANCH_NAME) \
- PROJECT_NAME=$(PROJECT_NAME) \
- MOCHA_GREP=${MOCHA_GREP} \
- docker compose ${DOCKER_COMPOSE_FLAGS}
- DOCKER_COMPOSE_TEST_ACCEPTANCE := \
- export COMPOSE_PROJECT_NAME=acceptance_test_$(BUILD_DIR_NAME)_$(MODULE_NAME) \
- && $(DOCKER_COMPOSE)
- DOCKER_COMPOSE_TEST_UNIT := \
- export COMPOSE_PROJECT_NAME=unit_test_$(BUILD_DIR_NAME)_$(MODULE_NAME) \
- && $(DOCKER_COMPOSE)
- # Keep in sync with TEST_ACCEPTANCE_MONGO_INIT in Makefile
- TEST_ACCEPTANCE_MONGO_INIT := \
- $(DOCKER_COMPOSE_TEST_ACCEPTANCE) up -d mongo; \
- $(DOCKER_COMPOSE_TEST_ACCEPTANCE) exec -T mongo sh -c ' \
- while ! mongosh --eval "db.version()" > /dev/null; do \
- echo "Waiting for Mongo..."; \
- sleep 1; \
- done; \
- mongosh --eval "rs.initiate({ _id: \"overleaf\", members: [ { _id: 0, host: \"mongo:27017\" } ] })"'
- ifeq (,$(wildcard test/unit))
- test_unit:
- else
- test_unit:
- ${DOCKER_COMPOSE_TEST_UNIT} run --rm test_unit npm -q run test:unit:run_dir -- ${MOCHA_ARGS} $(MODULE_DIR)/test/unit/src
- ${DOCKER_COMPOSE_TEST_UNIT} down
- endif
- ALL_TEST_ACCEPTANCE_VARIANTS := \
- test_acceptance \
- test_acceptance_saas \
- test_acceptance_server_ce \
- test_acceptance_server_pro \
- ifeq (,$(wildcard test/acceptance))
- $(ALL_TEST_ACCEPTANCE_VARIANTS) test_acceptance_merged_inner:
- @echo
- @echo Module $(MODULE_NAME) does not have acceptance tests.
- @echo
- clean_test_acceptance:
- else
- test_acceptance_saas: export BASE_CONFIG = $(CFG_SAAS)
- test_acceptance_server_ce: export BASE_CONFIG = $(CFG_SERVER_CE)
- test_acceptance_server_pro: export BASE_CONFIG = $(CFG_SERVER_PRO)
- $(ALL_TEST_ACCEPTANCE_VARIANTS):
- $(MAKE) --no-print-directory clean_test_acceptance
- $(TEST_ACCEPTANCE_MONGO_INIT)
- ${DOCKER_COMPOSE_TEST_ACCEPTANCE} run --rm test_acceptance npm -q run test:acceptance:run_dir -- ${MOCHA_ARGS} $(MODULE_DIR)/test/acceptance/src
- $(MAKE) --no-print-directory clean_test_acceptance
- test_acceptance_merged_inner:
- cd ../../ && \
- npm -q run test:acceptance:run_dir -- ${MOCHA_ARGS} $(MODULE_DIR)/test/acceptance/src
- clean_test_acceptance:
- ${DOCKER_COMPOSE_TEST_ACCEPTANCE} down -v -t 0
- endif
|