Skip to content

Commit 819e3a1

Browse files
committed
Add support for TEST_SKIP_AFTER_FAILURE_COUNT
1 parent 8eeaf83 commit 819e3a1

File tree

1 file changed

+27
-20
lines changed

1 file changed

+27
-20
lines changed

script/Makefile

+27-20
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,7 @@ TEST_PREBUILD = build
9696
# Tests may run in parallel to each other. This count sets the amount of tests run in parallel. (default value usually is GOMAXPROCS)
9797
TEST_COMMON_PARALLEL_COUNT ?= 4
9898
TEST_ADVANCED_PARALLEL_COUNT ?= 4
99+
TEST_SKIP_AFTER_FAILURE_COUNT ?= 0
99100

100101
# OLM (Operator Lifecycle Manager and Operator Hub): uncomment to override operator settings at build time
101102
#GOLDFLAGS += -X github.com/apache/camel-k/v2/pkg/util/olm.DefaultOperatorName=camel-k-operator
@@ -261,45 +262,51 @@ endif
261262
#
262263
test-common: do-build
263264
FAILED=0; STAGING_RUNTIME_REPO="$(STAGING_RUNTIME_REPO)"; \
264-
go test -timeout 90m -v ./e2e/common/... -tags=integration -parallel=$(TEST_COMMON_PARALLEL_COUNT) $(TEST_INTEGRATION_COMMON_LANG_RUN) $(GOTESTFMT) || FAILED=1; \
265+
go test -timeout 90m -v ./e2e/common/... -tags=integration -parallel=$(TEST_COMMON_PARALLEL_COUNT) $(TEST_INTEGRATION_COMMON_LANG_RUN) $(GOTESTFMT) || ((FAILED++)); \
265266
exit $${FAILED}
266267

267268
#
268269
# Smoke tests are a subset of common tests used to quickly verify the operator
269270
#
270271
test-smoke: do-build
271272
FAILED=0; STAGING_RUNTIME_REPO="$(STAGING_RUNTIME_REPO)"; \
272-
go test -timeout 10m -v ./e2e/common/main_test.go -tags=integration $(TEST_INTEGRATION_COMMON_LANG_RUN) $(GOTESTFMT) || FAILED=1; \
273-
go test -timeout 30m -v ./e2e/common/languages -tags=integration -parallel=$(TEST_COMMON_PARALLEL_COUNT) $(TEST_INTEGRATION_COMMON_LANG_RUN) $(GOTESTFMT) || FAILED=1; \
274-
go test -timeout 30m -v \
275-
./e2e/common/misc/cron_test.go \
276-
./e2e/common/misc/kamelet_test.go \
277-
./e2e/common/misc/pipe_test.go \
278-
-tags=integration -parallel=$(TEST_COMMON_PARALLEL_COUNT) $(TEST_INTEGRATION_COMMON_LANG_RUN) $(GOTESTFMT) || FAILED=1; \
279-
go test -timeout 30m -v \
280-
./e2e/common/traits/camel_test.go \
281-
./e2e/common/traits/container_test.go \
282-
./e2e/common/traits/openapi_test.go \
283-
./e2e/common/traits/service_test.go \
284-
-tags=integration -parallel=$(TEST_COMMON_PARALLEL_COUNT) $(TEST_INTEGRATION_COMMON_LANG_RUN) $(GOTESTFMT) || FAILED=1; \
285-
exit $${FAILED}
273+
go test -timeout 10m -count=1 -v ./e2e/common/main_test.go -tags=integration $(TEST_INTEGRATION_COMMON_LANG_RUN) $(GOTESTFMT) || ((FAILED++)); \
274+
if [ $$FAILED -lt $(TEST_SKIP_AFTER_FAILURE_COUNT) ]; then \
275+
go test -timeout 30m -count=1 -v ./e2e/common/languages -tags=integration -parallel=$(TEST_COMMON_PARALLEL_COUNT) $(TEST_INTEGRATION_COMMON_LANG_RUN) $(GOTESTFMT) || ((FAILED++)); \
276+
fi; \
277+
if [ $$FAILED -lt $(TEST_SKIP_AFTER_FAILURE_COUNT) ]; then \
278+
go test -timeout 30m -count=1 -v \
279+
./e2e/common/misc/cron_test.go \
280+
./e2e/common/misc/kamelet_test.go \
281+
./e2e/common/misc/pipe_test.go \
282+
-tags=integration -parallel=$(TEST_COMMON_PARALLEL_COUNT) $(TEST_INTEGRATION_COMMON_LANG_RUN) $(GOTESTFMT) || ((FAILED++)); \
283+
fi; \
284+
if [ $$FAILED -lt $(TEST_SKIP_AFTER_FAILURE_COUNT) ]; then \
285+
go test -timeout 30m -count=1 -v \
286+
./e2e/common/traits/camel_test.go \
287+
./e2e/common/traits/container_test.go \
288+
./e2e/common/traits/openapi_test.go \
289+
./e2e/common/traits/service_test.go \
290+
-tags=integration -parallel=$(TEST_COMMON_PARALLEL_COUNT) $(TEST_INTEGRATION_COMMON_LANG_RUN) $(GOTESTFMT) || ((FAILED++)); \
291+
fi; \
292+
exit $$FAILED
286293

