package netlink import ( "syscall" "testing" ) type payloadTestCase struct { name string f func(c *conn) want []byte } // checkPayload runs multiple payloadTestCase against a stub conn and checks // the outgoing message written to its buffer page. func checkPayload(t *testing.T, testCases []payloadTestCase) { t.Helper() for _, tc := range testCases { t.Run(tc.name, func(t *testing.T) { t.Parallel() t.Helper() c := conn{port: 1, pos: syscall.NLMSG_HDRLEN} tc.f(&c) if got := c.pending(); string(got) != string(tc.want) { t.Errorf("pending: %#v, want %#v", got, tc.want) } }) } }