Skip to content

Commit

Permalink
Pull request: all: add race build mode
Browse files Browse the repository at this point in the history
Squashed commit of the following:

commit 37ca296
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Fri Apr 2 13:27:32 2021 +0300

    all: run tests with race enabled

commit 20af1ab
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Fri Apr 2 13:14:36 2021 +0300

    all: add race build mode
  • Loading branch information
ainar-g committed Apr 2, 2021
1 parent 70d4c70 commit 23c9f52
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 4 deletions.
7 changes: 6 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ GPG_KEY = devteam@adguard.com
GPG_KEY_PASSPHRASE = not-a-real-password
NPM = npm
NPM_FLAGS = --prefix $(CLIENT_DIR)
RACE = 0
SIGN = 1
VERBOSE = 0
VERSION = v0.0.0
Expand All @@ -30,6 +31,7 @@ ENV = env\
GO='$(GO)'\
GOPROXY='$(GOPROXY)'\
PATH="$${PWD}/bin:$$($(GO) env GOPATH)/bin:$${PATH}"\
RACE='$(RACE)'\
SIGN='$(SIGN)'\
VERBOSE='$(VERBOSE)'\
VERSION='$(VERSION)'\
Expand Down Expand Up @@ -75,9 +77,12 @@ js-beta-test: ; # TODO(v.abdulmyanov): Add tests for the new client.
go-build: ; $(ENV) "$(SHELL)" ./scripts/make/go-build.sh
go-deps: ; $(ENV) "$(SHELL)" ./scripts/make/go-deps.sh
go-lint: ; $(ENV) "$(SHELL)" ./scripts/make/go-lint.sh
go-test: ; $(ENV) "$(SHELL)" ./scripts/make/go-test.sh
go-tools: ; $(ENV) "$(SHELL)" ./scripts/make/go-tools.sh

# TODO(a.garipov): Think about making RACE='1' the default for all
# targets.
go-test: ; $(ENV) RACE='1' "$(SHELL)" ./scripts/make/go-test.sh

go-check: go-tools go-lint go-test

openapi-lint: ; cd ./openapi/ && $(YARN) test
Expand Down
18 changes: 15 additions & 3 deletions scripts/make/go-build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -91,10 +91,22 @@ else
readonly out_flags=''
fi

# Don't use cgo. Use modules.
export CGO_ENABLED='0' GO111MODULE='on'
# Allow users to enable the race detector. Unfortunately, that means
# that CGo must be enabled.
readonly race="${RACE:-0}"
if [ "$race" = '0' ]
then
readonly cgo_enabled='0'
readonly race_flags=''
else
readonly cgo_enabled='1'
readonly race_flags='--race'
fi

export CGO_ENABLED="$cgo_enabled"
export GO111MODULE='on'

readonly build_flags="${BUILD_FLAGS:-$out_flags $par_flags\
readonly build_flags="${BUILD_FLAGS:-$race_flags $out_flags $par_flags\
$v_flags $x_flags}"

# Don't use quotes with flag variables to get word splitting.
Expand Down

0 comments on commit 23c9f52

Please sign in to comment.