diff options
Diffstat (limited to 'extras/hs-test/Makefile')
-rw-r--r-- | extras/hs-test/Makefile | 71 |
1 files changed, 64 insertions, 7 deletions
diff --git a/extras/hs-test/Makefile b/extras/hs-test/Makefile index c4eadabf869..7460026ed52 100644 --- a/extras/hs-test/Makefile +++ b/extras/hs-test/Makefile @@ -1,16 +1,73 @@ -all: build docker -install-dep: - apt update -y && apt install -y golang docker-ce apache2-utils wrk bridge-utils +ifeq ($(VERBOSE),) +VERBOSE=false +endif -build: +ifeq ($(PERSIST),) +PERSIST=false +endif + +ifeq ($(TEST),) +TEST=all +endif + +list_tests = @(grep -r ') Test' *_test.go | cut -d '*' -f2 | cut -d '(' -f1 | \ + tr -d ' ' | tr ')' '/' | sed 's/Suite//') + +.PHONY: help +help: + @echo "Make targets:" + @echo " test - run tests" + @echo " build - build test infra" + @echo " build-debug - build test infra (vpp debug image)" + @echo " build-go - just build golang files" + @echo " fixstyle - format .go source files" + @echo " list-tests - list all tests" + @echo + @echo "Make arguments:" + @echo " UBUNTU_VERSION - ubuntu version for docker image" + @echo " PERSIST=[true|false] - whether clean up topology and dockers after test" + @echo " VERBOSE=[true|false] - verbose output" + @echo " TEST=[test-name] - specific test to run" + @echo + @echo "List of all tests:" + $(call list_tests) + +.PHONY: list-tests +list-tests: + $(call list_tests) + +build-vpp-release: + @make -C ../.. build-release + +build-vpp-debug: + @make -C ../.. build + +.PHONY: test +test: .deps.ok .build.vpp + @bash ./test --persist=$(PERSIST) --verbose=$(VERBOSE) --test=$(TEST) + +build-go: go build ./tools/http_server -docker: - bash ./script/build.sh +build: .deps.ok build-vpp-release build-go + @rm .build.vpp || exit 0 + bash ./script/build.sh release + @touch .build.vpp + +build-debug: .deps.ok build-vpp-debug build-go + @rm .build.vpp || exit 0 + bash ./script/build.sh debug + @touch .build.vpp + +.PHONY: install-deps +install-deps: + @rm .deps.ok || exit 0 + @apt update -y && apt install -y golang docker-ce apache2-utils wrk bridge-utils + @touch .deps.ok +.PHONY: fixstyle fixstyle: @gofmt -w . @go mod tidy -.PHONY: docker |