@@ -2,17 +2,20 @@ RUFF := .venv/bin/ruff
22PYTEST := .venv/bin/pytest
33MATURIN := .venv/bin/maturin
44
5- .PHONY : help build install dev test clean daemon-build daemon-release
5+ .PHONY : help build install dev test clean daemon-build daemon-release test-e2e docker-build docker-down
66
77help :
88 @echo " SandD - Sandbox Daemon - Build Commands"
99 @echo " "
1010 @echo " make build - Build Python package (debug mode)"
1111 @echo " make install - Install Python package locally"
1212 @echo " make dev - Install in development mode with hot reload"
13- @echo " make test - Run tests"
13+ @echo " make test - Run unit and integration tests"
14+ @echo " make test-e2e - Run end-to-end tests with Docker"
1415 @echo " make daemon-build - Build daemon binary (debug)"
1516 @echo " make daemon-release - Build daemon binary (release)"
17+ @echo " make docker-build - Build Docker image for daemon"
18+ @echo " make docker-down - Stop and remove Docker containers"
1619 @echo " make clean - Clean build artifacts"
1720
1821build : $(MATURIN )
@@ -48,6 +51,25 @@ clean:
4851 rm -rf python/sandd.egg-info/
4952 find . -type d -name __pycache__ -exec rm -rf {} + 2> /dev/null || true
5053
54+ test-e2e : $(PYTEST ) dev
55+ @echo " Building Docker images..."
56+ docker compose -f docker-compose.e2e.yml build
57+ @echo " "
58+ @echo " Running E2E tests with Docker..."
59+ $(PYTEST ) python/tests/test_e2e.py -v -s
60+ @echo " "
61+ @echo " Cleaning up containers..."
62+ docker compose -f docker-compose.e2e.yml down
63+
64+ docker-build :
65+ docker compose -f docker-compose.e2e.yml build
66+
67+ docker-down :
68+ docker compose -f docker-compose.e2e.yml down
69+
70+ test-all : test test-e2e
71+ @echo " All tests completed successfully"
72+
5173.PHONY : lint
5274lint : $(RUFF )
5375 $(RUFF ) check .
0 commit comments