Skip to content

Commit bb9f601

Browse files
committed
Add support for TEST_SKIP_AFTER_FAILURE_COUNT
1 parent 4114271 commit bb9f601

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
@@ -106,6 +106,7 @@ TEST_PREBUILD = build
106106
# Tests may run in parallel to each other. This count sets the amount of tests run in parallel. (default value usually is GOMAXPROCS)
107107
TEST_COMMON_PARALLEL_COUNT ?= 4
108108
TEST_ADVANCED_PARALLEL_COUNT ?= 4
109+
TEST_SKIP_AFTER_FAILURE_COUNT ?= 0
109110

110111
# OLM (Operator Lifecycle Manager and Operator Hub): uncomment to override operator settings at build time
111112
#GOLDFLAGS += -X github.com/apache/camel-k/v2/pkg/util/olm.DefaultOperatorName=camel-k-operator
@@ -271,45 +272,51 @@ endif
271272
#
272273
test-common: do-build
273274
FAILED=0; STAGING_RUNTIME_REPO="$(STAGING_RUNTIME_REPO)"; \
274-
go test -timeout 90m -v ./e2e/common/... -tags=integration -parallel=$(TEST_COMMON_PARALLEL_COUNT) $(TEST_INTEGRATION_COMMON_LANG_RUN) $(GOTESTFMT) || FAILED=1; \
275+
go test -timeout 90m -v ./e2e/common/... -tags=integration -parallel=$(TEST_COMMON_PARALLEL_COUNT) $(TEST_INTEGRATION_COMMON_LANG_RUN) $(GOTESTFMT) || ((FAILED++)); \
275276
exit $${FAILED}
276277

277278
#
278279
# Smoke tests are a subset of common tests used to quickly verify the operator
279280
#
280281
test-smoke: do-build
281282
FAILED=0; STAGING_RUNTIME_REPO="$(STAGING_RUNTIME_REPO)"; \
282-
go test -timeout 10m -v ./e2e/common/main_test.go -tags=integration $(TEST_INTEGRATION_COMMON_LANG_RUN) $(GOTESTFMT) || FAILED=1; \
283-
go test -timeout 30m -v ./e2e/common/languages -tags=integration -parallel=$(TEST_COMMON_PARALLEL_COUNT) $(TEST_INTEGRATION_COMMON_LANG_RUN) $(GOTESTFMT) || FAILED=1; \
284-
go test -timeout 30m -v \
285-
./e2e/common/misc/cron_test.go \
286-
./e2e/common/misc/kamelet_test.go \
287-
./e2e/common/misc/pipe_test.go \
288-
-tags=integration -parallel=$(TEST_COMMON_PARALLEL_COUNT) $(TEST_INTEGRATION_COMMON_LANG_RUN) $(GOTESTFMT) || FAILED=1; \
289-
go test -timeout 30m -v \
290-
./e2e/common/traits/camel_test.go \
291-
./e2e/common/traits/container_test.go \
292-
./e2e/common/traits/openapi_test.go \
293-
./e2e/common/traits/service_test.go \
294-
-tags=integration -parallel=$(TEST_COMMON_PARALLEL_COUNT) $(TEST_INTEGRATION_COMMON_LANG_RUN) $(GOTESTFMT) || FAILED=1; \
295-
exit $${FAILED}
283+
go test -timeout 10m -count=1 -v ./e2e/common/main_test.go -tags=integration $(TEST_INTEGRATION_COMMON_LANG_RUN) $(GOTESTFMT) || ((FAILED++)); \
284+
if [ $$FAILED -lt $(TEST_SKIP_AFTER_FAILURE_COUNT) ]; then \
285+
go test -timeout 30m -count=1 -v ./e2e/common/languages -tags=integration -parallel=$(TEST_COMMON_PARALLEL_COUNT) $(TEST_INTEGRATION_COMMON_LANG_RUN) $(GOTESTFMT) || ((FAILED++)); \
286+
fi; \
287+
if [ $$FAILED -lt $(TEST_SKIP_AFTER_FAILURE_COUNT) ]; then \
288+
go test -timeout 30m -count=1 -v \
289+
./e2e/common/misc/cron_test.go \
290+
./e2e/common/misc/kamelet_test.go \
291+
./e2e/common/misc/pipe_test.go \
292+
-tags=integration -parallel=$(TEST_COMMON_PARALLEL_COUNT) $(TEST_INTEGRATION_COMMON_LANG_RUN) $(GOTESTFMT) || ((FAILED++)); \
293+
fi; \
294+
if [ $$FAILED -lt $(TEST_SKIP_AFTER_FAILURE_COUNT) ]; then \
295+
go test -timeout 30m -count=1 -v \
296+
./e2e/common/traits/camel_test.go \
297+
./e2e/common/traits/container_test.go \
298+
./e2e/common/traits/openapi_test.go \
299+
./e2e/common/traits/service_test.go \
300+
-tags=integration -parallel=$(TEST_COMMON_PARALLEL_COUNT) $(TEST_INTEGRATION_COMMON_LANG_RUN) $(GOTESTFMT) || ((FAILED++)); \
301+
fi; \
302+
exit $$FAILED
296303

