Skip to content

Check missing (*time.Ticker).Stop() call, which can cause resources leak.

License

Notifications You must be signed in to change notification settings

orijtech/tickeryzer

Repository files navigation

tickeryzer

Build status

Package tickeryzer defines an Analyzer that checks missing (*time.Ticker).Stop() call, which can cause resources leak.

Installation

With Go modules:

go get github.com/orijtech/tickeryzer/cmd/tickeryzer

Without Go modules:

cd $GOPATH/src/github.com/orijtech/tickeryzer
git checkout v0.0.1
go get
install ./cmd/tickeryzer

With Docker:

docker pull ghcr.io/orijtech/tickeryzer:latest

Usage

You can run tickeryzer either on a Go package or Go files, the same way as other Go tools work.

Example:

tickeryzer github.com/orijtech/tickeryzer/testdata/src/a

or:

tickeryzer ./testdata/src/a/a.go

With Docker:

docker run --volume $(pwd):/app --workdir /app ghcr.io/orijtech/tickeryzer:latest ./testdata/src/a/a.go

Sample output:

/go/src/github.com/orijtech/tickeryzer/testdata/a/a.go:9:2: missing ticker.Stop() call

Development

Go 1.15+

Running test

Add test case to testdata/src/a directory, then run:

go test

Contributing

All contributions are welcome, please report bug or open a pull request.