287294
#
288295
# Common tests that require some particular operator setting or need to be installed in multiple namespaces
289296
#
290297
test-advanced: do-build
291298
FAILED=0; STAGING_RUNTIME_REPO="$(STAGING_RUNTIME_REPO)"; \
292-
go test -timeout 90m -v ./e2e/advanced -tags=integration -parallel=$(TEST_ADVANCED_PARALLEL_COUNT) $(TEST_INSTALL_RUN) $(GOTESTFMT) || FAILED=1; \
299+
go test -timeout 90m -v ./e2e/advanced -tags=integration -parallel=$(TEST_ADVANCED_PARALLEL_COUNT) $(TEST_INSTALL_RUN) $(GOTESTFMT) || ((FAILED++)); \
293300
exit $${FAILED}
294301

295302
#
296303
# Installation procedure test using CLi and Kustomize methodologies
297304
#
298305
test-install: do-build
299306
FAILED=0; STAGING_RUNTIME_REPO="$(STAGING_RUNTIME_REPO)"; \
300-
go test -timeout 40m -v ./e2e/install/cli -tags=integration $(TEST_INSTALL_RUN) $(GOTESTFMT) || FAILED=1; \
301-
go test -timeout 40m -v ./e2e/install/kustomize -tags=integration $(TEST_INSTALL_RUN) $(GOTESTFMT) || FAILED=1; \
302-
go test -timeout 40m -v ./e2e/install/helm -tags=integration $(TEST_INSTALL_RUN) $(GOTESTFMT) || FAILED=1; \
307+
go test -timeout 40m -v ./e2e/install/cli -tags=integration $(TEST_INSTALL_RUN) $(GOTESTFMT) || ((FAILED++)); \
308+
go test -timeout 40m -v ./e2e/install/kustomize -tags=integration $(TEST_INSTALL_RUN) $(GOTESTFMT) || ((FAILED++)); \
309+
go test -timeout 40m -v ./e2e/install/helm -tags=integration $(TEST_INSTALL_RUN) $(GOTESTFMT) || ((FAILED++)); \
303310
exit $${FAILED}
304311

305312
#
@@ -321,7 +328,7 @@ test-install-upgrade: do-build
321328
#
322329
test-knative: do-build
323330
STAGING_RUNTIME_REPO="$(STAGING_RUNTIME_REPO)"; \
324-
go test -timeout 60m -v ./e2e/knative -tags=integration $(TEST_KNATIVE_RUN) $(GOTESTFMT) || FAILED=1; \
331+
go test -timeout 60m -v ./e2e/knative -tags=integration $(TEST_KNATIVE_RUN) $(GOTESTFMT) || ((FAILED++)); \
325332
exit $${FAILED}
326333

327334
#

0 commit comments

Comments
 (0)