|
22 | 22 |
|
23 | 23 | DOCKER_EXEC := docker exec -it $(CONTAINER_NAME) |
24 | 24 | DOCKER_CLEAN := docker rm -f $(CONTAINER_NAME) || true |
| 25 | +TEST_VOLUMES := \ |
| 26 | + -v $(PWD)/src/tests:/usr/src/app/tests \ |
| 27 | + -v $(PWD)/src/examples/simple-server/index.js:/usr/src/app/index.js \ |
| 28 | + -v $(PWD)/src/examples/simple-server/.config/worker/services.yaml:/home/udx/.config/worker/services.yaml |
| 29 | +TEST_ENV := -e NODE_ENV=test |
| 30 | +TEST_RUN := docker run --rm $(TEST_VOLUMES) $(TEST_ENV) $(DOCKER_IMAGE) |
25 | 31 |
|
26 | 32 | # Build the Docker image with multi-platform support |
27 | 33 | build: |
@@ -82,38 +88,28 @@ wait-container-ready: |
82 | 88 | @echo "Container is ready." |
83 | 89 |
|
84 | 90 | # Run all tests in the tests directory |
85 | | -run-all-tests: |
| 91 | +run-all-tests: build |
86 | 92 | @echo "Running all tests in Docker container..." |
87 | | - @docker run --rm \ |
88 | | - -v $(PWD)/src/tests:/usr/src/app/tests \ |
89 | | - -v $(PWD)/src/examples/simple-server/index.js:/usr/src/app/index.js \ |
90 | | - -v $(PWD)/src/examples/simple-server/.config/worker/services.yaml:/home/udx/.config/worker/services.yaml \ |
91 | | - -e NODE_ENV=test \ |
92 | | - $(DOCKER_IMAGE) \ |
| 93 | + @$(TEST_RUN) \ |
93 | 94 | /bin/sh -c 'cd /usr/src/app/tests && for test_script in *.sh; do \ |
94 | 95 | echo "Running $$test_script..."; \ |
95 | 96 | sh ./$$test_script || { echo "Test $$test_script failed"; exit 1; }; \ |
96 | 97 | done' |
97 | 98 |
|
98 | 99 | # Run a specific test script |
99 | | -run-test: |
| 100 | +run-test: build |
100 | 101 | @if [ -z "$(TEST_SCRIPT)" ]; then \ |
101 | 102 | echo "TEST_SCRIPT is required (e.g., make run-test TEST_SCRIPT=10_validate_environment.sh)"; \ |
102 | 103 | exit 1; \ |
103 | 104 | fi |
104 | 105 | @echo "Running test $(TEST_SCRIPT) in Docker container..." |
105 | | - @docker run --rm \ |
106 | | - -v $(PWD)/src/tests:/usr/src/app/tests \ |
107 | | - -v $(PWD)/src/examples/simple-server/index.js:/usr/src/app/index.js \ |
108 | | - -v $(PWD)/src/examples/simple-server/.config/worker/services.yaml:/home/udx/.config/worker/services.yaml \ |
109 | | - -e NODE_ENV=test \ |
110 | | - $(DOCKER_IMAGE) \ |
| 106 | + @$(TEST_RUN) \ |
111 | 107 | /bin/sh -c 'cd /usr/src/app/tests && sh ./$(TEST_SCRIPT)' |
112 | 108 |
|
113 | 109 | # Run validation tests (build and run-all-tests) |
114 | | -test: build run-all-tests |
| 110 | +test: run-all-tests |
115 | 111 | @echo "Validation tests completed." |
116 | 112 |
|
117 | 113 | # Development pipeline (build and test) |
118 | | -dev-pipeline: build test |
| 114 | +dev-pipeline: test |
119 | 115 | @echo "Development pipeline completed successfully." |
0 commit comments