@@ -35,60 +35,67 @@ func TestRPCClient(t *testing.T) {
3535 debugSer .Close ()
3636 }()
3737
38+ msgID := 0
39+
3840 // 1: Receive an RPC call to the "mult" method with 2 arguments
3941 // and send back the result
4042 t .Run ("RPCClientCallFloatArgs" , func (t * testing.T ) {
4143 arr , err := in .DecodeSlice ()
4244 require .NoError (t , err )
43- require .Equal (t , []any {int8 (0 ), int8 (1 ), "mult" , []any {2.0 , 3.0 }}, arr )
44- err = out .Encode ([]any {1 , 1 , nil , 6.0 })
45+ require .Equal (t , []any {int8 (0 ), int8 (msgID ), "mult" , []any {2.0 , 3.0 }}, arr )
46+ err = out .Encode ([]any {1 , msgID , nil , 6.0 })
4547 require .NoError (t , err )
4648 expectDebug ("mult(2.0, 3.0)\r \n " )
4749 expectDebug ("-> 6.00\r \n " )
50+ msgID ++
4851 })
4952
5053 // 2: Receive an RPC call to the "mult" method with 1 argument (wrong number of arguments)
5154 // and send back an error with [int, string] format
5255 t .Run ("RPCClientCallFloatArgsError" , func (t * testing.T ) {
5356 arr , err := in .DecodeSlice ()
5457 require .NoError (t , err )
55- require .Equal (t , []any {int8 (0 ), int8 (2 ), "mult" , []any {2.0 }}, arr )
56- err = out .Encode ([]any {1 , 2 , []any {1 , "missing parameter" }, nil })
58+ require .Equal (t , []any {int8 (0 ), int8 (msgID ), "mult" , []any {2.0 }}, arr )
59+ err = out .Encode ([]any {1 , msgID , []any {1 , "missing parameter" }, nil })
5760 require .NoError (t , err )
5861 expectDebug ("mult(2.0)\r \n " )
5962 expectDebug ("-> error\r \n " )
63+ msgID ++
6064 })
6165
6266 // 3, 4: Receive an RPC call to the "or" method with 1 or 2 arguments
6367 // and send back the result
6468 t .Run ("RPCClientCallBoolArgs" , func (t * testing.T ) {
6569 arr , err := in .DecodeSlice ()
6670 require .NoError (t , err )
67- require .Equal (t , []any {int8 (0 ), int8 (3 ), "or" , []any {true , false }}, arr )
68- err = out .Encode ([]any {1 , 3 , nil , true })
71+ require .Equal (t , []any {int8 (0 ), int8 (msgID ), "or" , []any {true , false }}, arr )
72+ err = out .Encode ([]any {1 , msgID , nil , true })
6973 require .NoError (t , err )
7074 expectDebug ("or(true, false)\r \n " )
7175 expectDebug ("-> true\r \n " )
76+ msgID ++
7277
7378 arr , err = in .DecodeSlice ()
7479 require .NoError (t , err )
75- require .Equal (t , []any {int8 (0 ), int8 (4 ), "or" , []any {false }}, arr )
76- err = out .Encode ([]any {1 , 4 , nil , false })
80+ require .Equal (t , []any {int8 (0 ), int8 (msgID ), "or" , []any {false }}, arr )
81+ err = out .Encode ([]any {1 , msgID , nil , false })
7782 require .NoError (t , err )
7883 expectDebug ("or(false)\r \n " )
7984 expectDebug ("-> false\r \n " )
85+ msgID ++
8086 })
8187
8288 // 5: Receive an RPC call to the "mult" method with 1 argument (wrong number of arguments)
8389 // and send back an error with [int, string] format with a long string
8490 t .Run ("RPCClientCallFloatArgsErrorWithLongString" , func (t * testing.T ) {
8591 arr , err := in .DecodeSlice ()
8692 require .NoError (t , err )
87- require .Equal (t , []any {int8 (0 ), int8 (5 ), "mult" , []any {2.0 }}, arr )
88- err = out .Encode ([]any {1 , 5 , []any {2 , "method get_led_state not available" }, nil })
93+ require .Equal (t , []any {int8 (0 ), int8 (msgID ), "mult" , []any {2.0 }}, arr )
94+ err = out .Encode ([]any {1 , msgID , []any {2 , "method get_led_state not available" }, nil })
8995 require .NoError (t , err )
9096 expectDebug ("mult(2.0)\r \n " )
9197 expectDebug ("-> error\r \n " )
98+ msgID ++
9299 })
93100
94101 // RPC: Receive an RPC call to the "mult" method with 1 argument (wrong number of arguments)
0 commit comments