mirror of
https://github.com/taigrr/bitcask
synced 2025-01-18 04:03:17 -08:00
* Add Unit Test for testing a corrupted config * Add Unit Test for testing errors from .Stats() * Refactor Datafile into an interface and add Unit Tests for testing Merge() errors * Refactor indexer into an interface and add Unit Tests for .Close() errors * Add Unit Tests for .Delete() errors * Add Unit Tests for testing Put/Get errors * Add Unit Test for testing Open errors (bad path for example) * Refactor out bitcask.writeConfig * Add more tests for config errors * Add unit test for options that might error * Add more test cases for close errors * Add test case for rotating datafiles * Fix a possible data race in .Stats() * Add test case for checksum errors * Add test case for Sync errors with Put and WithSync enabled * Refactor and use testify.mock for mocks and generate mocks for all interfaces * Refactor TestCloseErrors * Refactored TestDeleteErrors * Refactored TestGetErrors * Refactored TestPutErrors * Refactored TestMergeErrors and fixed a bug with .Fold() * Add test case for Scan() errors * Apparently only Scan() can return nil Node()s?
54 lines
1.2 KiB
Makefile
54 lines
1.2 KiB
Makefile
.PHONY: dev build generate install image release profile bench test clean
|
|
|
|
CGO_ENABLED=0
|
|
VERSION=$(shell git describe --abbrev=0 --tags)
|
|
COMMIT=$(shell git rev-parse --short HEAD)
|
|
|
|
all: dev
|
|
|
|
dev: build
|
|
@./bitcask --version
|
|
@./bitcaskd --version
|
|
|
|
build: clean generate
|
|
@go build \
|
|
-tags "netgo static_build" -installsuffix netgo \
|
|
-ldflags "-w -X $(shell go list)/internal.Version=$(VERSION) -X $(shell go list)/internal.Commit=$(COMMIT)" \
|
|
./cmd/bitcask/...
|
|
@go build \
|
|
-tags "netgo static_build" -installsuffix netgo \
|
|
-ldflags "-w -X $(shell go list)/internal.Version=$(VERSION) -X $(shell go list)/internal.Commit=$(COMMIT)" \
|
|
./cmd/bitcaskd/...
|
|
|
|
generate:
|
|
@go generate $(shell go list)/...
|
|
|
|
install: build
|
|
@go install ./cmd/bitcask/...
|
|
@go install ./cmd/bitcaskd/...
|
|
|
|
image:
|
|
@docker build -t prologic/bitcask .
|
|
|
|
release:
|
|
@./tools/release.sh
|
|
|
|
profile: build
|
|
@go test -cpuprofile cpu.prof -memprofile mem.prof -v -bench .
|
|
|
|
bench: build
|
|
@go test -v -benchmem -bench=. .
|
|
|
|
mocks:
|
|
@mockery -all -case underscore -output ./internal/mocks -recursive
|
|
|
|
test: build
|
|
@go test -v \
|
|
-cover -coverprofile=coverage.txt -covermode=atomic \
|
|
-coverpkg=$(shell go list) \
|
|
-race \
|
|
.
|
|
|
|
clean:
|
|
@git clean -f -d -X
|