Commit a3ac4421 authored by Théo Battrel's avatar Théo Battrel Committed by Stephanos Ioannidis
Browse files

Bluetooth: Tests: Fix `bt_buf_get_evt` test



Fix #55957. The `bt_buf_get_evt` test was using `net_buf` structures
without allocating it properly.

Signed-off-by: default avatarThéo Battrel <theo.battrel@nordicsemi.no>
parent 15d4545a
Loading
Loading
Loading
Loading
+8 −4
Original line number Diff line number Diff line
@@ -92,7 +92,9 @@ static struct net_buf_pool *get_memory_pool(bool discardable)
 */
ZTEST(bt_buf_get_evt_default_events_returns_not_null, test_returns_not_null)
{
	static struct net_buf expected_buf;
	const size_t user_data_size = sizeof(struct bt_buf_data);
	uint8_t expected_buf_data[sizeof(struct net_buf) + user_data_size];
	struct net_buf *expected_buf = (struct net_buf *)expected_buf_data;
	struct net_buf *returned_buf;
	uint8_t returned_buffer_type;
	k_timeout_t timeout = Z_TIMEOUT_TICKS(1000);
@@ -100,6 +102,8 @@ ZTEST(bt_buf_get_evt_default_events_returns_not_null, test_returns_not_null)
	uint8_t evt;
	bool discardable;

	expected_buf->user_data_size = user_data_size;

	for (size_t i = 0; i < (ARRAY_SIZE(testing_params_lut)); i++) {

		/* Register resets */
@@ -113,15 +117,15 @@ ZTEST(bt_buf_get_evt_default_events_returns_not_null, test_returns_not_null)
			      evt != BT_HCI_EVT_NUM_COMPLETED_PACKETS),
			     "Invalid event type %u to this test", evt);

		net_buf_alloc_fixed_fake.return_val = &expected_buf;
		net_buf_alloc_fixed_fake.return_val = expected_buf;

		returned_buf = bt_buf_get_evt(evt, discardable, timeout);

		expect_single_call_net_buf_alloc(get_memory_pool(discardable), &timeout);
		expect_single_call_net_buf_reserve(&expected_buf);
		expect_single_call_net_buf_reserve(expected_buf);
		expect_not_called_net_buf_ref();

		zassert_equal(returned_buf, &expected_buf,
		zassert_equal(returned_buf, expected_buf,
			      "bt_buf_get_evt() returned incorrect buffer pointer value");

		returned_buffer_type = bt_buf_get_type(returned_buf);
+8 −4
Original line number Diff line number Diff line
@@ -110,7 +110,9 @@ ZTEST(bt_buf_get_evt_cmd_type_returns_null, test_return_value_matches_bt_buf_get
ZTEST(bt_buf_get_evt_cmd_type_returns_not_null,
	test_return_value_matches_bt_buf_get_cmd_complete_not_null)
{
	static struct net_buf expected_buf;
	const size_t user_data_size = sizeof(struct bt_buf_data);
	uint8_t *expected_buf_data[sizeof(struct net_buf) + user_data_size];
	struct net_buf *expected_buf = (struct net_buf *)expected_buf_data;
	struct net_buf *returned_buf;
	uint8_t returned_buffer_type;
	k_timeout_t timeout = Z_TIMEOUT_TICKS(1000);
@@ -118,6 +120,8 @@ ZTEST(bt_buf_get_evt_cmd_type_returns_not_null,
	uint8_t evt;
	bool discardable;

	expected_buf->user_data_size = user_data_size;

	for (size_t i = 0; i < (ARRAY_SIZE(testing_params_lut)); i++) {

		/* Register resets */
@@ -131,15 +135,15 @@ ZTEST(bt_buf_get_evt_cmd_type_returns_not_null,
			     "Invalid event type %u to this test", evt);

		bt_dev.sent_cmd = NULL;
		net_buf_alloc_fixed_fake.return_val = &expected_buf;
		net_buf_alloc_fixed_fake.return_val = expected_buf;

		returned_buf = bt_buf_get_evt(evt, discardable, timeout);

		expect_single_call_net_buf_alloc(get_memory_pool(), &timeout);
		expect_single_call_net_buf_reserve(&expected_buf);
		expect_single_call_net_buf_reserve(expected_buf);
		expect_not_called_net_buf_ref();

		zassert_equal(returned_buf, &expected_buf,
		zassert_equal(returned_buf, expected_buf,
			      "bt_buf_get_evt() returned incorrect buffer pointer value");

		returned_buffer_type = bt_buf_get_type(returned_buf);
+8 −4
Original line number Diff line number Diff line
@@ -62,7 +62,9 @@ ZTEST_SUITE(bt_buf_get_evt_num_completed_pkts_type, NULL, NULL, NULL, NULL, NULL
 */
ZTEST(bt_buf_get_evt_num_completed_pkts_type, test_returns_not_null)
{
	static struct net_buf expected_buf;
	const size_t user_data_size = sizeof(struct bt_buf_data);
	uint8_t *expected_buf_data[sizeof(struct net_buf) + user_data_size];
	struct net_buf *expected_buf = (struct net_buf *)expected_buf_data;
	struct net_buf *returned_buf;
	uint8_t returned_buffer_type;
	k_timeout_t timeout = Z_TIMEOUT_TICKS(1000);
@@ -70,6 +72,8 @@ ZTEST(bt_buf_get_evt_num_completed_pkts_type, test_returns_not_null)
	uint8_t evt;
	bool discardable;

	expected_buf->user_data_size = user_data_size;

	for (size_t i = 0; i < (ARRAY_SIZE(testing_params_lut)); i++) {

		/* Register resets */
@@ -82,15 +86,15 @@ ZTEST(bt_buf_get_evt_num_completed_pkts_type, test_returns_not_null)
		zassert_true((evt == BT_HCI_EVT_NUM_COMPLETED_PACKETS),
			     "Invalid event type %u to this test", evt);

		net_buf_alloc_fixed_fake.return_val = &expected_buf;
		net_buf_alloc_fixed_fake.return_val = expected_buf;

		returned_buf = bt_buf_get_evt(evt, discardable, timeout);

		expect_single_call_net_buf_alloc(get_memory_pool(discardable), &timeout);
		expect_single_call_net_buf_reserve(&expected_buf);
		expect_single_call_net_buf_reserve(expected_buf);
		expect_not_called_net_buf_ref();

		zassert_equal(returned_buf, &expected_buf,
		zassert_equal(returned_buf, expected_buf,
			      "bt_buf_get_evt() returned incorrect buffer pointer value");

		returned_buffer_type = bt_buf_get_type(returned_buf);