diff --git a/core/collection/rollingwindow.go b/core/collection/rollingwindow.go index ffc633fc..149d88b4 100644 --- a/core/collection/rollingwindow.go +++ b/core/collection/rollingwindow.go @@ -22,6 +22,10 @@ type ( ) func NewRollingWindow(size int, interval time.Duration, opts ...RollingWindowOption) *RollingWindow { + if size < 1 { + panic("size must be greater than 0") + } + w := &RollingWindow{ size: size, win: newWindow(size), diff --git a/core/collection/rollingwindow_test.go b/core/collection/rollingwindow_test.go index 97675ef0..1cdd0fbb 100644 --- a/core/collection/rollingwindow_test.go +++ b/core/collection/rollingwindow_test.go @@ -11,6 +11,13 @@ import ( const duration = time.Millisecond * 50 +func TestNewRollingWindow(t *testing.T) { + assert.NotNil(t, NewRollingWindow(10, time.Second)) + assert.Panics(t, func() { + NewRollingWindow(0, time.Second) + }) +} + func TestRollingWindowAdd(t *testing.T) { const size = 3 r := NewRollingWindow(size, duration) diff --git a/tools/goctl/api/main.go b/tools/goctl/api/main.go deleted file mode 100644 index 53cf4d0f..00000000 --- a/tools/goctl/api/main.go +++ /dev/null @@ -1,21 +0,0 @@ -package main - -import ( - "fmt" - "os" - - "github.com/tal-tech/go-zero/core/logx" - "github.com/tal-tech/go-zero/tools/goctl/api/parser" -) - -func main() { - if len(os.Args) <= 1 { - return - } - - p, err := parser.NewParser(os.Args[1]) - logx.Must(err) - api, err := p.Parse() - logx.Must(err) - fmt.Println(api) -}