ipc/ipdl/test/cxx/TestRaceDeferral.h

branch
TOR_BUG_3246
changeset 6
8bccb770b82d
equal deleted inserted replaced
-1:000000000000 0:d38cb0ea961d
1 #ifndef mozilla__ipdltest_TestRaceDeferral_h
2 #define mozilla__ipdltest_TestRaceDeferral_h 1
3
4 #include "mozilla/_ipdltest/IPDLUnitTests.h"
5
6 #include "mozilla/_ipdltest/PTestRaceDeferralParent.h"
7 #include "mozilla/_ipdltest/PTestRaceDeferralChild.h"
8
9 namespace mozilla {
10 namespace _ipdltest {
11
12 class TestRaceDeferralParent :
13 public PTestRaceDeferralParent
14 {
15 public:
16 TestRaceDeferralParent();
17 virtual ~TestRaceDeferralParent();
18
19 static bool RunTestInProcesses() { return true; }
20 static bool RunTestInThreads() { return true; }
21
22 void Main();
23
24 protected:
25 void Test1();
26
27 virtual bool AnswerLose() MOZ_OVERRIDE;
28
29 virtual mozilla::ipc::RacyInterruptPolicy
30 MediateInterruptRace(const Message& parent, const Message& child) MOZ_OVERRIDE;
31
32 virtual void ActorDestroy(ActorDestroyReason why) MOZ_OVERRIDE
33 {
34 if (NormalShutdown != why)
35 fail("unexpected destruction!");
36 passed("ok");
37 QuitParent();
38 }
39
40 bool mProcessedLose;
41 };
42
43
44 class TestRaceDeferralChild :
45 public PTestRaceDeferralChild
46 {
47 public:
48 TestRaceDeferralChild();
49 virtual ~TestRaceDeferralChild();
50
51 protected:
52 virtual bool RecvStartRace() MOZ_OVERRIDE;
53
54 virtual bool AnswerWin() MOZ_OVERRIDE;
55
56 virtual bool AnswerRpc() MOZ_OVERRIDE;
57
58 virtual mozilla::ipc::RacyInterruptPolicy
59 MediateInterruptRace(const Message& parent, const Message& child) MOZ_OVERRIDE;
60
61 virtual void ActorDestroy(ActorDestroyReason why) MOZ_OVERRIDE
62 {
63 if (NormalShutdown != why)
64 fail("unexpected destruction!");
65 QuitChild();
66 }
67 };
68
69
70 } // namespace _ipdltest
71 } // namespace mozilla
72
73
74 #endif // ifndef mozilla__ipdltest_TestRaceDeferral_h

mercurial