diff --git a/moduleroot/Makefile.erb b/moduleroot/Makefile.erb index 120d060..151895f 100644 --- a/moduleroot/Makefile.erb +++ b/moduleroot/Makefile.erb @@ -75,6 +75,20 @@ gen-golden: clean .compile ## Update the reference version for target `golden-di golden-diff: commodore_args += -f tests/$(instance).yml golden-diff: clean .compile ## Diff compile output against the reference version. Review output and run `make gen-golden golden-diff` if this target fails. @git diff --exit-code --minimal --no-index -- tests/golden/$(instance) compiled/ +<%- if !@configs['testMatrix'].empty? && !@configs['testMatrix']['entries'].empty? -%> + +.PHONY: golden-diff-all +golden-diff-all: recursive_target=golden-diff +golden-diff-all: $(test_instances) ## Run golden-diff for all instances. Note: this doesn't work when running make with multiple parallel jobs (-j != 1). + +.PHONY: gen-golden-all +gen-golden-all: recursive_target=gen-golden +gen-golden-all: $(test_instances) ## Run gen-golden for all instances. Note: this doesn't work when running make with multiple parallel jobs (-j != 1). + +.PHONY: $(test_instances) +$(test_instances): + $(MAKE) $(recursive_target) -e instance=$(basename $(@F)) +<%- end -%> <%- end -%> .PHONY: clean diff --git a/moduleroot/Makefile.vars.mk.erb b/moduleroot/Makefile.vars.mk.erb index c353f73..95c4e5d 100644 --- a/moduleroot/Makefile.vars.mk.erb +++ b/moduleroot/Makefile.vars.mk.erb @@ -34,3 +34,6 @@ COMMODORE_CMD ?= $(DOCKER_CMD) $(DOCKER_ARGS) $(root_volume) docker.io/projects JB_CMD ?= $(DOCKER_CMD) $(DOCKER_ARGS) --entrypoint /usr/local/bin/jb docker.io/projectsyn/commodore:latest install instance ?= defaults +<%- if @configs['feature_goldenTests'] && !@configs['testMatrix'].empty? && !@configs['testMatrix']['entries'].empty? -%> +test_instances =<%- @configs['testMatrix']['entries'].each do |entry| %> tests/<%= entry %>.yml<% end %> +<%- end -%>