blob: f40a82a96de1d512ea8432a0394a7e4230709343 [file] [log] [blame]
Andrew Jeffery2aa237d2023-09-22 18:21:06 +09301#include "array.h"
2#include "libpldm/transport.h"
3#include "transport/test.h"
4
5#include <gtest/gtest.h>
6
7TEST(Transport, send_recv_wrong_command_code)
8{
9 uint8_t req[] = {0x81, 0x00, 0x01, 0x01};
10 uint8_t resp[] = {0x01, 0x00, 0x02, 0x00};
11 const struct pldm_transport_test_descriptor seq[] = {
12 {
13 .type = PLDM_TRANSPORT_TEST_ELEMENT_MSG_SEND,
14 .send_msg =
15 {
16 .dst = 1,
17 .msg = req,
18 .len = sizeof(req),
19 },
20 },
21 {
22 .type = PLDM_TRANSPORT_TEST_ELEMENT_LATENCY,
23 .latency =
24 {
25 .it_interval = {0, 0},
26 .it_value = {1, 0},
27 },
28 },
29 {
30 .type = PLDM_TRANSPORT_TEST_ELEMENT_MSG_RECV,
31 .recv_msg =
32 {
33 .src = 2,
34 .msg = resp,
35 .len = sizeof(resp),
36 },
37 },
38 {
39 .type = PLDM_TRANSPORT_TEST_ELEMENT_LATENCY,
40 .latency =
41 {
42 .it_interval = {0, 0},
43 .it_value = {4, 0},
44 },
45 },
46 };
47 struct pldm_transport_test* test = NULL;
48 struct pldm_transport* ctx;
49 size_t len;
50 void* msg;
51 int rc;
52
53 EXPECT_EQ(pldm_transport_test_init(&test, seq, ARRAY_SIZE(seq)), 0);
54 ctx = pldm_transport_test_core(test);
55 rc = pldm_transport_send_recv_msg(ctx, 1, req, sizeof(req), &msg, &len);
56 EXPECT_EQ(rc, PLDM_REQUESTER_RECV_FAIL);
57 pldm_transport_test_destroy(test);
58}