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