From 3bf3bb34a99cb34c102467f070c1b0a6064f5515 Mon Sep 17 00:00:00 2001 From: Jan Olszak Date: Wed, 7 Jan 2015 16:02:54 +0100 Subject: [PATCH] IPC: Fixed DisconnectedPeerError test [Bug/Feature] N/A [Cause] SERIALIZATION_ERROR may also be returned when peer disconnects [Solution] N/A [Verification] Build, install, run tests Change-Id: Ifaf67828796cfa0def8d5f56dc926314abb2d36b --- tests/unit_tests/ipc/ut-ipc.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/tests/unit_tests/ipc/ut-ipc.cpp b/tests/unit_tests/ipc/ut-ipc.cpp index a7f8645..18c4785 100644 --- a/tests/unit_tests/ipc/ut-ipc.cpp +++ b/tests/unit_tests/ipc/ut-ipc.cpp @@ -532,10 +532,14 @@ BOOST_AUTO_TEST_CASE(DisconnectedPeerError) // Wait for the response std::unique_lock lock(mutex); - BOOST_CHECK(cv.wait_for(lock, std::chrono::seconds(10), [&retStatus]() { + BOOST_CHECK(cv.wait_for(lock, std::chrono::seconds(100), [&retStatus]() { return retStatus != ipc::Status::UNDEFINED; })); - BOOST_CHECK(retStatus == ipc::Status::PEER_DISCONNECTED); //TODO it fails from time to time + + // The disconnection might have happened: + // - after sending the message (PEER_DISCONNECTED) + // - during external serialization (SERIALIZATION_ERROR) + BOOST_CHECK(retStatus == ipc::Status::PEER_DISCONNECTED || retStatus == ipc::Status::SERIALIZATION_ERROR); } -- 2.7.4