From 9a507e3f183746196742daf7aba17da1c87317f3 Mon Sep 17 00:00:00 2001 From: Adam Date: Tue, 2 Aug 2022 11:19:17 +0300 Subject: [PATCH] [System Tests] Allow running system tests by test suite/component (#2204) * system test by component * better env var * fix --- Makefile | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/Makefile b/Makefile index 3f3097741d6..eb08374dd6d 100644 --- a/Makefile +++ b/Makefile @@ -66,6 +66,19 @@ MLRUN_PIP_NO_CACHE_FLAG := $(if $(MLRUN_NO_CACHE),--no-cache-dir,) MLRUN_OLD_VERSION_ESCAPED = $(shell echo "$(MLRUN_OLD_VERSION)" | sed 's/\./\\\./g') MLRUN_BC_TESTS_OPENAPI_OUTPUT_PATH ?= $(shell pwd) +# if MLRUN_SYSTEM_TESTS_COMPONENT isn't set, we'll run all system tests +# if MLRUN_SYSTEM_TESTS_COMPONENT is set, we'll run only the system tests for the given component +# if MLRUN_SYSTEM_TESTS_COMPONENT starts with "no_", we'll ignore that component in the system tests +MLRUN_SYSTEM_TESTS_COMPONENT ?= +MLRUN_SYSTEM_TESTS_IGNORE_COMPONENT := $(shell echo "$(MLRUN_SYSTEM_TESTS_COMPONENT)" | sed 's/^no_\(.*\)/\1/g') +ifndef MLRUN_SYSTEM_TESTS_COMPONENT + MLRUN_SYSTEM_TESTS_COMMAND_SUFFIX = "tests/system" +else ifeq ($(MLRUN_SYSTEM_TESTS_COMPONENT),$(MLRUN_SYSTEM_TESTS_IGNORE_COMPONENT)) + MLRUN_SYSTEM_TESTS_COMMAND_SUFFIX = "tests/system/$(MLRUN_SYSTEM_TESTS_COMPONENT)" +else + MLRUN_SYSTEM_TESTS_COMMAND_SUFFIX = "--ignore=tests/system/$(MLRUN_SYSTEM_TESTS_COMPONENT) tests/system" +endif + .PHONY: help help: ## Display available commands @grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}' @@ -452,7 +465,12 @@ test-migrations: clean ## Run mlrun db migrations tests .PHONY: test-system-dockerized test-system-dockerized: build-test-system ## Run mlrun system tests in docker container - docker run --env MLRUN_SYSTEM_TESTS_CLEAN_RESOURCES=$(MLRUN_SYSTEM_TESTS_CLEAN_RESOURCES) -t --rm $(MLRUN_SYSTEM_TEST_IMAGE_NAME) + docker run \ + --env MLRUN_SYSTEM_TESTS_CLEAN_RESOURCES=$(MLRUN_SYSTEM_TESTS_CLEAN_RESOURCES) \ + --env MLRUN_SYSTEM_TESTS_COMMAND_SUFFIX=$(MLRUN_SYSTEM_TESTS_COMMAND_SUFFIX) \ + -t \ + --rm \ + $(MLRUN_SYSTEM_TEST_IMAGE_NAME) .PHONY: test-system test-system: ## Run mlrun system tests @@ -461,7 +479,7 @@ test-system: ## Run mlrun system tests --disable-warnings \ --durations=100 \ -rf \ - tests/system + $(MLRUN_SYSTEM_TESTS_COMMAND_SUFFIX) .PHONY: test-system-open-source test-system-open-source: update-version-file ## Run mlrun system tests with opensource configuration @@ -471,7 +489,7 @@ test-system-open-source: update-version-file ## Run mlrun system tests with open --durations=100 \ -rf \ -m "not enterprise" \ - tests/system + $(MLRUN_SYSTEM_TESTS_COMMAND_SUFFIX) .PHONY: test-package test-package: ## Run mlrun package tests