From ae7f5d6746a6f551b63ca6aaea7276d35c6cfe87 Mon Sep 17 00:00:00 2001 From: Marconi Moreto Jr Date: Sun, 22 Mar 2015 11:10:49 +0800 Subject: [PATCH] fix param count for variadic function --- gomock/call.go | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/gomock/call.go b/gomock/call.go index 1b748da..48a2ddb 100644 --- a/gomock/call.go +++ b/gomock/call.go @@ -210,7 +210,14 @@ func (c *Call) call(args []interface{}) (rets []interface{}, action func()) { if c.doFunc.IsValid() { doArgs := make([]reflect.Value, len(args)) ft := c.doFunc.Type() - for i := 0; i < ft.NumIn(); i++ { + + // if variadic, count number of arguments manually + numIn := ft.NumIn() + if c.doFunc.Type().IsVariadic() { + numIn = len(args) + } + + for i := 0; i < numIn; i++ { if args[i] != nil { doArgs[i] = reflect.ValueOf(args[i]) } else {