Skip to content

Commit d9d91f2

Browse files
committed
Add support for TEST_SKIP_AFTER_FAILURE_COUNT
1 parent 3bb296e commit d9d91f2

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

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

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

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

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

316323
#
@@ -332,7 +339,7 @@ test-install-upgrade: do-build
332339
#
333340
test-knative: do-build
334341
STAGING_RUNTIME_REPO="$(STAGING_RUNTIME_REPO)"; \
335-
go test -timeout 60m -v ./e2e/knative -tags=integration $(TEST_KNATIVE_RUN) $(GOTESTFMT) || FAILED=1; \
342+
go test -timeout 60m -v ./e2e/knative -tags=integration $(TEST_KNATIVE_RUN) $(GOTESTFMT) || ((FAILED++)); \
336343
exit $${FAILED}
337344

338345
#

0 commit comments

Comments
 (0)