1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
|
NAME := test-more
DOC := doc/$(NAME).swim
MAN3 := man/man3
DOCKER_IMAGE := ingy/bash-testing:0.0.1
DOCKER_TESTS := 5.1 5.0 4.4 4.3 4.2 4.1 4.0 3.2
DOCKER_TESTS := $(DOCKER_TESTS:%=docker-test-%)
default: help
help:
@echo 'Rules: test, doc'
.PHONY: test
test:
prove $(PROVEOPT:%=% )test/
test-all: test docker-test
docker-test: $(DOCKER_TESTS)
$(DOCKER_TESTS):
$(call docker-make-test,$(@:docker-test-%=%))
doc: ReadMe.pod $(MAN3)/$(NAME).3
ReadMe.pod: $(DOC)
swim --to=pod --complete --wrap $< > $@
$(MAN3)/%.3: doc/%.swim
swim --to=man $< > $@
define docker-make-test
docker run -i -t --rm \
-v $(PWD):/git-subrepo \
-w /git-subrepo \
$(DOCKER_IMAGE) \
/bin/bash -c ' \
set -x && \
[[ -d /bash-$(1) ]] && \
export PATH=/bash-$(1)/bin:$$PATH && \
bash --version && \
make test \
'
endef
|