From 5bae1b866d309f3d59aaab8e9a007413b3c68f83 Mon Sep 17 00:00:00 2001 From: Elliott Hughes Date: Mon, 6 Feb 2017 10:54:00 -0800 Subject: Make __android_log_assert behave more like libc asserts. If we don't output to stderr too, not only is it annoying to shell users (who won't see anything), it prevents us from writing better gtests that actually make assertions about the assert message. Bug: http://b/23675822 Test: libutils tests still pass Change-Id: I62b3144c385cba4dde485f0b0f9b42aeaef51e9a --- libutils/tests/Vector_test.cpp | 22 ++++------------------ 1 file changed, 4 insertions(+), 18 deletions(-) (limited to 'libutils') diff --git a/libutils/tests/Vector_test.cpp b/libutils/tests/Vector_test.cpp index 671200f4f..e074a921d 100644 --- a/libutils/tests/Vector_test.cpp +++ b/libutils/tests/Vector_test.cpp @@ -74,12 +74,9 @@ TEST_F(VectorTest, CopyOnWrite_CopyAndAddElements) { EXPECT_EQ(other[3], 5); } -// TODO: gtest isn't capable of parsing Abort messages formatted by -// Android (fails differently on host and target), so we always need to -// use an empty error message for death tests. TEST_F(VectorTest, SetCapacity_Overflow) { Vector vector; - EXPECT_DEATH(vector.setCapacity(SIZE_MAX / sizeof(int) + 1), ""); + EXPECT_DEATH(vector.setCapacity(SIZE_MAX / sizeof(int) + 1), "Assertion failed"); } TEST_F(VectorTest, SetCapacity_ShrinkBelowSize) { @@ -95,20 +92,13 @@ TEST_F(VectorTest, SetCapacity_ShrinkBelowSize) { ASSERT_EQ(8U, vector.capacity()); } -// NOTE: All of the tests below are useless because of the "TODO" above. -// We have no way of knowing *why* the process crashed. Given that we're -// inserting a NULL array, we'll fail with a SIGSEGV eventually. We need -// the ability to make assertions on the abort message to make sure we're -// failing for the right reasons. TEST_F(VectorTest, _grow_OverflowSize) { Vector vector; vector.add(1); // Checks that the size calculation (not the capacity calculation) doesn't // overflow : the size here will be (1 + SIZE_MAX). - // - // EXPECT_DEATH(vector.insertArrayAt(NULL, 0, SIZE_MAX), "new_size_overflow"); - EXPECT_DEATH(vector.insertArrayAt(NULL, 0, SIZE_MAX), ""); + EXPECT_DEATH(vector.insertArrayAt(NULL, 0, SIZE_MAX), "new_size overflow"); } TEST_F(VectorTest, _grow_OverflowCapacityDoubling) { @@ -116,18 +106,14 @@ TEST_F(VectorTest, _grow_OverflowCapacityDoubling) { // This should fail because the calculated capacity will overflow even though // the size of the vector doesn't. - // - // EXPECT_DEATH(vector.insertArrayAt(NULL, 0, (SIZE_MAX - 1)), "new_capacity_overflow"); - EXPECT_DEATH(vector.insertArrayAt(NULL, 0, (SIZE_MAX - 1)), ""); + EXPECT_DEATH(vector.insertArrayAt(NULL, 0, (SIZE_MAX - 1)), "new_capacity overflow"); } TEST_F(VectorTest, _grow_OverflowBufferAlloc) { Vector vector; // This should fail because the capacity * sizeof(int) overflows, even // though the capacity itself doesn't. - // - // EXPECT_DEATH(vector.insertArrayAt(NULL, 0, (SIZE_MAX / 2)), "new_alloc_size overflow"); - EXPECT_DEATH(vector.insertArrayAt(NULL, 0, (SIZE_MAX / 2)), ""); + EXPECT_DEATH(vector.insertArrayAt(NULL, 0, (SIZE_MAX / 2)), "new_alloc_size overflow"); } TEST_F(VectorTest, editArray_Shared) { -- cgit v1.2.3