@@ -52,84 +52,82 @@ func UnpatchTestingLogger() {
5252}
5353
5454func patchError () {
55- patch ("Error" , func (test * Test , argsValues []reflect. Value ) {
55+ patch ("Error" , func (test * Test , args []interface {} ) {
5656 test .t .Helper ()
57- args := getArgs (argsValues [0 ])
5857 test .Error (args ... )
5958 })
6059}
6160
6261func patchErrorf () {
63- patch ("Errorf" , func (test * Test , argsValues []reflect. Value ) {
62+ patch ("Errorf" , func (test * Test , args []interface {} ) {
6463 test .t .Helper ()
65- format := argsValues [0 ].String ()
66- args := getArgs (argsValues [1 ])
67- test .Errorf (format , args ... )
64+ format := args [0 ].(string )
65+ test .Errorf (format , args [1 :]... )
6866 })
6967}
7068
7169func patchFatal () {
72- patch ("Fatal" , func (test * Test , argsValues []reflect. Value ) {
70+ patch ("Fatal" , func (test * Test , args []interface {} ) {
7371 test .t .Helper ()
74- args := getArgs (argsValues [0 ])
7572 test .Fatal (args ... )
7673 })
7774}
7875
7976func patchFatalf () {
80- patch ("Fatalf" , func (test * Test , argsValues []reflect. Value ) {
77+ patch ("Fatalf" , func (test * Test , args []interface {} ) {
8178 test .t .Helper ()
82- format := argsValues [0 ].String ()
83- args := getArgs (argsValues [1 ])
84- test .Fatalf (format , args ... )
79+ format := args [0 ].(string )
80+ test .Fatalf (format , args [1 :]... )
8581 })
8682}
8783
8884func patchLog () {
89- patch ("Log" , func (test * Test , argsValues []reflect. Value ) {
85+ patch ("Log" , func (test * Test , args []interface {} ) {
9086 test .t .Helper ()
91- args := getArgs (argsValues [0 ])
9287 test .Log (args ... )
9388 })
9489}
9590
9691func patchLogf () {
97- patch ("Logf" , func (test * Test , argsValues []reflect. Value ) {
92+ patch ("Logf" , func (test * Test , args []interface {} ) {
9893 test .t .Helper ()
99- format := argsValues [0 ].String ()
100- args := getArgs (argsValues [1 ])
101- test .Logf (format , args ... )
94+ format := args [0 ].(string )
95+ test .Logf (format , args [1 :]... )
10296 })
10397}
10498
10599func patchSkip () {
106- patch ("Skip" , func (test * Test , argsValues []reflect. Value ) {
100+ patch ("Skip" , func (test * Test , args []interface {} ) {
107101 test .t .Helper ()
108- args := getArgs (argsValues [0 ])
109102 test .Skip (args ... )
110103 })
111104}
112105
113106func patchSkipf () {
114- patch ("Skipf" , func (test * Test , argsValues []reflect. Value ) {
107+ patch ("Skipf" , func (test * Test , args []interface {} ) {
115108 test .t .Helper ()
116- format := argsValues [0 ].String ()
117- args := getArgs (argsValues [1 ])
118- test .Skipf (format , args ... )
109+ format := args [0 ].(string )
110+ test .Skipf (format , args [1 :]... )
119111 })
120112}
121113
122- func getArgs (in reflect.Value ) []interface {} {
114+ func createArgs (in [] reflect.Value ) []interface {} {
123115 var args []interface {}
124- if in .Kind () == reflect .Slice {
125- for i := 0 ; i < in .Len (); i ++ {
126- args = append (args , in .Index (i ).Interface ())
116+ for _ , item := range in {
117+ if item .Kind () == reflect .Slice {
118+ var itemArg []interface {}
119+ for i := 0 ; i < item .Len (); i ++ {
120+ itemArg = append (itemArg , item .Index (i ).Interface ())
121+ }
122+ args = append (args , itemArg )
123+ } else {
124+ args = append (args , item .Interface ())
127125 }
128126 }
129127 return args
130128}
131129
132- func patch (methodName string , methodBody func (test * Test , argsValues []reflect. Value )) {
130+ func patch (methodName string , methodBody func (test * Test , argsValues []interface {} )) {
133131 patchesMutex .Lock ()
134132 defer patchesMutex .Unlock ()
135133 patchPointersMutex .Lock ()
@@ -144,6 +142,7 @@ func patch(methodName string, methodBody func(test *Test, argsValues []reflect.V
144142 var methodPatch * mpatch.Patch
145143 var err error
146144 methodPatch , err = mpatch .PatchMethodWithMakeFunc (method , func (in []reflect.Value ) []reflect.Value {
145+ argIn := createArgs (in [1 :])
147146 t := (* testing .T )(unsafe .Pointer (in [0 ].Pointer ()))
148147 if t == nil {
149148 instrumentation .Logger ().Println ("testing.T is nil" )
@@ -161,7 +160,7 @@ func patch(methodName string, methodBody func(test *Test, argsValues []reflect.V
161160 instrumentation .Logger ().Printf ("test struct for %v doesn't exist\n " , t .Name ())
162161 return nil
163162 }
164- methodBody (test , in [ 1 :] )
163+ methodBody (test , argIn )
165164 return nil
166165 })
167166 logOnError (err )
0 commit comments