From fbaf0bb26397aa498eb9156f06d5a6fe34dd7dd8 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Fri, 19 Apr 2024 03:14:29 +0200 Subject: Merging upstream version 125.0.1. Signed-off-by: Daniel Baumann --- ipc/ipdl/test/gtest/TestSyncError.cpp | 44 +++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 ipc/ipdl/test/gtest/TestSyncError.cpp (limited to 'ipc/ipdl/test/gtest/TestSyncError.cpp') diff --git a/ipc/ipdl/test/gtest/TestSyncError.cpp b/ipc/ipdl/test/gtest/TestSyncError.cpp new file mode 100644 index 0000000000..f7a85598a6 --- /dev/null +++ b/ipc/ipdl/test/gtest/TestSyncError.cpp @@ -0,0 +1,44 @@ +/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* vim: set ts=8 sts=2 et sw=2 tw=80: */ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this file, + * You can obtain one at http://mozilla.org/MPL/2.0/. */ + +/* + * Test what happens when a sync message fails. + */ + +#include "gtest/gtest.h" + +#include "mozilla/_ipdltest/IPDLUnitTest.h" +#include "mozilla/_ipdltest/PTestSyncErrorChild.h" +#include "mozilla/_ipdltest/PTestSyncErrorParent.h" + +using namespace mozilla::ipc; + +namespace mozilla::_ipdltest { + +class TestSyncErrorParent : public PTestSyncErrorParent { + NS_INLINE_DECL_REFCOUNTING(TestSyncErrorParent, override) + private: + IPCResult RecvError() final override { return IPC_TEST_FAIL(this); } + + ~TestSyncErrorParent() = default; +}; + +class TestSyncErrorChild : public PTestSyncErrorChild { + NS_INLINE_DECL_REFCOUNTING(TestSyncErrorChild, override) + private: + IPCResult RecvStart() final override { + EXPECT_FALSE(SendError()) << "Error() should have return false"; + + Close(); + + return IPC_OK(); + } + ~TestSyncErrorChild() = default; +}; + +IPDL_TEST(TestSyncError) { EXPECT_TRUE(mActor->SendStart()); } + +} // namespace mozilla::_ipdltest -- cgit v1.2.3