Skip to content

Commit 33566be

Browse files
NDaffernIBMGitHub Enterprise
authored andcommitted
Use Podman and Docker CLI for Container tests instead of Docker API (#415)
Signed-off-by: Nicholas-Daffern <Nicholas.Daffern@ibm.com>
1 parent e14ffb2 commit 33566be

File tree

18 files changed

+1464
-1318
lines changed

18 files changed

+1464
-1318
lines changed

Makefile

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -45,10 +45,10 @@ MQ_ARCHIVE ?= IBM_MQ_$(MQ_VERSION_VRM)_$(MQ_ARCHIVE_TYPE)_$(MQ_ARCHIVE_ARCH)_NOI
4545
MQ_ARCHIVE_DEV ?= $(MQ_VERSION)-IBM-MQ-Advanced-for-Developers-Non-Install-$(MQ_ARCHIVE_DEV_TYPE)$(MQ_ARCHIVE_DEV_ARCH).tar.gz
4646
# MQ_SDK_ARCHIVE specifies the archive to use for building the golang programs. Defaults vary on developer or advanced.
4747
MQ_SDK_ARCHIVE ?= $(MQ_ARCHIVE_DEV_$(MQ_VERSION))
48-
# Options to `go test` for the Docker tests
49-
TEST_OPTS_DOCKER ?=
50-
# Timeout for the Docker tests
51-
TEST_TIMEOUT_DOCKER ?= 45m
48+
# Options to `go test` for the Container tests
49+
TEST_OPTS_CONTAINER ?=
50+
# Timeout for the tests
51+
TEST_TIMEOUT_CONTAINER ?= 45m
5252
# MQ_IMAGE_ADVANCEDSERVER is the name of the built MQ Advanced image
5353
MQ_IMAGE_ADVANCEDSERVER ?=ibm-mqadvanced-server
5454
# MQ_IMAGE_DEVSERVER is the name of the built MQ Advanced for Developers image
@@ -278,38 +278,38 @@ cache-mq-tag:
278278
# Test targets
279279
###############################################################################
280280

281-
# Vendor Go dependencies for the Docker tests
282-
test/docker/vendor:
283-
cd test/docker && go mod vendor
281+
# Vendor Go dependencies for the Container tests
282+
test/container/vendor:
283+
cd test/container && go mod vendor
284284

285285
# Shortcut to just run the unit tests
286286
.PHONY: test-unit
287287
test-unit:
288288
$(COMMAND) build --target builder --file Dockerfile-server .
289289

290290
.PHONY: test-advancedserver
291-
test-advancedserver: test/docker/vendor
291+
test-advancedserver: test/container/vendor
292292
$(info $(SPACER)$(shell printf $(TITLE)"Test $(MQ_IMAGE_ADVANCEDSERVER):$(MQ_TAG) on $(shell $(COMMAND) --version)"$(END)))
293293
$(COMMAND) inspect $(MQ_IMAGE_ADVANCEDSERVER):$(MQ_TAG)
294-
cd test/docker && TEST_IMAGE=$(MQ_IMAGE_ADVANCEDSERVER):$(MQ_TAG) EXPECTED_LICENSE=Production DOCKER_API_VERSION=$(DOCKER_API_VERSION) go test -parallel $(NUM_CPU) -timeout $(TEST_TIMEOUT_DOCKER) $(TEST_OPTS_DOCKER)
294+
cd test/container && TEST_IMAGE=$(MQ_IMAGE_ADVANCEDSERVER):$(MQ_TAG) EXPECTED_LICENSE=Production DOCKER_API_VERSION=$(DOCKER_API_VERSION) COMMAND=$(COMMAND) go test -parallel $(NUM_CPU) -timeout $(TEST_TIMEOUT_CONTAINER) $(TEST_OPTS_CONTAINER)
295295

296296
.PHONY: build-devjmstest
297297
build-devjmstest:
298298
$(info $(SPACER)$(shell printf $(TITLE)"Build JMS tests for developer config"$(END)))
299-
cd test/messaging && docker build --tag $(DEV_JMS_IMAGE) .
299+
cd test/messaging && $(COMMAND) build --tag $(DEV_JMS_IMAGE) .
300300

301301
.PHONY: test-devserver
302-
test-devserver: test/docker/vendor
302+
test-devserver: test/container/vendor
303303
$(info $(SPACER)$(shell printf $(TITLE)"Test $(MQ_IMAGE_DEVSERVER):$(MQ_TAG) on $(shell $(COMMAND) --version)"$(END)))
304304
$(COMMAND) inspect $(MQ_IMAGE_DEVSERVER):$(MQ_TAG)
305-
cd test/docker && TEST_IMAGE=$(MQ_IMAGE_DEVSERVER):$(MQ_TAG) EXPECTED_LICENSE=Developer DEV_JMS_IMAGE=$(DEV_JMS_IMAGE) IBMJRE=false DOCKER_API_VERSION=$(DOCKER_API_VERSION) go test -parallel $(NUM_CPU) -timeout $(TEST_TIMEOUT_DOCKER) -tags mqdev $(TEST_OPTS_DOCKER)
305+
cd test/container && TEST_IMAGE=$(MQ_IMAGE_DEVSERVER):$(MQ_TAG) EXPECTED_LICENSE=Developer DEV_JMS_IMAGE=$(DEV_JMS_IMAGE) IBMJRE=false DOCKER_API_VERSION=$(DOCKER_API_VERSION) COMMAND=$(COMMAND) go test -parallel $(NUM_CPU) -timeout $(TEST_TIMEOUT_CONTAINER) -tags mqdev $(TEST_OPTS_CONTAINER)
306306

307307
.PHONY: coverage
308308
coverage:
309309
mkdir coverage
310310

311311
.PHONY: test-advancedserver-cover
312-
test-advancedserver-cover: test/docker/vendor coverage
312+
test-advancedserver-cover: test/container/vendor coverage
313313
$(info $(SPACER)$(shell printf $(TITLE)"Test $(MQ_IMAGE_ADVANCEDSERVER):$(MQ_TAG) with code coverage on $(shell $(COMMAND) --version)"$(END)))
314314
rm -f ./coverage/unit*.cov
315315
# Run unit tests with coverage, for each package under 'internal'
@@ -319,16 +319,16 @@ test-advancedserver-cover: test/docker/vendor coverage
319319
tail -q -n +2 ./coverage/unit-*.cov >> ./coverage/unit.cov
320320
go tool cover -html=./coverage/unit.cov -o ./coverage/unit.html
321321

322-
rm -f ./test/docker/coverage/*.cov
323-
rm -f ./coverage/docker.*
324-
mkdir -p ./test/docker/coverage/
325-
cd test/docker && TEST_IMAGE=$(MQ_IMAGE_ADVANCEDSERVER):$(MQ_TAG)-cover TEST_COVER=true DOCKER_API_VERSION=$(DOCKER_API_VERSION) go test $(TEST_OPTS_DOCKER)
326-
echo 'mode: count' > ./coverage/docker.cov
327-
tail -q -n +2 ./test/docker/coverage/*.cov >> ./coverage/docker.cov
328-
go tool cover -html=./coverage/docker.cov -o ./coverage/docker.html
322+
rm -f ./test/container/coverage/*.cov
323+
rm -f ./coverage/container.*
324+
mkdir -p ./test/container/coverage/
325+
cd test/container && TEST_IMAGE=$(MQ_IMAGE_ADVANCEDSERVER):$(MQ_TAG)-cover TEST_COVER=true DOCKER_API_VERSION=$(DOCKER_API_VERSION) go test $(TEST_OPTS_CONTAINER)
326+
echo 'mode: count' > ./coverage/container.cov
327+
tail -q -n +2 ./test/container/coverage/*.cov >> ./coverage/container.cov
328+
go tool cover -html=./coverage/container.cov -o ./coverage/container.html
329329

330330
echo 'mode: count' > ./coverage/combined.cov
331-
tail -q -n +2 ./coverage/unit.cov ./coverage/docker.cov >> ./coverage/combined.cov
331+
tail -q -n +2 ./coverage/unit.cov ./coverage/container.cov >> ./coverage/combined.cov
332332
go tool cover -html=./coverage/combined.cov -o ./coverage/combined.html
333333

334334
###############################################################################
@@ -569,4 +569,4 @@ ifneq (,$(findstring docker,$(COMMAND)))
569569
endif
570570
ifneq (,$(findstring podman,$(COMMAND)))
571571
@test "$(word 1,$(subst ., ,$(PODMAN_VERSION)))" -ge "1" || (echo "Error: Podman version 1.0 or greater is required" && exit 1)
572-
endif
572+
endif

0 commit comments

Comments
 (0)