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
