github.com/algorand/go-algorand-sdk@v1.24.0/Makefile (about) 1 SRCPATH := $(shell pwd) 2 TEST_SOURCES := $(shell cd $(SRCPATH) && go list ./...) 3 TEST_SOURCES_NO_CUCUMBER := $(shell cd $(SRCPATH) && go list ./... | grep -v test) 4 UNIT_TAGS := "$(shell awk '{print $2}' test/unit.tags | paste -s -d, -)" 5 INTEGRATIONS_TAGS := "$(shell awk '{print $2}' test/integration.tags | paste -s -d, -)" 6 GO_IMAGE := golang:$(subst go,,$(shell go version | cut -d' ' -f 3 | cut -d'.' -f 1,2))-stretch 7 8 lint: 9 golint `go list ./... | grep -v /vendor/` 10 11 fmt: 12 go fmt ./... 13 14 generate: 15 cd $(SRCPATH) && go generate ./logic 16 17 build: generate 18 cd $(SRCPATH) && go test -run xxx_phony_test $(TEST_SOURCES) 19 20 test: 21 go test $(TEST_SOURCES_NO_CUCUMBER) 22 23 unit: 24 go test $(TEST_SOURCES_NO_CUCUMBER) 25 cd test && go test -timeout 0s --godog.strict=true --godog.format=pretty --godog.tags=$(UNIT_TAGS) --test.v . 26 27 integration: 28 go test $(TEST_SOURCES_NO_CUCUMBER) 29 cd test && go test -timeout 0s --godog.strict=true --godog.format=pretty --godog.tags=$(INTEGRATIONS_TAGS) --test.v . 30 31 display-all-go-steps: 32 find test -name "*.go" | xargs grep "github.com/cucumber/godog" 2>/dev/null | cut -d: -f1 | sort | uniq | xargs grep -Eo "Step[(].[^\`]+" | awk '{sub(/:Step\(./,":")} 1' | sed -E 's/", [a-zA-Z0-9]+\)//g' 33 34 harness: 35 ./test-harness.sh up 36 37 harness-down: 38 ./test-harness.sh down 39 40 docker-gosdk-build: 41 echo "Building docker image from base $(GO_IMAGE)" 42 docker build -t go-sdk-testing --build-arg GO_IMAGE="$(GO_IMAGE)" -f test/docker/Dockerfile $(shell pwd) 43 44 docker-gosdk-run: 45 docker ps -a 46 docker run -it --network host go-sdk-testing:latest 47 48 docker-test: harness docker-gosdk-build docker-gosdk-run 49 50 51 .PHONY: test fmt