summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--android/app/Android.bp35
-rw-r--r--system/osi/Android.bp2
-rw-r--r--system/osi/BUILD.gn2
-rw-r--r--system/osi/include/ringbuffer.h62
-rw-r--r--system/osi/src/ringbuffer.cc131
-rw-r--r--system/osi/test/fuzzers/ringbuffer/Android.bp25
-rw-r--r--system/osi/test/fuzzers/ringbuffer/fuzz_ringbuffer.cc160
-rw-r--r--system/osi/test/ringbuffer_test.cc139
-rw-r--r--system/pdl/hci/Android.bp15
-rw-r--r--system/pdl/security/Android.bp15
-rw-r--r--system/test/Android.bp14
-rw-r--r--system/test/mock/mock_main_shim_stack.cc45
-rw-r--r--system/test/mock/mock_osi_ringbuffer.cc84
-rw-r--r--system/test/mock/mock_osi_ringbuffer.h139
-rw-r--r--system/test/stub/osi.cc27
15 files changed, 0 insertions, 895 deletions
diff --git a/android/app/Android.bp b/android/app/Android.bp
index b7e4929cbb..de5c43ff79 100644
--- a/android/app/Android.bp
+++ b/android/app/Android.bp
@@ -165,41 +165,6 @@ cc_library_shared {
min_sdk_version: "Tiramisu",
}
-cc_library {
- name: "libbluetooth-core",
- defaults: ["fluoride_defaults"],
- header_libs: [
- "jni_headers",
- "libbluetooth_headers",
- ],
- static_libs: [
- "lib-bt-packets",
- "lib-bt-packets-base",
- "libbt-bta-core",
- "libbt-common",
- "libbt-hci",
- "libbt-stack-core",
- "libbtcore",
- "libbtdevice",
- "libbte",
- "libbtif-core",
- "libosi",
-
- "libbluetooth-types",
- ],
- cflags: [
- // we export all classes, so change default visibility,
- // instead of having EXPORT_SYMBOL on each class
- "-fvisibility=default",
- ],
- sanitize: {
- scs: true,
- },
- apex_available: ["com.android.bt"],
- host_supported: true,
- min_sdk_version: "Tiramisu",
-}
-
android_library {
name: "BluetoothLib",
defaults: ["bluetooth_framework_errorprone_rules"],
diff --git a/system/osi/Android.bp b/system/osi/Android.bp
index 519d0594a8..9d26c957ec 100644
--- a/system/osi/Android.bp
+++ b/system/osi/Android.bp
@@ -56,7 +56,6 @@ cc_library_static {
"src/mutex.cc",
"src/properties.cc",
"src/reactor.cc",
- "src/ringbuffer.cc",
"src/socket.cc",
"src/socket_utils/socket_local_client.cc",
"src/socket_utils/socket_local_server.cc",
@@ -116,7 +115,6 @@ cc_test {
"test/list_test.cc",
"test/properties_test.cc",
"test/reactor_test.cc",
- "test/ringbuffer_test.cc",
"test/stack_power_telemetry_test.cc",
"test/thread_test.cc",
"test/wakelock_test.cc", // test internal sources only used inside the libosi
diff --git a/system/osi/BUILD.gn b/system/osi/BUILD.gn
index ffc3dfcac8..5bdf04c1e9 100644
--- a/system/osi/BUILD.gn
+++ b/system/osi/BUILD.gn
@@ -27,7 +27,6 @@ static_library("osi") {
"src/mutex.cc",
"src/properties.cc",
"src/reactor.cc",
- "src/ringbuffer.cc",
"src/socket.cc",
# TODO(mcchou): Remove these sources after platform specific
@@ -76,7 +75,6 @@ if (use.test) {
"test/list_test.cc",
"test/properties_test.cc",
"test/reactor_test.cc",
- "test/ringbuffer_test.cc",
"test/thread_test.cc",
"test/internal/semaphore_test.cc",
diff --git a/system/osi/include/ringbuffer.h b/system/osi/include/ringbuffer.h
deleted file mode 100644
index 03a7447b57..0000000000
--- a/system/osi/include/ringbuffer.h
+++ /dev/null
@@ -1,62 +0,0 @@
-/******************************************************************************
- *
- * Copyright 2015 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at:
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- ******************************************************************************/
-
-#pragma once
-
-#include <stdint.h>
-#include <sys/types.h>
-
-typedef struct ringbuffer_t ringbuffer_t;
-
-// NOTE:
-// None of the functions below are thread safe when it comes to accessing the
-// *rb pointer. It is *NOT* possible to insert and pop/delete at the same time.
-// Callers must protect the *rb pointer separately.
-
-// Create a ringbuffer with the specified size
-// Returns NULL if memory allocation failed. Resulting pointer must be freed
-// using |ringbuffer_free|.
-ringbuffer_t* ringbuffer_init(const size_t size);
-
-// Frees the ringbuffer structure and buffer
-// Save to call with NULL.
-void ringbuffer_free(ringbuffer_t* rb);
-
-// Returns remaining buffer size
-size_t ringbuffer_available(const ringbuffer_t* rb);
-
-// Returns size of data in buffer
-size_t ringbuffer_size(const ringbuffer_t* rb);
-
-// Attempts to insert up to |length| bytes of data at |p| into the buffer
-// Return actual number of bytes added. Can be less than |length| if buffer
-// is full.
-size_t ringbuffer_insert(ringbuffer_t* rb, const uint8_t* p, size_t length);
-
-// Peek |length| number of bytes from the ringbuffer, starting at |offset|,
-// into the buffer |p|. Return the actual number of bytes peeked. Can be less
-// than |length| if there is less than |length| data available. |offset| must
-// be non-negative.
-size_t ringbuffer_peek(const ringbuffer_t* rb, off_t offset, uint8_t* p, size_t length);
-
-// Does the same as |ringbuffer_peek|, but also advances the ring buffer head
-size_t ringbuffer_pop(ringbuffer_t* rb, uint8_t* p, size_t length);
-
-// Deletes |length| bytes from the ringbuffer starting from the head
-// Return actual number of bytes deleted.
-size_t ringbuffer_delete(ringbuffer_t* rb, size_t length);
diff --git a/system/osi/src/ringbuffer.cc b/system/osi/src/ringbuffer.cc
deleted file mode 100644
index 0631432458..0000000000
--- a/system/osi/src/ringbuffer.cc
+++ /dev/null
@@ -1,131 +0,0 @@
-/******************************************************************************
- *
- * Copyright 2015 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at:
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- ******************************************************************************/
-
-#include "osi/include/ringbuffer.h"
-
-#include <bluetooth/log.h>
-#include <stdlib.h>
-
-#include "osi/include/allocator.h"
-
-using namespace bluetooth;
-
-struct ringbuffer_t {
- size_t total;
- size_t available;
- uint8_t* base;
- uint8_t* head;
- uint8_t* tail;
-};
-
-ringbuffer_t* ringbuffer_init(const size_t size) {
- ringbuffer_t* p = static_cast<ringbuffer_t*>(osi_calloc(sizeof(ringbuffer_t)));
-
- p->base = static_cast<uint8_t*>(osi_calloc(size));
- p->head = p->tail = p->base;
- p->total = p->available = size;
-
- return p;
-}
-
-void ringbuffer_free(ringbuffer_t* rb) {
- if (rb != NULL) {
- osi_free(rb->base);
- }
- osi_free(rb);
-}
-
-size_t ringbuffer_available(const ringbuffer_t* rb) {
- log::assert_that(rb != nullptr, "assert failed: rb != nullptr");
- return rb->available;
-}
-
-size_t ringbuffer_size(const ringbuffer_t* rb) {
- log::assert_that(rb != nullptr, "assert failed: rb != nullptr");
- return rb->total - rb->available;
-}
-
-size_t ringbuffer_insert(ringbuffer_t* rb, const uint8_t* p, size_t length) {
- log::assert_that(rb != nullptr, "assert failed: rb != nullptr");
- log::assert_that(p != nullptr, "assert failed: p != nullptr");
-
- if (length > ringbuffer_available(rb)) {
- length = ringbuffer_available(rb);
- }
-
- for (size_t i = 0; i != length; ++i) {
- *rb->tail++ = *p++;
- if (rb->tail >= (rb->base + rb->total)) {
- rb->tail = rb->base;
- }
- }
-
- rb->available -= length;
- return length;
-}
-
-size_t ringbuffer_delete(ringbuffer_t* rb, size_t length) {
- log::assert_that(rb != nullptr, "assert failed: rb != nullptr");
-
- if (length > ringbuffer_size(rb)) {
- length = ringbuffer_size(rb);
- }
-
- rb->head += length;
- if (rb->head >= (rb->base + rb->total)) {
- rb->head -= rb->total;
- }
-
- rb->available += length;
- return length;
-}
-
-size_t ringbuffer_peek(const ringbuffer_t* rb, off_t offset, uint8_t* p, size_t length) {
- log::assert_that(rb != nullptr, "assert failed: rb != nullptr");
- log::assert_that(p != nullptr, "assert failed: p != nullptr");
- log::assert_that(offset >= 0, "assert failed: offset >= 0");
- log::assert_that((size_t)offset <= ringbuffer_size(rb),
- "assert failed: (size_t)offset <= ringbuffer_size(rb)");
-
- uint8_t* b = ((rb->head - rb->base + offset) % rb->total) + rb->base;
- const size_t bytes_to_copy =
- (offset + length > ringbuffer_size(rb)) ? ringbuffer_size(rb) - offset : length;
-
- for (size_t copied = 0; copied < bytes_to_copy; ++copied) {
- *p++ = *b++;
- if (b >= (rb->base + rb->total)) {
- b = rb->base;
- }
- }
-
- return bytes_to_copy;
-}
-
-size_t ringbuffer_pop(ringbuffer_t* rb, uint8_t* p, size_t length) {
- log::assert_that(rb != nullptr, "assert failed: rb != nullptr");
- log::assert_that(p != nullptr, "assert failed: p != nullptr");
-
- const size_t copied = ringbuffer_peek(rb, 0, p, length);
- rb->head += copied;
- if (rb->head >= (rb->base + rb->total)) {
- rb->head -= rb->total;
- }
-
- rb->available += copied;
- return copied;
-}
diff --git a/system/osi/test/fuzzers/ringbuffer/Android.bp b/system/osi/test/fuzzers/ringbuffer/Android.bp
deleted file mode 100644
index 08d308c70c..0000000000
--- a/system/osi/test/fuzzers/ringbuffer/Android.bp
+++ /dev/null
@@ -1,25 +0,0 @@
-package {
- // See: http://go/android-license-faq
- // A large-scale-change added 'default_applicable_licenses' to import
- // all of the 'license_kinds' from "system_bt_license"
- // to get the below license kinds:
- // SPDX-license-identifier-Apache-2.0
- default_applicable_licenses: ["system_bt_license"],
-}
-
-cc_fuzz {
- name: "libosi_fuzz_ringbuffer",
- defaults: ["libosi_fuzz_defaults"],
- host_supported: true,
- srcs: [
- "fuzz_ringbuffer.cc",
- ],
- static_libs: [
- "libbase",
- "libbluetooth_log",
- "libchrome",
- "libcom.android.sysprop.bluetooth.wrapped",
- "liblog",
- "libosi",
- ],
-}
diff --git a/system/osi/test/fuzzers/ringbuffer/fuzz_ringbuffer.cc b/system/osi/test/fuzzers/ringbuffer/fuzz_ringbuffer.cc
deleted file mode 100644
index f676bb6f83..0000000000
--- a/system/osi/test/fuzzers/ringbuffer/fuzz_ringbuffer.cc
+++ /dev/null
@@ -1,160 +0,0 @@
-/*
- * Copyright 2020 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <fuzzer/FuzzedDataProvider.h>
-
-#include "osi/include/ringbuffer.h"
-
-#define MAX_NUM_FUNCTIONS 512
-#define MAX_BUF_SIZE 2048
-
-ringbuffer_t* getArbitraryRingBuf(std::vector<ringbuffer_t*>* ringbuf_vector,
- FuzzedDataProvider* dataProvider) {
- if (ringbuf_vector->empty()) {
- return nullptr;
- }
-
- size_t index = dataProvider->ConsumeIntegralInRange<size_t>(0, ringbuf_vector->size() - 1);
- return ringbuf_vector->at(index);
-}
-
-void callArbitraryFunction(std::vector<ringbuffer_t*>* ringbuf_vector,
- FuzzedDataProvider* dataProvider) {
- // Get our function identifier
- char func_id = dataProvider->ConsumeIntegralInRange<char>(0, 8);
-
- ringbuffer_t* buf = nullptr;
- switch (func_id) {
- // Let 0 be a NO-OP, as ConsumeIntegral will return 0 on an empty buffer
- // (This will likely bias whatever action is here to run more often)
- case 0:
- return;
- case 1: {
- size_t size = dataProvider->ConsumeIntegralInRange<size_t>(0, MAX_BUF_SIZE);
- buf = ringbuffer_init(size);
- if (buf) {
- ringbuf_vector->push_back(buf);
- }
- }
- return;
- case 2: {
- if (ringbuf_vector->empty()) {
- return;
- }
- size_t index = dataProvider->ConsumeIntegralInRange<size_t>(0, ringbuf_vector->size() - 1);
- buf = ringbuf_vector->at(index);
- if (buf) {
- ringbuffer_free(buf);
- ringbuf_vector->erase(ringbuf_vector->begin() + index);
- }
- }
- return;
- case 3:
- buf = getArbitraryRingBuf(ringbuf_vector, dataProvider);
- if (buf) {
- ringbuffer_available(buf);
- }
- return;
- case 4:
- buf = getArbitraryRingBuf(ringbuf_vector, dataProvider);
- if (buf) {
- ringbuffer_size(buf);
- }
- return;
- case 5: {
- buf = getArbitraryRingBuf(ringbuf_vector, dataProvider);
- size_t size = dataProvider->ConsumeIntegralInRange<size_t>(1, MAX_BUF_SIZE);
- if (buf == nullptr || size == 0) {
- return;
- }
- void* src_buf = malloc(size);
- if (src_buf == nullptr) {
- return;
- }
- std::vector<uint8_t> bytes = dataProvider->ConsumeBytes<uint8_t>(size);
- memcpy(src_buf, bytes.data(), bytes.size());
-
- ringbuffer_insert(buf, reinterpret_cast<uint8_t*>(src_buf), size);
- free(src_buf);
- }
- return;
- case 6:
- case 7: {
- buf = getArbitraryRingBuf(ringbuf_vector, dataProvider);
- if (buf == nullptr) {
- return;
- }
- size_t max_size = ringbuffer_size(buf);
- if (max_size == 0) {
- return;
- }
- size_t size = dataProvider->ConsumeIntegralInRange<size_t>(1, max_size);
-
- // NOTE: 0-size may be a valid case, that crashes currently.
- if (size == 0) {
- return;
- }
-
- void* dst_buf = malloc(size);
- if (dst_buf == nullptr) {
- return;
- }
- if (func_id == 6) {
- off_t offset = dataProvider->ConsumeIntegral<off_t>();
- if (offset >= 0 && static_cast<size_t>(offset) <= ringbuffer_size(buf)) {
- ringbuffer_peek(buf, offset, reinterpret_cast<uint8_t*>(dst_buf), size);
- }
- } else {
- ringbuffer_pop(buf, reinterpret_cast<uint8_t*>(dst_buf), size);
- }
- free(dst_buf);
- }
- return;
- case 8: {
- buf = getArbitraryRingBuf(ringbuf_vector, dataProvider);
- size_t size = dataProvider->ConsumeIntegralInRange<size_t>(0, MAX_BUF_SIZE);
- if (buf) {
- ringbuffer_delete(buf, size);
- }
- }
- return;
- default:
- return;
- }
-}
-
-extern "C" int LLVMFuzzerTestOneInput(const uint8_t* Data, size_t Size) {
- // Init our wrapper
- FuzzedDataProvider dataProvider(Data, Size);
-
- // Keep a vector of our allocated objects for freeing later
- std::vector<ringbuffer_t*> ringbuf_vector;
-
- // Call some functions, create some buffers
- size_t num_functions = dataProvider.ConsumeIntegralInRange<size_t>(0, MAX_NUM_FUNCTIONS);
- for (size_t i = 0; i < num_functions; i++) {
- callArbitraryFunction(&ringbuf_vector, &dataProvider);
- }
-
- // Free anything we've allocated
- for (const auto& ringbuf : ringbuf_vector) {
- if (ringbuf != nullptr) {
- ringbuffer_free(ringbuf);
- }
- }
- ringbuf_vector.clear();
- return 0;
-}
diff --git a/system/osi/test/ringbuffer_test.cc b/system/osi/test/ringbuffer_test.cc
deleted file mode 100644
index 06f38ff2de..0000000000
--- a/system/osi/test/ringbuffer_test.cc
+++ /dev/null
@@ -1,139 +0,0 @@
-#include "osi/include/ringbuffer.h"
-
-#include <gtest/gtest.h>
-
-#include "osi/include/osi.h"
-
-TEST(RingbufferTest, test_new_simple) {
- ringbuffer_t* rb = ringbuffer_init(4096);
- ASSERT_TRUE(rb != NULL);
- EXPECT_EQ((size_t)4096, ringbuffer_available(rb));
- EXPECT_EQ((size_t)0, ringbuffer_size(rb));
- ringbuffer_free(rb);
-}
-
-TEST(RingbufferTest, test_insert_basic) {
- ringbuffer_t* rb = ringbuffer_init(16);
-
- uint8_t buffer[10] = {0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A};
- ringbuffer_insert(rb, buffer, 10);
- EXPECT_EQ((size_t)10, ringbuffer_size(rb));
- EXPECT_EQ((size_t)6, ringbuffer_available(rb));
-
- uint8_t peek[10] = {0};
- size_t peeked = ringbuffer_peek(rb, 0, peek, 10);
- EXPECT_EQ((size_t)10, ringbuffer_size(rb)); // Ensure size doesn't change
- EXPECT_EQ((size_t)6, ringbuffer_available(rb));
- EXPECT_EQ((size_t)10, peeked);
- ASSERT_EQ(0, memcmp(buffer, peek, peeked));
-
- ringbuffer_free(rb);
-}
-
-TEST(RingbufferTest, test_insert_full) {
- ringbuffer_t* rb = ringbuffer_init(5);
-
- uint8_t aa[] = {0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA};
- uint8_t bb[] = {0xBB, 0xBB, 0xBB, 0xBB, 0xBB};
- uint8_t peek[5] = {0};
-
- size_t added = ringbuffer_insert(rb, aa, 7);
- EXPECT_EQ((size_t)5, added);
- EXPECT_EQ((size_t)0, ringbuffer_available(rb));
- EXPECT_EQ((size_t)5, ringbuffer_size(rb));
-
- added = ringbuffer_insert(rb, bb, 5);
- EXPECT_EQ((size_t)0, added);
- EXPECT_EQ((size_t)0, ringbuffer_available(rb));
- EXPECT_EQ((size_t)5, ringbuffer_size(rb));
-
- size_t peeked = ringbuffer_peek(rb, 0, peek, 5);
- EXPECT_EQ((size_t)5, peeked);
- EXPECT_EQ((size_t)0, ringbuffer_available(rb));
- EXPECT_EQ((size_t)5, ringbuffer_size(rb));
-
- ASSERT_EQ(0, memcmp(aa, peek, peeked));
-
- ringbuffer_free(rb);
-}
-
-TEST(RingbufferTest, test_multi_insert_delete) {
- ringbuffer_t* rb = ringbuffer_init(16);
- EXPECT_EQ((size_t)16, ringbuffer_available(rb));
- EXPECT_EQ((size_t)0, ringbuffer_size(rb));
-
- // Insert some bytes
-
- uint8_t aa[] = {0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA};
- size_t added = ringbuffer_insert(rb, aa, sizeof(aa));
- EXPECT_EQ((size_t)8, added);
- EXPECT_EQ((size_t)8, ringbuffer_available(rb));
- EXPECT_EQ((size_t)8, ringbuffer_size(rb));
-
- uint8_t bb[] = {0xBB, 0xBB, 0xBB, 0xBB, 0xBB};
- ringbuffer_insert(rb, bb, sizeof(bb));
- EXPECT_EQ((size_t)3, ringbuffer_available(rb));
- EXPECT_EQ((size_t)13, ringbuffer_size(rb));
-
- uint8_t content[] = {0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
- 0xAA, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB};
- uint8_t peek[16] = {0};
- size_t peeked = ringbuffer_peek(rb, 0, peek, 16);
- EXPECT_EQ((size_t)13, peeked);
- ASSERT_EQ(0, memcmp(content, peek, peeked));
-
- // Delete some bytes
-
- ringbuffer_delete(rb, sizeof(aa));
- EXPECT_EQ((size_t)11, ringbuffer_available(rb));
- EXPECT_EQ((size_t)5, ringbuffer_size(rb));
-
- // Add some more to wrap buffer
-
- uint8_t cc[] = {0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC};
- ringbuffer_insert(rb, cc, sizeof(cc));
- EXPECT_EQ((size_t)2, ringbuffer_available(rb));
- EXPECT_EQ((size_t)14, ringbuffer_size(rb));
-
- uint8_t content2[] = {0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xCC, 0xCC};
- peeked = ringbuffer_peek(rb, 0, peek, 7);
- EXPECT_EQ((size_t)7, peeked);
- ASSERT_EQ(0, memcmp(content2, peek, peeked));
-
- // Pop buffer
-
- memset(peek, 0, 16);
- size_t popped = ringbuffer_pop(rb, peek, 7);
- EXPECT_EQ((size_t)7, popped);
- EXPECT_EQ((size_t)9, ringbuffer_available(rb));
- ASSERT_EQ(0, memcmp(content2, peek, peeked));
-
- // Add more again to check head motion
-
- uint8_t dd[] = {0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD};
- added = ringbuffer_insert(rb, dd, sizeof(dd));
- EXPECT_EQ((size_t)8, added);
- EXPECT_EQ((size_t)1, ringbuffer_available(rb));
-
- // Delete everything
-
- ringbuffer_delete(rb, 16);
- EXPECT_EQ((size_t)16, ringbuffer_available(rb));
- EXPECT_EQ((size_t)0, ringbuffer_size(rb));
-
- // Add small token
-
- uint8_t ae[] = {0xAE, 0xAE, 0xAE};
- added = ringbuffer_insert(rb, ae, sizeof(ae));
- EXPECT_EQ((size_t)13, ringbuffer_available(rb));
-
- // Get everything
-
- popped = ringbuffer_pop(rb, peek, 16);
- EXPECT_EQ(added, popped);
- EXPECT_EQ((size_t)16, ringbuffer_available(rb));
- EXPECT_EQ((size_t)0, ringbuffer_size(rb));
- ASSERT_EQ(0, memcmp(ae, peek, popped));
-
- ringbuffer_free(rb);
-}
diff --git a/system/pdl/hci/Android.bp b/system/pdl/hci/Android.bp
index 832598aaff..be954a1550 100644
--- a/system/pdl/hci/Android.bp
+++ b/system/pdl/hci/Android.bp
@@ -49,18 +49,3 @@ cc_library_static {
apex_available: ["com.android.bt"],
min_sdk_version: "33",
}
-
-// Generate the python parser+serializer backend
-genrule {
- name: "gd_hci_packets_python3_gen",
- defaults: ["pdl_python_generator_defaults"],
- cmd: "$(location :pdlc) $(in) |" +
- " $(location :pdl_python_generator)" +
- " --output $(out) --custom-type-location blueberry.utils.bluetooth",
- srcs: [
- "hci_packets.pdl",
- ],
- out: [
- "hci_packets.py",
- ],
-}
diff --git a/system/pdl/security/Android.bp b/system/pdl/security/Android.bp
index fbbc2b7339..22e947ee47 100644
--- a/system/pdl/security/Android.bp
+++ b/system/pdl/security/Android.bp
@@ -31,18 +31,3 @@ cc_library_static {
apex_available: ["com.android.bt"],
min_sdk_version: "33",
}
-
-// Generate the python parser+serializer backend
-genrule {
- name: "gd_smp_packets_python3_gen",
- defaults: ["pdl_python_generator_defaults"],
- cmd: "$(location :pdlc) $(in) |" +
- " $(location :pdl_python_generator)" +
- " --output $(out) --custom-type-location blueberry.utils.bluetooth",
- srcs: [
- "smp_packets.pdl",
- ],
- out: [
- "smp_packets.py",
- ],
-}
diff --git a/system/test/Android.bp b/system/test/Android.bp
index c38b178885..c35931ea17 100644
--- a/system/test/Android.bp
+++ b/system/test/Android.bp
@@ -265,13 +265,6 @@ filegroup {
}
filegroup {
- name: "TestMockStackBnep",
- srcs: [
- "mock/mock_stack_bnep_*.cc",
- ],
-}
-
-filegroup {
name: "TestMockStackL2cap",
srcs: [
"mock/mock_stack_l2cap_*.cc",
@@ -356,13 +349,6 @@ filegroup {
}
filegroup {
- name: "TestMockMainShimStack",
- srcs: [
- "mock/mock_main_shim_stack.cc",
- ],
-}
-
-filegroup {
name: "TestMockMainShimLeScanning",
srcs: [
"mock/mock_main_shim_le_scanning_manager.cc",
diff --git a/system/test/mock/mock_main_shim_stack.cc b/system/test/mock/mock_main_shim_stack.cc
deleted file mode 100644
index 03ec09a1b3..0000000000
--- a/system/test/mock/mock_main_shim_stack.cc
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Copyright 2024 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "hci/acl_manager.h"
-#include "main/shim/stack.h"
-
-namespace bluetooth {
-namespace shim {
-
-namespace testing {
-Acl* acl_{nullptr};
-Stack* instance_{nullptr};
-} // namespace testing
-
-Stack* Stack::GetInstance() { return testing::instance_; }
-
-void Stack::StartEverything() {}
-
-void Stack::StartModuleStack(const ModuleList* /* modules */, const os::Thread* /* thread */) {}
-
-void Stack::Start(ModuleList* /* modules */) {}
-
-void Stack::Stop() {}
-
-bool Stack::IsRunning() { return stack_thread_ != nullptr; }
-
-Acl* Stack::GetAcl() { return testing::acl_; }
-
-os::Handler* Stack::GetHandler() { return stack_handler_; }
-
-} // namespace shim
-} // namespace bluetooth
diff --git a/system/test/mock/mock_osi_ringbuffer.cc b/system/test/mock/mock_osi_ringbuffer.cc
deleted file mode 100644
index be0500715a..0000000000
--- a/system/test/mock/mock_osi_ringbuffer.cc
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- * Copyright 2021 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/*
- * Generated mock file from original source file
- * Functions generated:8
- *
- * mockcify.pl ver 0.3.0
- */
-// Mock include file to share data between tests and mock
-#include "test/mock/mock_osi_ringbuffer.h"
-
-#include <cstdint>
-
-#include "test/common/mock_functions.h"
-
-// Mocked internal structures, if any
-
-namespace test {
-namespace mock {
-namespace osi_ringbuffer {
-
-// Function state capture and return values, if needed
-struct ringbuffer_available ringbuffer_available;
-struct ringbuffer_delete ringbuffer_delete;
-struct ringbuffer_free ringbuffer_free;
-struct ringbuffer_init ringbuffer_init;
-struct ringbuffer_insert ringbuffer_insert;
-struct ringbuffer_peek ringbuffer_peek;
-struct ringbuffer_pop ringbuffer_pop;
-struct ringbuffer_size ringbuffer_size;
-
-} // namespace osi_ringbuffer
-} // namespace mock
-} // namespace test
-
-// Mocked functions, if any
-size_t ringbuffer_available(const ringbuffer_t* rb) {
- inc_func_call_count(__func__);
- return test::mock::osi_ringbuffer::ringbuffer_available(rb);
-}
-size_t ringbuffer_delete(ringbuffer_t* rb, size_t length) {
- inc_func_call_count(__func__);
- return test::mock::osi_ringbuffer::ringbuffer_delete(rb, length);
-}
-void ringbuffer_free(ringbuffer_t* rb) {
- inc_func_call_count(__func__);
- test::mock::osi_ringbuffer::ringbuffer_free(rb);
-}
-ringbuffer_t* ringbuffer_init(const size_t size) {
- inc_func_call_count(__func__);
- return test::mock::osi_ringbuffer::ringbuffer_init(size);
-}
-size_t ringbuffer_insert(ringbuffer_t* rb, const uint8_t* p, size_t length) {
- inc_func_call_count(__func__);
- return test::mock::osi_ringbuffer::ringbuffer_insert(rb, p, length);
-}
-size_t ringbuffer_peek(const ringbuffer_t* rb, off_t offset, uint8_t* p, size_t length) {
- inc_func_call_count(__func__);
- return test::mock::osi_ringbuffer::ringbuffer_peek(rb, offset, p, length);
-}
-size_t ringbuffer_pop(ringbuffer_t* rb, uint8_t* p, size_t length) {
- inc_func_call_count(__func__);
- return test::mock::osi_ringbuffer::ringbuffer_pop(rb, p, length);
-}
-size_t ringbuffer_size(const ringbuffer_t* rb) {
- inc_func_call_count(__func__);
- return test::mock::osi_ringbuffer::ringbuffer_size(rb);
-}
-// Mocked functions complete
-// END mockcify generation
diff --git a/system/test/mock/mock_osi_ringbuffer.h b/system/test/mock/mock_osi_ringbuffer.h
deleted file mode 100644
index 40f649d099..0000000000
--- a/system/test/mock/mock_osi_ringbuffer.h
+++ /dev/null
@@ -1,139 +0,0 @@
-/*
- * Copyright 2021 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/*
- * Generated mock file from original source file
- * Functions generated:8
- *
- * mockcify.pl ver 0.3.0
- */
-
-#include <cstdint>
-#include <functional>
-
-// Original included files, if any
-
-#include <stdlib.h>
-
-#include "osi/include/ringbuffer.h"
-
-// Mocked compile conditionals, if any
-
-namespace test {
-namespace mock {
-namespace osi_ringbuffer {
-
-// Shared state between mocked functions and tests
-// Name: ringbuffer_available
-// Params: const ringbuffer_t* rb
-// Return: size_t
-struct ringbuffer_available {
- size_t return_value{0};
- std::function<size_t(const ringbuffer_t* rb)> body{
- [this](const ringbuffer_t* /* rb */) { return return_value; }};
- size_t operator()(const ringbuffer_t* rb) { return body(rb); }
-};
-extern struct ringbuffer_available ringbuffer_available;
-
-// Name: ringbuffer_delete
-// Params: ringbuffer_t* rb, size_t length
-// Return: size_t
-struct ringbuffer_delete {
- size_t return_value{0};
- std::function<size_t(ringbuffer_t* rb, size_t length)> body{
- [this](ringbuffer_t* /* rb */, size_t /* length */) { return return_value; }};
- size_t operator()(ringbuffer_t* rb, size_t length) { return body(rb, length); }
-};
-extern struct ringbuffer_delete ringbuffer_delete;
-
-// Name: ringbuffer_free
-// Params: ringbuffer_t* rb
-// Return: void
-struct ringbuffer_free {
- std::function<void(ringbuffer_t* rb)> body{[](ringbuffer_t* /* rb */) {}};
- void operator()(ringbuffer_t* rb) { body(rb); }
-};
-extern struct ringbuffer_free ringbuffer_free;
-
-// Name: ringbuffer_init
-// Params: const size_t size
-// Return: ringbuffer_t*
-struct ringbuffer_init {
- ringbuffer_t* return_value{0};
- std::function<ringbuffer_t*(const size_t size)> body{
- [this](const size_t /* size */) { return return_value; }};
- ringbuffer_t* operator()(const size_t size) { return body(size); }
-};
-extern struct ringbuffer_init ringbuffer_init;
-
-// Name: ringbuffer_insert
-// Params: ringbuffer_t* rb, const uint8_t* p, size_t length
-// Return: size_t
-struct ringbuffer_insert {
- size_t return_value{0};
- std::function<size_t(ringbuffer_t* rb, const uint8_t* p, size_t length)> body{
- [this](ringbuffer_t* /* rb */, const uint8_t* /* p */, size_t /* length */) {
- return return_value;
- }};
- size_t operator()(ringbuffer_t* rb, const uint8_t* p, size_t length) {
- return body(rb, p, length);
- }
-};
-extern struct ringbuffer_insert ringbuffer_insert;
-
-// Name: ringbuffer_peek
-// Params: const ringbuffer_t* rb, off_t offset, uint8_t* p, size_t length
-// Return: size_t
-struct ringbuffer_peek {
- size_t return_value{0};
- std::function<size_t(const ringbuffer_t* rb, off_t offset, uint8_t* p, size_t length)> body{
- [this](const ringbuffer_t* /* rb */, off_t /* offset */, uint8_t* /* p */,
- size_t /* length */) { return return_value; }};
- size_t operator()(const ringbuffer_t* rb, off_t offset, uint8_t* p, size_t length) {
- return body(rb, offset, p, length);
- }
-};
-extern struct ringbuffer_peek ringbuffer_peek;
-
-// Name: ringbuffer_pop
-// Params: ringbuffer_t* rb, uint8_t* p, size_t length
-// Return: size_t
-struct ringbuffer_pop {
- size_t return_value{0};
- std::function<size_t(ringbuffer_t* rb, uint8_t* p, size_t length)> body{
- [this](ringbuffer_t* /* rb */, uint8_t* /* p */, size_t /* length */) {
- return return_value;
- }};
- size_t operator()(ringbuffer_t* rb, uint8_t* p, size_t length) { return body(rb, p, length); }
-};
-extern struct ringbuffer_pop ringbuffer_pop;
-
-// Name: ringbuffer_size
-// Params: const ringbuffer_t* rb
-// Return: size_t
-struct ringbuffer_size {
- size_t return_value{0};
- std::function<size_t(const ringbuffer_t* rb)> body{
- [this](const ringbuffer_t* /* rb */) { return return_value; }};
- size_t operator()(const ringbuffer_t* rb) { return body(rb); }
-};
-extern struct ringbuffer_size ringbuffer_size;
-
-} // namespace osi_ringbuffer
-} // namespace mock
-} // namespace test
-
-// END mockcify generation
diff --git a/system/test/stub/osi.cc b/system/test/stub/osi.cc
index 5177f86803..cffeb4c3bf 100644
--- a/system/test/stub/osi.cc
+++ b/system/test/stub/osi.cc
@@ -37,7 +37,6 @@
#include "osi/include/mutex.h"
#include "osi/include/properties.h"
#include "osi/include/reactor.h"
-#include "osi/include/ringbuffer.h"
#include "osi/include/socket.h"
#include "osi/include/socket_utils/socket_local.h"
#include "osi/include/socket_utils/sockets.h"
@@ -550,32 +549,6 @@ int osi_socket_make_sockaddr_un(const char* name, int namespaceId, struct sockad
return 0;
}
-size_t ringbuffer_available(const ringbuffer_t* rb) {
- inc_func_call_count(__func__);
- return 0;
-}
-size_t ringbuffer_delete(ringbuffer_t* rb, size_t length) {
- inc_func_call_count(__func__);
- return 0;
-}
-size_t ringbuffer_insert(ringbuffer_t* rb, const uint8_t* p, size_t length) {
- inc_func_call_count(__func__);
- return 0;
-}
-size_t ringbuffer_peek(const ringbuffer_t* rb, off_t offset, uint8_t* p, size_t length) {
- inc_func_call_count(__func__);
- return 0;
-}
-size_t ringbuffer_pop(ringbuffer_t* rb, uint8_t* p, size_t length) {
- inc_func_call_count(__func__);
- return 0;
-}
-size_t ringbuffer_size(const ringbuffer_t* rb) {
- inc_func_call_count(__func__);
- return 0;
-}
-void ringbuffer_free(ringbuffer_t* rb) { inc_func_call_count(__func__); }
-
bool osi_property_get_bool(const char* key, bool default_value) {
inc_func_call_count(__func__);
if (fake_osi_bool_props_map.count(key)) {