1 // SPDX-License-Identifier: BSD-3-Clause
2 /*
3 * Copyright (c) 2021, Arm Limited. All rights reserved.
4 */
5
6 #include <CppUTestExt/MockSupport.h>
7 #include <CppUTest/TestHarness.h>
8 #include "mock_sp_rxtx.h"
9 #include <stdint.h>
10 #include <stdlib.h>
11
12 static uint8_t tx_buf[16] = { 0 };
13 static const uint8_t rx_buf[16] = { 0 };
14
15 static void *expected_tx_buffer = tx_buf;
16 static const void *expected_rx_buffer = rx_buf;
17 static size_t expected_size = 1234;
18
TEST_GROUP(mock_sp_rxtx)19 TEST_GROUP(mock_sp_rxtx)
20 {
21 TEST_TEARDOWN()
22 {
23 mock().checkExpectations();
24 mock().clear();
25 }
26
27 static const sp_result result = -1;
28 };
29
TEST(mock_sp_rxtx,sp_rxtx_buffer_map)30 TEST(mock_sp_rxtx, sp_rxtx_buffer_map)
31 {
32 expect_sp_rxtx_buffer_map(expected_tx_buffer, expected_rx_buffer,
33 expected_size, result);
34 LONGS_EQUAL(result,
35 sp_rxtx_buffer_map(expected_tx_buffer, expected_rx_buffer,
36 expected_size));
37 }
38
TEST(mock_sp_rxtx,sp_rxtx_buffer_unmap)39 TEST(mock_sp_rxtx, sp_rxtx_buffer_unmap)
40 {
41 expect_sp_rxtx_buffer_unmap(result);
42 LONGS_EQUAL(result, sp_rxtx_buffer_unmap());
43 }
44
TEST(mock_sp_rxtx,sp_rxtx_buffer_alignment_boundary_get)45 TEST(mock_sp_rxtx, sp_rxtx_buffer_alignment_boundary_get)
46 {
47 const uintptr_t expected_alignment = 4096;
48 uintptr_t alignment = 0;
49
50 expect_sp_rxtx_buffer_alignment_boundary_get(&expected_alignment,
51 result);
52 LONGS_EQUAL(result, sp_rxtx_buffer_alignment_boundary_get(&alignment));
53 UNSIGNED_LONGLONGS_EQUAL(expected_alignment, alignment);
54 }
55
TEST(mock_sp_rxtx,sp_rxtx_buffer_rx_get)56 TEST(mock_sp_rxtx, sp_rxtx_buffer_rx_get)
57 {
58 const void *buffer = NULL;
59 size_t size = 0;
60
61 expect_sp_rxtx_buffer_rx_get(&expected_rx_buffer, &expected_size,
62 result);
63 LONGS_EQUAL(result, sp_rxtx_buffer_rx_get(&buffer, &size));
64 POINTERS_EQUAL(expected_rx_buffer, buffer);
65 UNSIGNED_LONGLONGS_EQUAL(expected_size, size);
66 }
67
TEST(mock_sp_rxtx,sp_rxtx_buffer_tx_get)68 TEST(mock_sp_rxtx, sp_rxtx_buffer_tx_get)
69 {
70 void *buffer = NULL;
71 size_t size = 0;
72
73 expect_sp_rxtx_buffer_tx_get((void **)&expected_tx_buffer,
74 &expected_size, result);
75 LONGS_EQUAL(result, sp_rxtx_buffer_tx_get(&buffer, &size));
76 POINTERS_EQUAL(expected_tx_buffer, buffer);
77 UNSIGNED_LONGLONGS_EQUAL(expected_size, size);
78 }
79