From 7cca99fd7ad119c27665488e28ceb86800afd574 Mon Sep 17 00:00:00 2001 From: Egor Tensin Date: Thu, 2 Feb 2023 18:23:17 +0100 Subject: add Docker tests for older bash-es --- Makefile | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 Makefile (limited to 'Makefile') diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..cf78947 --- /dev/null +++ b/Makefile @@ -0,0 +1,45 @@ +MAKEFLAGS += --no-builtin-rules --no-builtin-variables --warn-undefined-variables +unexport MAKEFLAGS +.DEFAULT_GOAL := all +.DELETE_ON_ERROR: +.SUFFIXES: +SHELL := bash +.SHELLFLAGS := -eu -o pipefail -c + +escape = $(subst ','\'',$(1)) + +define noexpand +ifeq ($$(origin $(1)),environment) + $(1) := $$(value $(1)) +endif +ifeq ($$(origin $(1)),environment override) + $(1) := $$(value $(1)) +endif +ifeq ($$(origin $(1)),command line) + override $(1) := $$(value $(1)) +endif +endef + +.PHONY: DO +DO: + +.PHONY: all +all: test + +.PHONY: test +test: test/local + +.PHONY: test/all +test/all: test/local test/docker + +.PHONY: test/local +test/local: + ./test/test.sh + +test/docker/%: DO + cd test && \ + DISTRO='$*' docker-compose run --rm test && \ + docker-compose down -v + +.PHONY: test/docker +test/docker: test/docker/xenial test/docker/focal -- cgit v1.2.3 From e2e618894ed86470c89ab78c9e032a809ce7c227 Mon Sep 17 00:00:00 2001 From: Egor Tensin Date: Thu, 2 Feb 2023 18:28:18 +0100 Subject: move unit tests to test/unit/ --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Makefile') diff --git a/Makefile b/Makefile index cf78947..ddc4349 100644 --- a/Makefile +++ b/Makefile @@ -34,7 +34,7 @@ test/all: test/local test/docker .PHONY: test/local test/local: - ./test/test.sh + ./test/unit/test.sh test/docker/%: DO cd test && \ -- cgit v1.2.3 From 1f1d4af82552e8a5af4d6305d38dfe0f65383f92 Mon Sep 17 00:00:00 2001 From: Egor Tensin Date: Thu, 2 Feb 2023 19:08:00 +0100 Subject: properly rebuild Docker images Before, if you ran make test/docker/xenial make test/docker/focal It would still run tests against a Xenial image. --- Makefile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'Makefile') diff --git a/Makefile b/Makefile index ddc4349..b5c8269 100644 --- a/Makefile +++ b/Makefile @@ -38,7 +38,8 @@ test/local: test/docker/%: DO cd test && \ - DISTRO='$*' docker-compose run --rm test && \ + DISTRO='$*' docker-compose build --pull && \ + docker-compose run --rm test && \ docker-compose down -v .PHONY: test/docker -- cgit v1.2.3 From 4f7d1526ad46a5f02a9e782d80ace5b7ea09c83b Mon Sep 17 00:00:00 2001 From: Egor Tensin Date: Thu, 2 Feb 2023 19:25:55 +0100 Subject: Makefile: add a comment --- Makefile | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'Makefile') diff --git a/Makefile b/Makefile index b5c8269..054e75b 100644 --- a/Makefile +++ b/Makefile @@ -42,5 +42,9 @@ test/docker/%: DO docker-compose run --rm test && \ docker-compose down -v +# Xenial has bash 4.3, which doesn't support inherit_errexit, which is a good +# thing to test against. +# +# Keep the list repositories synced with the GitHub actions workflow. .PHONY: test/docker test/docker: test/docker/xenial test/docker/focal -- cgit v1.2.3