mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-25 01:47:31 +09:00
import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo
This commit is contained in:
commit
dcd9973243
150858 changed files with 23884658 additions and 0 deletions
115
ipc/ipdl/test/cxx/TestRacyUndefer.cpp
Normal file
115
ipc/ipdl/test/cxx/TestRacyUndefer.cpp
Normal file
|
|
@ -0,0 +1,115 @@
|
|||
#include "base/basictypes.h"
|
||||
|
||||
#include "TestRacyUndefer.h"
|
||||
|
||||
#include "IPDLUnitTests.h" // fail etc.
|
||||
|
||||
namespace mozilla {
|
||||
namespace _ipdltest {
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// parent
|
||||
|
||||
TestRacyUndeferParent::TestRacyUndeferParent()
|
||||
{
|
||||
MOZ_COUNT_CTOR(TestRacyUndeferParent);
|
||||
}
|
||||
|
||||
TestRacyUndeferParent::~TestRacyUndeferParent()
|
||||
{
|
||||
MOZ_COUNT_DTOR(TestRacyUndeferParent);
|
||||
}
|
||||
|
||||
void
|
||||
TestRacyUndeferParent::Main()
|
||||
{
|
||||
if (!SendStart())
|
||||
fail("sending Start");
|
||||
}
|
||||
|
||||
bool
|
||||
TestRacyUndeferParent::AnswerSpam()
|
||||
{
|
||||
static bool spammed = false;
|
||||
static bool raced = false;
|
||||
if (!spammed) {
|
||||
spammed = true;
|
||||
|
||||
if (!SendAwakenSpam())
|
||||
fail("sending AwakenSpam");
|
||||
}
|
||||
else if (!raced) {
|
||||
raced = true;
|
||||
|
||||
if (!SendAwakenRaceWinTwice())
|
||||
fail("sending WinRaceTwice");
|
||||
|
||||
if (!CallRace())
|
||||
fail("calling Race1");
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
bool
|
||||
TestRacyUndeferParent::AnswerRaceWinTwice()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
bool
|
||||
TestRacyUndeferParent::RecvDone()
|
||||
{
|
||||
Close();
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// child
|
||||
|
||||
TestRacyUndeferChild::TestRacyUndeferChild()
|
||||
{
|
||||
MOZ_COUNT_CTOR(TestRacyUndeferChild);
|
||||
}
|
||||
|
||||
TestRacyUndeferChild::~TestRacyUndeferChild()
|
||||
{
|
||||
MOZ_COUNT_DTOR(TestRacyUndeferChild);
|
||||
}
|
||||
|
||||
bool
|
||||
TestRacyUndeferChild::RecvStart()
|
||||
{
|
||||
if (!CallSpam())
|
||||
fail("calling Spam");
|
||||
|
||||
if (!SendDone())
|
||||
fail("sending Done");
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool
|
||||
TestRacyUndeferChild::RecvAwakenSpam()
|
||||
{
|
||||
if (!CallSpam())
|
||||
fail("calling Spam");
|
||||
return true;
|
||||
}
|
||||
|
||||
bool
|
||||
TestRacyUndeferChild::RecvAwakenRaceWinTwice()
|
||||
{
|
||||
if (!CallRaceWinTwice())
|
||||
fail("calling RaceWinTwice");
|
||||
return true;
|
||||
}
|
||||
|
||||
bool
|
||||
TestRacyUndeferChild::AnswerRace()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
} // namespace _ipdltest
|
||||
} // namespace mozilla
|
||||
Loading…
Add table
Add a link
Reference in a new issue