297304
#
298305
# Common tests that require some particular operator setting or need to be installed in multiple namespaces
299306
#
300307
test-advanced: do-build
301308
FAILED=0; STAGING_RUNTIME_REPO="$(STAGING_RUNTIME_REPO)"; \
302-
go test -timeout 90m -v ./e2e/advanced -tags=integration -parallel=$(TEST_ADVANCED_PARALLEL_COUNT) $(TEST_INSTALL_RUN) $(GOTESTFMT) || FAILED=1; \
309+
go test -timeout 90m -v ./e2e/advanced -tags=integration -parallel=$(TEST_ADVANCED_PARALLEL_COUNT) $(TEST_INSTALL_RUN) $(GOTESTFMT) || ((FAILED++)); \
303310
exit $${FAILED}
304311

305312
#
306313
# Installation procedure test using CLi and Kustomize methodologies
307314
#
308315
test-install: do-build
309316
FAILED=0; STAGING_RUNTIME_REPO="$(STAGING_RUNTIME_REPO)"; \
310-
go test -timeout 40m -v ./e2e/install/cli -tags=integration $(TEST_INSTALL_RUN) $(GOTESTFMT) || FAILED=1; \
311-
go test -timeout 40m -v ./e2e/install/kustomize -tags=integration $(TEST_INSTALL_RUN) $(GOTESTFMT) || FAILED=1; \
312-
go test -timeout 40m -v ./e2e/install/helm -tags=integration $(TEST_INSTALL_RUN) $(GOTESTFMT) || FAILED=1; \
317+
go test -timeout 40m -v ./e2e/install/cli -tags=integration $(TEST_INSTALL_RUN) $(GOTESTFMT) || ((FAILED++)); \
318+
go test -timeout 40m -v ./e2e/install/kustomize -tags=integration $(TEST_INSTALL_RUN) $(GOTESTFMT) || ((FAILED++)); \
319+
go test -timeout 40m -v ./e2e/install/helm -tags=integration $(TEST_INSTALL_RUN) $(GOTESTFMT) || ((FAILED++)); \
313320
exit $${FAILED}
314321

315322
#
@@ -331,7 +338,7 @@ test-install-upgrade: do-build
331338
#
332339
test-knative: do-build
333340
STAGING_RUNTIME_REPO="$(STAGING_RUNTIME_REPO)"; \
334-
go test -timeout 60m -v ./e2e/knative -tags=integration $(TEST_KNATIVE_RUN) $(GOTESTFMT) || FAILED=1; \
341+
go test -timeout 60m -v ./e2e/knative -tags=integration $(TEST_KNATIVE_RUN) $(GOTESTFMT) || ((FAILED++)); \
335342
exit $${FAILED}
336343

337344
#

0 commit comments

Comments
 (0)