From 79a0e98bb5a92dedfe13a4abeddac032413ce4a0 Mon Sep 17 00:00:00 2001 From: Tao Bao Date: Tue, 25 Apr 2017 09:31:58 -0700 Subject: minadbd: Fix a failing test due to SIGPIPE. Test: minadbd_test on bullhead. Change-Id: Iab1c51ba8d3113a83e8b464c3640be770a6cda97 --- minadbd/fuse_adb_provider_test.cpp | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/minadbd/fuse_adb_provider_test.cpp b/minadbd/fuse_adb_provider_test.cpp index 0f2e881c7..31be2a64e 100644 --- a/minadbd/fuse_adb_provider_test.cpp +++ b/minadbd/fuse_adb_provider_test.cpp @@ -14,17 +14,17 @@ * limitations under the License. */ -#include "fuse_adb_provider.h" - -#include - #include #include +#include #include #include +#include + #include "adb_io.h" +#include "fuse_adb_provider.h" TEST(fuse_adb_provider, read_block_adb) { adb_data data = {}; @@ -46,9 +46,8 @@ TEST(fuse_adb_provider, read_block_adb) { uint32_t block = 1234U; const char expected_block[] = "00001234"; - ASSERT_EQ(0, read_block_adb(reinterpret_cast(&data), block, - reinterpret_cast(block_data), - sizeof(expected_data) - 1)); + ASSERT_EQ(0, read_block_adb(static_cast(&data), block, + reinterpret_cast(block_data), sizeof(expected_data) - 1)); // Check that read_block_adb requested the right block. char block_req[sizeof(expected_block)] = {}; @@ -80,9 +79,12 @@ TEST(fuse_adb_provider, read_block_adb_fail_write) { ASSERT_EQ(0, close(sockets[1])); + // write(2) raises SIGPIPE since the reading end has been closed. Ignore the signal to avoid + // failing the test. + signal(SIGPIPE, SIG_IGN); + char buf[1]; - ASSERT_EQ(-EIO, read_block_adb(reinterpret_cast(&data), 0, - reinterpret_cast(buf), 1)); + ASSERT_EQ(-EIO, read_block_adb(static_cast(&data), 0, reinterpret_cast(buf), 1)); close(sockets[0]); } -- cgit v1.2.3