summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--system/osi/Android.bp1
-rw-r--r--system/osi/test/array_test.cc25
-rw-r--r--system/packet/Android.bp1
-rw-r--r--system/packet/tests/avrcp/get_capabilities_packet_test.cc17
-rw-r--r--system/packet/tests/avrcp/get_folder_items_packet_test.cc27
-rw-r--r--system/packet/tests/avrcp/register_notification_packet_test.cc9
-rw-r--r--system/packet/tests/base/iterator_test.cc32
-rw-r--r--system/packet/tests/base/packet_test.cc10
8 files changed, 99 insertions, 23 deletions
diff --git a/system/osi/Android.bp b/system/osi/Android.bp
index b29ea439a6..e33701d3f0 100644
--- a/system/osi/Android.bp
+++ b/system/osi/Android.bp
@@ -134,6 +134,7 @@ cc_test {
shared_libs: [
"android.hardware.bluetooth@1.0",
"android.hardware.bluetooth@1.1",
+ "libbase",
"liblog",
"libprotobuf-cpp-lite",
"libcutils",
diff --git a/system/osi/test/array_test.cc b/system/osi/test/array_test.cc
index bf5d51b6e1..5d97602c30 100644
--- a/system/osi/test/array_test.cc
+++ b/system/osi/test/array_test.cc
@@ -1,11 +1,14 @@
+#include "osi/include/array.h"
+
+#include <android-base/silent_death_test.h>
#include <gtest/gtest.h>
#include "AllocationTestHarness.h"
-#include "osi/include/array.h"
-
class ArrayTest : public AllocationTestHarness {};
+using ArrayDeathTest = ArrayTest;
+
TEST_F(ArrayTest, test_new_free_simple) {
array_t* array = array_new(4);
ASSERT_TRUE(array != NULL);
@@ -14,17 +17,27 @@ TEST_F(ArrayTest, test_new_free_simple) {
TEST_F(ArrayTest, test_free_null) { array_free(NULL); }
-TEST_F(ArrayTest, test_invalid_ptr) {
+TEST_F(ArrayDeathTest, test_invalid_ptr) {
::testing::FLAGS_gtest_death_test_style = "threadsafe";
array_t* array = array_new(4);
- EXPECT_DEATH(array_ptr(array), "");
+ {
+ // this will silent SIGABRT sent in EXPECT_DEATH below
+ ScopedSilentDeath _silentDeath;
+
+ ASSERT_DEATH(array_ptr(array), "");
+ }
array_free(array);
}
-TEST_F(ArrayTest, test_invalid_at) {
+TEST_F(ArrayDeathTest, test_invalid_at) {
::testing::FLAGS_gtest_death_test_style = "threadsafe";
array_t* array = array_new(4);
- EXPECT_DEATH(array_at(array, 1), "");
+ {
+ // this will silent SIGABRT sent in EXPECT_DEATH below
+ ScopedSilentDeath _silentDeath;
+
+ ASSERT_DEATH(array_at(array, 1), "");
+ }
array_free(array);
}
diff --git a/system/packet/Android.bp b/system/packet/Android.bp
index 420ee4f2e5..4d8cb9277c 100644
--- a/system/packet/Android.bp
+++ b/system/packet/Android.bp
@@ -64,6 +64,7 @@ cc_test {
shared_libs: [
"android.hardware.bluetooth@1.0",
"android.hardware.bluetooth@1.1",
+ "libbase",
"libbinder_ndk",
"libcrypto",
],
diff --git a/system/packet/tests/avrcp/get_capabilities_packet_test.cc b/system/packet/tests/avrcp/get_capabilities_packet_test.cc
index 267c62bb2f..4e4c195d08 100644
--- a/system/packet/tests/avrcp/get_capabilities_packet_test.cc
+++ b/system/packet/tests/avrcp/get_capabilities_packet_test.cc
@@ -14,6 +14,7 @@
* limitations under the License.
*/
+#include <android-base/silent_death_test.h>
#include <gtest/gtest.h>
#include "avrcp_test_packets.h"
@@ -85,13 +86,23 @@ TEST(GetCapabilityResponseBuilder, duplicateAddTest) {
}
// Test that trying to to add the wrong type of field to a builder causes death
-TEST(GetCapabilityResponseBuilder, mismatchAddDeathTest) {
+TEST(GetCapabilityResponseBuilderDeathTest, mismatchAddDeathTest) {
auto builder = GetCapabilitiesResponseBuilder::MakeCompanyIdBuilder(0x000000);
- ASSERT_DEATH(builder->AddEvent(Event::PLAYBACK_STATUS_CHANGED),
- "capability_ == Capability::EVENTS_SUPPORTED");
+
+ {
+ // this will silent SIGABRT sent in ASSERT_DEATH below scop
+ ScopedSilentDeath _silentDeath;
+
+ ASSERT_DEATH(builder->AddEvent(Event::PLAYBACK_STATUS_CHANGED),
+ "capability_ == Capability::EVENTS_SUPPORTED");
+ }
builder = GetCapabilitiesResponseBuilder::MakeEventsSupportedBuilder(
Event::PLAYBACK_STATUS_CHANGED);
+
+ // this will silent SIGABRT sent in ASSERT_DEATH below
+ ScopedSilentDeath _silentDeath;
+
ASSERT_DEATH(builder->AddCompanyId(0x000000),
"capability_ == Capability::COMPANY_ID");
}
diff --git a/system/packet/tests/avrcp/get_folder_items_packet_test.cc b/system/packet/tests/avrcp/get_folder_items_packet_test.cc
index ec2d733457..b8289021f2 100644
--- a/system/packet/tests/avrcp/get_folder_items_packet_test.cc
+++ b/system/packet/tests/avrcp/get_folder_items_packet_test.cc
@@ -14,6 +14,7 @@
* limitations under the License.
*/
+#include <android-base/silent_death_test.h>
#include <gtest/gtest.h>
#include "avrcp_test_packets.h"
@@ -186,24 +187,38 @@ TEST(GetFolderItemsResponseBuilderTest, builderErrorStatusTest) {
ASSERT_EQ(test_packet->GetData(), get_folder_items_inv_scope);
}
-TEST(GetFolderItemsResponseBuilderTest, builderDeathTest) {
+TEST(GetFolderItemsResponseBuilderDeathTest, builderDeathTest) {
auto player = MediaPlayerItem(0x0001, "com.google.android.music", true);
auto folder = FolderItem(0x01, 0x00, true, "test folder");
auto song = MediaElementItem(0x01, "test song", std::set<AttributeEntry>());
auto builder = GetFolderItemsResponseBuilder::MakePlayerListBuilder(
Status::NO_ERROR, 0x0000, 0xFFFF);
- ASSERT_DEATH(builder->AddFolder(folder), "scope_ == Scope::VFS");
- ASSERT_DEATH(builder->AddSong(song),
- "scope_ == Scope::VFS \\|\\| scope_ == Scope::NOW_PLAYING");
+ {
+ // this will silent SIGABRT sent in ASSERT_DEATH below
+ ScopedSilentDeath _silentDeath;
+
+ ASSERT_DEATH(builder->AddFolder(folder), "scope_ == Scope::VFS");
+ ASSERT_DEATH(builder->AddSong(song),
+ "scope_ == Scope::VFS \\|\\| scope_ == Scope::NOW_PLAYING");
+ }
builder = GetFolderItemsResponseBuilder::MakeVFSBuilder(Status::NO_ERROR,
0x0000, 0xFFFF);
- ASSERT_DEATH(builder->AddMediaPlayer(player),
- "scope_ == Scope::MEDIA_PLAYER_LIST");
+ {
+ // this will silent SIGABRT sent in ASSERT_DEATH below
+ ScopedSilentDeath _silentDeath;
+
+ ASSERT_DEATH(builder->AddMediaPlayer(player),
+ "scope_ == Scope::MEDIA_PLAYER_LIST");
+ }
builder = GetFolderItemsResponseBuilder::MakeNowPlayingBuilder(
Status::NO_ERROR, 0x0000, 0xFFFF);
+
+ // this will silent SIGABRT sent in ASSERT_DEATH below
+ ScopedSilentDeath _silentDeath;
+
ASSERT_DEATH(builder->AddMediaPlayer(player),
"scope_ == Scope::MEDIA_PLAYER_LIST");
ASSERT_DEATH(builder->AddFolder(folder), "scope_ == Scope::VFS");
diff --git a/system/packet/tests/avrcp/register_notification_packet_test.cc b/system/packet/tests/avrcp/register_notification_packet_test.cc
index abc0951d92..a970c54982 100644
--- a/system/packet/tests/avrcp/register_notification_packet_test.cc
+++ b/system/packet/tests/avrcp/register_notification_packet_test.cc
@@ -14,11 +14,13 @@
* limitations under the License.
*/
+#include "register_notification_packet.h"
+
+#include <android-base/silent_death_test.h>
#include <gtest/gtest.h>
#include "avrcp_test_packets.h"
#include "packet_test_helper.h"
-#include "register_notification_packet.h"
namespace bluetooth {
namespace avrcp {
@@ -93,11 +95,14 @@ TEST(RegisterNotificationResponseTest, invalidTest) {
ASSERT_FALSE(test_packet->IsValid());
}
-TEST(RegisterNotificationResponseTest, wrongEventDeathTest) {
+TEST(RegisterNotificationResponseDeathTest, wrongEventDeathTest) {
auto wrong_event = interim_volume_changed_notification;
wrong_event[10] = 0x00;
auto test_packet = TestRegNotifRspPacket::Make(wrong_event);
+ // this will silent SIGABRT sent in ASSERT_DEATH below
+ ScopedSilentDeath _silentDeath;
+
ASSERT_DEATH(test_packet->GetVolume(),
"GetEvent\\(\\) == Event::VOLUME_CHANGED");
}
diff --git a/system/packet/tests/base/iterator_test.cc b/system/packet/tests/base/iterator_test.cc
index 57743dedcd..c499913826 100644
--- a/system/packet/tests/base/iterator_test.cc
+++ b/system/packet/tests/base/iterator_test.cc
@@ -14,7 +14,9 @@
* limitations under the License.
*/
+#include <android-base/silent_death_test.h>
#include <gtest/gtest.h>
+
#include <memory>
#include "packet.h"
@@ -47,9 +49,19 @@ INSTANTIATE_TEST_CASE_P(IteratorParameterTest, IteratorTest,
::testing::Values(pair(0, test_l2cap_data.size()),
pair(3, test_l2cap_data.size() - 2)));
-TEST_F(IteratorTest, iteratorCreateDeathTest) {
+using IteratorDeathTest = IteratorTest;
+
+INSTANTIATE_TEST_CASE_P(IteratorParameterTest, IteratorDeathTest,
+ ::testing::Values(pair(0, test_l2cap_data.size()),
+ pair(3, test_l2cap_data.size() - 2)));
+
+TEST_F(IteratorDeathTest, iteratorCreateDeathTest) {
auto packet =
TestPacket::Make(test_l2cap_data, 3, test_l2cap_data.size() - 2);
+
+ // this will silent SIGABRT sent in ASSERT_DEATH below
+ ScopedSilentDeath _silentDeath;
+
ASSERT_DEATH(Iterator(packet, 0), "index_ >= packet->packet_start_index_");
ASSERT_DEATH(Iterator(packet, test_l2cap_data.size()),
"index_ <= packet->packet_end_index_");
@@ -86,9 +98,13 @@ TEST_P(IteratorTest, payloadBoundsTest) {
}
}
-TEST_P(IteratorTest, extractBoundsDeathTest) {
+TEST_P(IteratorDeathTest, extractBoundsDeathTest) {
auto packet = GetTestPacket();
Iterator bounds_test = packet->end();
+
+ // this will silent SIGABRT sent in ASSERT_DEATH below
+ ScopedSilentDeath _silentDeath;
+
ASSERT_DEATH(bounds_test.extract<uint8_t>(),
"index_ != packet_->packet_end_index_");
ASSERT_DEATH(bounds_test.extract<uint16_t>(),
@@ -99,9 +115,13 @@ TEST_P(IteratorTest, extractBoundsDeathTest) {
"index_ != packet_->packet_end_index_");
}
-TEST_P(IteratorTest, extractBEBoundsDeathTest) {
+TEST_P(IteratorDeathTest, extractBEBoundsDeathTest) {
auto packet = GetTestPacket();
Iterator bounds_test = packet->end();
+
+ // this will silent SIGABRT sent in ASSERT_DEATH below
+ ScopedSilentDeath _silentDeath;
+
ASSERT_DEATH(bounds_test.extractBE<uint8_t>(),
"index_ != packet_->packet_end_index_");
ASSERT_DEATH(bounds_test.extractBE<uint16_t>(),
@@ -112,12 +132,16 @@ TEST_P(IteratorTest, extractBEBoundsDeathTest) {
"index_ != packet_->packet_end_index_");
}
-TEST_P(IteratorTest, dereferenceDeathTest) {
+TEST_P(IteratorDeathTest, dereferenceDeathTest) {
auto packet = GetTestPacket();
Iterator dereference_test = packet->end();
ASSERT_EQ((*packet)[GetTestPacketLength() - 1],
*(dereference_test - static_cast<size_t>(1)));
+
+ // this will silent SIGABRT sent in ASSERT_DEATH below
+ ScopedSilentDeath _silentDeath;
+
ASSERT_DEATH(*dereference_test, "index_ != packet_->packet_end_index_");
}
diff --git a/system/packet/tests/base/packet_test.cc b/system/packet/tests/base/packet_test.cc
index 2c4c1471f5..5b42e6e1a9 100644
--- a/system/packet/tests/base/packet_test.cc
+++ b/system/packet/tests/base/packet_test.cc
@@ -14,9 +14,11 @@
* limitations under the License.
*/
+#include "packet.h"
+
+#include <android-base/silent_death_test.h>
#include <gtest/gtest.h>
-#include "packet.h"
#include "packet_test_common.h"
#include "test_packets.h"
@@ -64,9 +66,13 @@ TEST(PacketTest, arrayAccessTest) {
}
// Test that accessing past the end of the defined payload dies
-TEST(PacketTest, arrayAccessDeathTest) {
+TEST(PacketDeathTest, arrayAccessDeathTest) {
auto packet =
TestPacket::Make(test_l2cap_data, 3, test_l2cap_data.size() - 2);
+
+ // this will silent SIGABRT sent in ASSERT_DEATH below
+ ScopedSilentDeath _silentDeath;
+
ASSERT_DEATH((*packet)[test_l2cap_data.size()], "");
}