Both engines now go through the same 68 cases. 31 produce byte-identical output; the rest have a recorded CLI expectation and a reason in DELTAS.md, the bulk of it being that the CLI does not shell out to a recursive make and calls compose once per project. Fixed while comparing: the CLI was missing the COMPOSE_FILE_* defaults, so overlays such as supabase.labels.yml would not have been loaded at all.
25 lines
885 B
Makefile
25 lines
885 B
Makefile
DEV_TARGETS := test test-unit test-golden test-integration lint golden-record
|
|
ifneq ($(filter $(DEV_TARGETS),$(MAKECMDGOALS)),)
|
|
|
|
SHELLSPEC ?= shellspec
|
|
SHELLCHECK ?= shellcheck
|
|
|
|
.PHONY: $(DEV_TARGETS)
|
|
test: ## Run unit + golden tests against both engines
|
|
$(SHELLSPEC)
|
|
MYOS_ENGINE=cli $(SHELLSPEC) spec/golden
|
|
test-unit: ## Run unit tests only
|
|
$(SHELLSPEC) spec/unit
|
|
test-golden: ## Run golden tests only (MYOS_ENGINE=legacy|cli)
|
|
$(SHELLSPEC) spec/golden
|
|
test-integration: ## Run tests needing a real docker daemon
|
|
MYOS_INTEGRATION=1 $(SHELLSPEC) spec/integration
|
|
golden-record: ## Re-record golden expectations from the legacy engine
|
|
spec/golden/record.sh $(CASES)
|
|
lint: ## shellcheck all shell sources
|
|
$(SHELLCHECK) -s bash myos spec/golden/record.sh spec/support/run.sh spec/support/bin/* $(wildcard bin/* lib/*.sh lib/cmd/*.sh install.sh)
|
|
|
|
else
|
|
include make/include.mk
|
|
endif
|