ipc/ipdl/test/cxx/TestRPC.h

branch
TOR_BUG_3246
changeset 6
8bccb770b82d
equal deleted inserted replaced
-1:000000000000 0:c10ab1507c0a
1 #ifndef mozilla__ipdltest_TestRPC_h
2 #define mozilla__ipdltest_TestRPC_h 1
3
4 #include "mozilla/_ipdltest/IPDLUnitTests.h"
5
6 #include "mozilla/_ipdltest/PTestRPCParent.h"
7 #include "mozilla/_ipdltest/PTestRPCChild.h"
8
9 namespace mozilla {
10 namespace _ipdltest {
11
12
13 class TestRPCParent :
14 public PTestRPCParent
15 {
16 public:
17 TestRPCParent();
18 virtual ~TestRPCParent();
19
20 static bool RunTestInProcesses() { return true; }
21 static bool RunTestInThreads() { return true; }
22
23 void Main();
24
25 bool AnswerTest1_Start(uint32_t* aResult) MOZ_OVERRIDE;
26 bool AnswerTest1_InnerEvent(uint32_t* aResult) MOZ_OVERRIDE;
27 bool RecvTest2_Start() MOZ_OVERRIDE;
28 bool AnswerTest2_OutOfOrder() MOZ_OVERRIDE;
29 bool RecvTest3_Start(uint32_t* aResult) MOZ_OVERRIDE;
30 bool AnswerTest3_InnerEvent(uint32_t* aResult) MOZ_OVERRIDE;
31 bool AnswerTest4_Start(uint32_t* aResult) MOZ_OVERRIDE;
32 bool AnswerTest4_Inner(uint32_t* aResult) MOZ_OVERRIDE;
33
34 virtual void ActorDestroy(ActorDestroyReason why) MOZ_OVERRIDE
35 {
36 if (NormalShutdown != why)
37 fail("unexpected destruction!");
38 if (!reentered_)
39 fail("never processed raced RPC call!");
40 if (!resolved_first_cpow_)
41 fail("never resolved first CPOW!");
42 passed("ok");
43 QuitParent();
44 }
45
46 private:
47 bool reentered_;
48 bool resolved_first_cpow_;
49 };
50
51
52 class TestRPCChild :
53 public PTestRPCChild
54 {
55 public:
56 TestRPCChild();
57 virtual ~TestRPCChild();
58
59 bool RecvStart() MOZ_OVERRIDE;
60 bool AnswerTest1_InnerQuery(uint32_t* aResult) MOZ_OVERRIDE;
61 bool AnswerTest1_NoReenter(uint32_t* aResult) MOZ_OVERRIDE;
62 bool AnswerTest2_FirstUrgent() MOZ_OVERRIDE;
63 bool AnswerTest2_SecondUrgent() MOZ_OVERRIDE;
64 bool AnswerTest3_WakeUp(uint32_t* aResult) MOZ_OVERRIDE;
65 bool AnswerTest4_WakeUp(uint32_t* aResult) MOZ_OVERRIDE;
66
67 virtual void ActorDestroy(ActorDestroyReason why) MOZ_OVERRIDE
68 {
69 if (NormalShutdown != why)
70 fail("unexpected destruction!");
71 QuitChild();
72 }
73 };
74
75
76 } // namespace _ipdltest
77 } // namespace mozilla
78
79
80 #endif // ifndef mozilla__ipdltest_TestRPC_h

mercurial