Wed, 31 Dec 2014 13:27:57 +0100
Ignore runtime configuration files generated during quality assurance.
1 #ifndef mozilla__ipdltest_TestRaceDeferral_h
2 #define mozilla__ipdltest_TestRaceDeferral_h 1
4 #include "mozilla/_ipdltest/IPDLUnitTests.h"
6 #include "mozilla/_ipdltest/PTestRaceDeferralParent.h"
7 #include "mozilla/_ipdltest/PTestRaceDeferralChild.h"
9 namespace mozilla {
10 namespace _ipdltest {
12 class TestRaceDeferralParent :
13 public PTestRaceDeferralParent
14 {
15 public:
16 TestRaceDeferralParent();
17 virtual ~TestRaceDeferralParent();
19 static bool RunTestInProcesses() { return true; }
20 static bool RunTestInThreads() { return true; }
22 void Main();
24 protected:
25 void Test1();
27 virtual bool AnswerLose() MOZ_OVERRIDE;
29 virtual mozilla::ipc::RacyInterruptPolicy
30 MediateInterruptRace(const Message& parent, const Message& child) MOZ_OVERRIDE;
32 virtual void ActorDestroy(ActorDestroyReason why) MOZ_OVERRIDE
33 {
34 if (NormalShutdown != why)
35 fail("unexpected destruction!");
36 passed("ok");
37 QuitParent();
38 }
40 bool mProcessedLose;
41 };
44 class TestRaceDeferralChild :
45 public PTestRaceDeferralChild
46 {
47 public:
48 TestRaceDeferralChild();
49 virtual ~TestRaceDeferralChild();
51 protected:
52 virtual bool RecvStartRace() MOZ_OVERRIDE;
54 virtual bool AnswerWin() MOZ_OVERRIDE;
56 virtual bool AnswerRpc() MOZ_OVERRIDE;
58 virtual mozilla::ipc::RacyInterruptPolicy
59 MediateInterruptRace(const Message& parent, const Message& child) MOZ_OVERRIDE;
61 virtual void ActorDestroy(ActorDestroyReason why) MOZ_OVERRIDE
62 {
63 if (NormalShutdown != why)
64 fail("unexpected destruction!");
65 QuitChild();
66 }
67 };
70 } // namespace _ipdltest
71 } // namespace mozilla
74 #endif // ifndef mozilla__ipdltest_TestRaceDeferral_h