aboutsummaryrefslogtreecommitdiffstats
path: root/vendor/github.com/RoaringBitmap/roaring/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/RoaringBitmap/roaring/Makefile')
-rw-r--r--vendor/github.com/RoaringBitmap/roaring/Makefile121
1 files changed, 121 insertions, 0 deletions
diff --git a/vendor/github.com/RoaringBitmap/roaring/Makefile b/vendor/github.com/RoaringBitmap/roaring/Makefile
new file mode 100644
index 0000000000..d5259b4c9e
--- /dev/null
+++ b/vendor/github.com/RoaringBitmap/roaring/Makefile
@@ -0,0 +1,121 @@
+.PHONY: help all test format fmtcheck vet lint qa deps clean nuke rle backrle ser fetch-real-roaring-datasets
+
+
+
+
+
+
+
+
+# Display general help about this command
+help:
+ @echo ""
+ @echo "The following commands are available:"
+ @echo ""
+ @echo " make qa : Run all the tests"
+ @echo " make test : Run the unit tests"
+ @echo ""
+ @echo " make format : Format the source code"
+ @echo " make fmtcheck : Check if the source code has been formatted"
+ @echo " make vet : Check for suspicious constructs"
+ @echo " make lint : Check for style errors"
+ @echo ""
+ @echo " make deps : Get the dependencies"
+ @echo " make clean : Remove any build artifact"
+ @echo " make nuke : Deletes any intermediate file"
+ @echo ""
+ @echo " make fuzz-smat : Fuzzy testing with smat"
+ @echo " make fuzz-stream : Fuzzy testing with stream deserialization"
+ @echo " make fuzz-buffer : Fuzzy testing with buffer deserialization"
+ @echo ""
+
+# Alias for help target
+all: help
+test:
+ go test
+ go test -race -run TestConcurrent*
+# Format the source code
+format:
+ @find ./ -type f -name "*.go" -exec gofmt -w {} \;
+
+# Check if the source code has been formatted
+fmtcheck:
+ @mkdir -p target
+ @find ./ -type f -name "*.go" -exec gofmt -d {} \; | tee target/format.diff
+ @test ! -s target/format.diff || { echo "ERROR: the source code has not been formatted - please use 'make format' or 'gofmt'"; exit 1; }
+
+# Check for syntax errors
+vet:
+ GOPATH=$(GOPATH) go vet ./...
+
+# Check for style errors
+lint:
+ GOPATH=$(GOPATH) PATH=$(GOPATH)/bin:$(PATH) golint ./...
+
+
+
+
+
+# Alias to run all quality-assurance checks
+qa: fmtcheck test vet lint
+
+# --- INSTALL ---
+
+# Get the dependencies
+deps:
+ GOPATH=$(GOPATH) go get github.com/smartystreets/goconvey/convey
+ GOPATH=$(GOPATH) go get github.com/willf/bitset
+ GOPATH=$(GOPATH) go get github.com/golang/lint/golint
+ GOPATH=$(GOPATH) go get github.com/mschoch/smat
+ GOPATH=$(GOPATH) go get github.com/dvyukov/go-fuzz/go-fuzz
+ GOPATH=$(GOPATH) go get github.com/dvyukov/go-fuzz/go-fuzz-build
+ GOPATH=$(GOPATH) go get github.com/glycerine/go-unsnap-stream
+ GOPATH=$(GOPATH) go get github.com/philhofer/fwd
+ GOPATH=$(GOPATH) go get github.com/jtolds/gls
+
+fuzz-smat:
+ go test -tags=gofuzz -run=TestGenerateSmatCorpus
+ go-fuzz-build -func FuzzSmat github.com/RoaringBitmap/roaring
+ go-fuzz -bin=./roaring-fuzz.zip -workdir=workdir/ -timeout=200
+
+
+fuzz-stream:
+ go-fuzz-build -func FuzzSerializationStream github.com/RoaringBitmap/roaring
+ go-fuzz -bin=./roaring-fuzz.zip -workdir=workdir/ -timeout=200
+
+
+fuzz-buffer:
+ go-fuzz-build -func FuzzSerializationBuffer github.com/RoaringBitmap/roaring
+ go-fuzz -bin=./roaring-fuzz.zip -workdir=workdir/ -timeout=200
+
+# Remove any build artifact
+clean:
+ GOPATH=$(GOPATH) go clean ./...
+
+# Deletes any intermediate file
+nuke:
+ rm -rf ./target
+ GOPATH=$(GOPATH) go clean -i ./...
+
+rle:
+ cp rle.go rle16.go
+ perl -pi -e 's/32/16/g' rle16.go
+ cp rle_test.go rle16_test.go
+ perl -pi -e 's/32/16/g' rle16_test.go
+
+backrle:
+ cp rle16.go rle.go
+ perl -pi -e 's/16/32/g' rle.go
+ perl -pi -e 's/2032/2016/g' rle.go
+
+ser: rle
+ go generate
+
+cover:
+ go test -coverprofile=coverage.out
+ go tool cover -html=coverage.out
+
+fetch-real-roaring-datasets:
+ # pull github.com/RoaringBitmap/real-roaring-datasets -> testdata/real-roaring-datasets
+ git submodule init
+ git submodule update