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 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97
|
Description: Skipping docker test run
Author: Josenilson Ferreira da Silva <nilsonfsilva@hotmail.com>
Forwarded: not-needed
Last-Update: 2025-05-03
Index: pyenv/Makefile
===================================================================
--- pyenv.orig/Makefile
+++ pyenv/Makefile
@@ -21,7 +21,11 @@ $(TEST_UNIT_DOCKER_TARGETS): GNU = $(if
$(TEST_UNIT_DOCKER_TARGETS): BASH = $(filter $(TEST_BASH_VERSIONS),$(subst -, ,$@))
$(TEST_UNIT_DOCKER_TARGETS): DOCKER_TAG = bash-$(BASH)-gnu-$(GNU)
$(TEST_UNIT_DOCKER_TARGETS): INTERACTIVE = $(if $(findstring true,$(CI)),,-ti)
+
$(TEST_UNIT_DOCKER_TARGETS): $(TEST_UNIT_DOCKER_PREFIX)-% : $(TEST_BATS_IMAGE_PREFIX)-%
+ifeq ($(PYENV_SKIP_DOCKER),1)
+ @echo "Skipping docker test run because PYENV_SKIP_DOCKER=1"
+else
$(info Running test with docker image '$(DOCKER_IMAGE):$(DOCKER_TAG)')
docker run \
--init \
@@ -35,6 +39,7 @@ $(TEST_UNIT_DOCKER_TARGETS): $(TEST_UNIT
$(INTERACTIVE) \
$(DOCKER_IMAGE):$(DOCKER_TAG) \
test/run
+endif
# Run all plugin test under bats docker
.PHONY: $(TEST_PLUGIN_DOCKER_PREFIX)
@@ -47,7 +52,11 @@ $(TEST_PLUGIN_DOCKER_TARGETS): GNU = $(i
$(TEST_PLUGIN_DOCKER_TARGETS): BASH = $(filter $(TEST_BASH_VERSIONS),$(subst -, ,$@))
$(TEST_PLUGIN_DOCKER_TARGETS): DOCKER_TAG = bash-$(BASH)-gnu-$(GNU)
$(TEST_PLUGIN_DOCKER_TARGETS): INTERACTIVE = $(if $(findstring true,$(CI)),,-ti)
+
$(TEST_PLUGIN_DOCKER_TARGETS): $(TEST_PLUGIN_DOCKER_PREFIX)-% : $(TEST_BATS_IMAGE_PREFIX)-%
+ifeq ($(PYENV_SKIP_DOCKER),1)
+ @echo "Skipping plugin docker test run because PYENV_SKIP_DOCKER=1"
+else
$(info Running test with docker image '$(DOCKER_IMAGE):$(DOCKER_TAG)')
docker run \
--init \
@@ -59,6 +68,7 @@ $(TEST_PLUGIN_DOCKER_TARGETS): $(TEST_PL
$(INTERACTIVE) \
$(DOCKER_IMAGE):$(DOCKER_TAG) \
bats $${BATS_TEST_FILTER:+--filter "$${BATS_TEST_FILTER}"} plugins/python-build/test/$${BATS_FILE_FILTER}
+endif
# Build all images needed for bats under docker
.PHONY: $(TEST_BATS_IMAGE_PREFIX)
@@ -70,7 +80,11 @@ $(TEST_BATS_IMAGE_TARGETS): DOCKER_IMAGE
$(TEST_BATS_IMAGE_TARGETS): GNU = $(if $(findstring -gnu-,$@),True,False)
$(TEST_BATS_IMAGE_TARGETS): BASH = $(filter $(TEST_BASH_VERSIONS),$(subst -, ,$@))
$(TEST_BATS_IMAGE_TARGETS): DOCKER_TAG = bash-$(BASH)-gnu-$(GNU)
+
$(TEST_BATS_IMAGE_TARGETS):
+ifeq ($(PYENV_SKIP_DOCKER),1)
+ @echo "Skipping docker image build because PYENV_SKIP_DOCKER=1"
+else
$(info Building docker image '$(DOCKER_IMAGE):$(DOCKER_TAG)')
docker build \
--quiet \
@@ -80,6 +94,7 @@ $(TEST_BATS_IMAGE_TARGETS):
--build-arg BATS_VERSION="$(TEST_BATS_VERSION)" \
-t $(DOCKER_IMAGE):$(DOCKER_TAG) \
./
+endif
.PHONY: test test-build test-unit test-plugin
@@ -93,7 +108,7 @@ test-unit: bats
PATH="./bats/bin:$$PATH" test/run
test-plugin: bats
- cd plugins/python-build && $(PWD)/bats/bin/bats $${CI:+--tap} $${BATS_TEST_FILTER:+--filter "$${BATS_TEST_FILTER}"} test/$${BATS_FILE_FILTER}
+ cd plugins/python-build && $(BATS_BIN) $${CI:+--tap} $${BATS_TEST_FILTER:+--filter "$${BATS_TEST_FILTER}"} test/$${BATS_FILE_FILTER}
PYTHON_BUILD_ROOT := $(CURDIR)/plugins/python-build
PYTHON_BUILD_OPTS ?= --verbose
@@ -108,12 +123,11 @@ test-build:
[ -e $(PYTHON_BUILD_TEST_PREFIX)/bin/pip ]
$(PYTHON_BUILD_TEST_PREFIX)/bin/pip -V
-.SECONDARY: bats-$(TEST_BATS_VERSION)
-bats-$(TEST_BATS_VERSION):
- rm -rf bats
- ln -sf bats-$(TEST_BATS_VERSION) bats
- git clone --depth 1 --branch $(TEST_BATS_VERSION) https://github.com/bats-core/bats-core.git bats-$(TEST_BATS_VERSION)
-
+ .SECONDARY: bats-$(TEST_BATS_VERSION)
+ bats-$(TEST_BATS_VERSION):
+ ifneq ("$(wildcard bats-$(TEST_BATS_VERSION))","")
+ ln -sf bats-$(TEST_BATS_VERSION) bats
+ else
+ @echo "Bats directory not found, skipping clone (ensure bats is installed)"
+ endif
.PHONY: bats
-bats: bats-$(TEST_BATS_VERSION)
- ln -sf bats-$(TEST_BATS_VERSION) bats
|