/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- * vim: sw=4 ts=4 et : */ /* 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/. */ #include "TestHighestPrio.h" #include "IPDLUnitTests.h" // fail etc. #if defined(OS_POSIX) #include #else #include #endif namespace mozilla { namespace _ipdltest { //----------------------------------------------------------------------------- // parent TestHighestPrioParent::TestHighestPrioParent() : msg_num_(0) { MOZ_COUNT_CTOR(TestHighestPrioParent); } TestHighestPrioParent::~TestHighestPrioParent() { MOZ_COUNT_DTOR(TestHighestPrioParent); } void TestHighestPrioParent::Main() { if (!SendStart()) fail("sending Start"); } bool TestHighestPrioParent::RecvMsg1() { MOZ_ASSERT(msg_num_ == 0); msg_num_ = 1; return true; } bool TestHighestPrioParent::RecvMsg2() { MOZ_ASSERT(msg_num_ == 1); msg_num_ = 2; if (!SendStartInner()) fail("sending StartInner"); return true; } bool TestHighestPrioParent::RecvMsg3() { MOZ_ASSERT(msg_num_ == 2); msg_num_ = 3; return true; } bool TestHighestPrioParent::RecvMsg4() { MOZ_ASSERT(msg_num_ == 3); msg_num_ = 4; return true; } //----------------------------------------------------------------------------- // child TestHighestPrioChild::TestHighestPrioChild() { MOZ_COUNT_CTOR(TestHighestPrioChild); } TestHighestPrioChild::~TestHighestPrioChild() { MOZ_COUNT_DTOR(TestHighestPrioChild); } bool TestHighestPrioChild::RecvStart() { if (!SendMsg1()) fail("sending Msg1"); if (!SendMsg2()) fail("sending Msg2"); Close(); return true; } bool TestHighestPrioChild::RecvStartInner() { if (!SendMsg3()) fail("sending Msg3"); if (!SendMsg4()) fail("sending Msg4"); return true; } } // namespace _ipdltest } // namespace mozilla