2017-04-21 01:17:29 +02:00
# Copyright 2017 The Sqlite Authors. All rights reserved.
# Use of this source code is governed by a BSD-style
# license that can be found in the LICENSE file.
2020-08-26 23:31:54 +02:00
.PHONY : all clean cover cpu editor internalError later mem nuke todo edit tcl extraquick full
2017-04-21 01:17:29 +02:00
grep = --include= *.go --include= *.l --include= *.y --include= *.yy
2020-07-26 22:36:18 +02:00
ngrep = 'TODOOK\|internal\/vfs\|internal\/bin\|internal\/mptest\|.*stringer.*\.go'
2020-09-13 15:31:23 +02:00
host = $( shell go env GOOS) -$( shell go env GOARCH)
testlog = testdata/testlog-$( shell echo $$ GOOS) -$( shell echo $$ GOARCH) $( shell echo $$ SQLITE_TEST_SUFFIX)
2017-04-21 01:17:29 +02:00
all : editor
2019-12-18 17:51:11 +01:00
date
2020-09-13 15:31:23 +02:00
go version 2>& 1 | tee log
2019-12-18 17:51:11 +01:00
./unconvert.sh
gofmt -l -s -w *.go
go test -i
2020-09-13 15:31:23 +02:00
go test -v 2>& 1 -timeout 24h | tee -a log
2020-08-26 23:31:54 +02:00
go run speedtest1/main_$( shell go env GOOS) _$( shell go env GOARCH) .go
2020-12-21 21:13:47 +01:00
GOOS = linux GOARCH = 386 go build -v ./...
2020-09-08 13:28:55 +02:00
GOOS = linux GOARCH = 386 go build -v ./...
2020-08-26 23:31:54 +02:00
GOOS = linux GOARCH = amd64 go build -v ./...
2020-12-21 21:13:47 +01:00
GOOS = linux GOARCH = amd64 go build -v ./...
GOOS = linux GOARCH = arm go build -v ./...
GOOS = linux GOARCH = arm64 go build -v ./...
GOOS = windows GOARCH = 386 go build -v ./...
GOOS = windows GOARCH = amd64 go build -v ./...
2017-04-21 01:17:29 +02:00
golint 2>& 1 | grep -v $( ngrep) || true
misspell *.go
2020-08-26 23:31:54 +02:00
staticcheck || true
2017-04-21 01:17:29 +02:00
maligned || true
2020-07-26 22:36:18 +02:00
git diff --unified= 0 testdata *.golden
2020-09-13 15:31:23 +02:00
grep -n --color= always 'FAIL\|PASS' log
2019-12-18 17:51:11 +01:00
go version
2020-09-13 15:31:23 +02:00
date 2>& 1 | tee -a log
2020-12-26 20:52:19 +01:00
darwin_amd64 :
TARGET_GOOS = darwin TARGET_GOARCH = amd64 go generate 2>& 1 | tee /tmp/log-generate-sqlite-darwin-amd64
GOOS = darwin GOARCH = amd64 go build -v ./...
2020-09-13 15:31:23 +02:00
linux_amd64 :
TARGET_GOOS = linux TARGET_GOARCH = amd64 go generate 2>& 1 | tee /tmp/log-generate-sqlite-linux-amd64
GOOS = linux GOARCH = amd64 go build -v ./...
2020-09-08 13:28:55 +02:00
linux_386 :
2020-12-21 14:09:24 +01:00
CCGO_CPP = i686-linux-gnu-cpp TARGET_GOARCH = 386 TARGET_GOOS = linux go generate 2>& 1 | tee /tmp/log-generate-sqlite-linux-386
2020-09-08 13:28:55 +02:00
GOOS = linux GOARCH = 386 go build -v ./...
2020-09-13 15:31:23 +02:00
linux_arm :
2020-12-21 14:09:24 +01:00
CCGO_CPP = arm-linux-gnueabi-cpp-8 TARGET_GOARCH = arm TARGET_GOOS = linux go generate 2>& 1 | tee /tmp/log-generate-sqlite-linux-arm
2020-09-13 15:31:23 +02:00
GOOS = linux GOARCH = arm go build -v ./...
linux_arm64 :
2020-12-21 14:09:24 +01:00
CCGO_CPP = aarch64-linux-gnu-cpp-8 TARGET_GOARCH = arm64 TARGET_GOOS = linux go generate 2>& 1 | tee /tmp/log-generate-sqlite-linux-arm64
2020-09-13 15:31:23 +02:00
GOOS = linux GOARCH = arm64 go build -v ./...
2020-12-21 21:10:07 +01:00
windows_amd64 :
CCGO_CPP = x86_64-w64-mingw32-cpp TARGET_GOOS = windows TARGET_GOARCH = amd64 go generate 2>& 1 | tee /tmp/log-generate-sqlite-windows-amd64
GOOS = windows GOARCH = amd64 go build -v ./...
windows_386 :
CCGO_CPP = i686-w64-mingw32-cpp TARGET_GOOS = windows TARGET_GOARCH = 386 go generate 2>& 1 | tee /tmp/log-generate-sqlite-windows-386
GOOS = windows GOARCH = 386 go build -v ./...
2020-12-21 14:09:24 +01:00
2020-12-22 22:10:08 +01:00
all_targets : linux_amd 64 linux_ 386 linux_arm linux_arm 64 windows_amd 64 windows_ 386
gofmt -l -s -w .
echo done
2020-12-21 14:09:24 +01:00
2020-09-13 15:31:23 +02:00
test :
go version | tee $( testlog)
uname -a | tee -a $( testlog)
go test -v -timeout 24h | tee -a $( testlog)
grep -ni fail $( testlog) | tee -a $( testlog) || true
LC_ALL = C date | tee -a $( testlog)
grep -ni --color= always fail $( testlog) || true
2020-12-26 20:52:19 +01:00
test_darwin_amd64 :
GOOS = darwin GOARCH = amd64 make test
2020-09-13 15:31:23 +02:00
test_linux_amd64 :
GOOS = linux GOARCH = amd64 make test
test_linux_386 :
GOOS = linux GOARCH = 386 make test
test_linux_386_hosted :
GOOS = linux GOARCH = 386 SQLITE_TEST_SUFFIX = -hosted-$( host) make test
test_linux_arm :
GOOS = linux GOARCH = arm make test
test_linux_arm64 :
GOOS = linux GOARCH = arm64 make test
2017-04-21 01:17:29 +02:00
2020-08-26 23:31:54 +02:00
extraquick :
go test -timeout 24h -v -run Tcl -suite extraquick -maxerror 1 2>& 1 | tee log-extraquick
date
full :
go test -timeout 24h -v -run Tcl -suite full 2>& 1 | tee log-full
date
2017-04-21 01:17:29 +02:00
clean :
go clean
2017-07-04 17:14:51 +02:00
rm -f *~ *.test *.out test.db* tt4-test*.db* test_sv.* testdb-*
2017-04-21 01:17:29 +02:00
cover :
t = $( shell tempfile) ; go test -coverprofile $$ t && go tool cover -html $$ t && unlink $$ t
cpu : clean
go test -run @ -bench . -cpuprofile cpu.out
go tool pprof -lines *.test cpu.out
edit :
2021-01-25 09:24:40 +01:00
@touch log
@if [ -f "Session.vim" ] ; then gvim -S & else gvim -p Makefile *.go & fi
2017-04-21 01:17:29 +02:00
editor :
gofmt -l -s -w *.go
2021-01-15 17:22:10 +01:00
GO111MODULE = off go install -v ./...
2017-04-21 01:17:29 +02:00
internalError :
egrep -ho '"internal error.*"' *.go | sort | cat -n
later :
@grep -n $( grep) LATER * || true
@grep -n $( grep) MAYBE * || true
mem : clean
go test -run @ -bench . -memprofile mem.out -memprofilerate 1 -timeout 24h
go tool pprof -lines -web -alloc_space *.test mem.out
2021-02-17 18:42:44 +01:00
memgrind :
2021-02-17 22:45:16 +01:00
go test -v -timeout 24h -tags libc.memgrind,cgobench -bench . -suite extraquick -xtags= libc.memgrind
2021-01-17 11:38:58 +01:00
2021-01-31 12:07:26 +01:00
regression_base_release :
GO111MODULE = on go test -v -timeout 24h -tags= cgobench -run @ -bench '(Reading1|InsertComparative)/sqlite[^3]' -recs_per_sec_as_mbps 2>& 1 | tee log-regression-base
2021-01-19 14:34:43 +01:00
regression_base_master :
GO111MODULE = off go test -v -timeout 24h -tags= cgobench -run @ -bench '(Reading1|InsertComparative)/sqlite[^3]' -recs_per_sec_as_mbps 2>& 1 | tee log-regression-base
2021-01-17 21:34:54 +01:00
regression_check :
2021-01-19 14:34:43 +01:00
GO111MODULE = off go test -v -timeout 24h -tags= cgobench -run @ -bench '(Reading1|InsertComparative)/sqlite[^3]' -recs_per_sec_as_mbps 2>& 1 | tee log-regression
benchcmp -changed -mag log-regression-base log-regression
2021-01-17 21:34:54 +01:00
2017-04-21 01:17:29 +02:00
nuke : clean
go clean -i
todo :
@grep -nr $( grep) ^[ [ :space:] ] *_[ [ :space:] ] *= [ [ :space:] ] [ [ :alpha:] ] [ [ :alnum:] ] * * | grep -v $( ngrep) || true
@grep -nr $( grep) TODO * | grep -v $( ngrep) || true
@grep -nr $( grep) BUG * | grep -v $( ngrep) || true
@grep -nr $( grep) [ ^[ :alpha:] ] println * | grep -v $( ngrep) || true
2020-07-26 22:36:18 +02:00
tcl :
cp log log-0
go test -run Tcl$$ 2>& 1 -timeout 24h -trc | tee log
grep -c '\.\.\. \?Ok' log || true
grep -c '^!' log || true
# grep -c 'Error:' log || true
tclshort :
cp log log-0
go test -run Tcl$$ -short 2>& 1 -timeout 24h -trc | tee log
grep -c '\.\.\. \?Ok' log || true
grep -c '^!' log || true
# grep -c 'Error:' log || true