1 #ifndef mozilla__ipdltest_TestSyncError_h
2 #define mozilla__ipdltest_TestSyncError_h 1
3 
4 #include "mozilla/_ipdltest/IPDLUnitTests.h"
5 
6 #include "mozilla/_ipdltest/PTestSyncErrorParent.h"
7 #include "mozilla/_ipdltest/PTestSyncErrorChild.h"
8 
9 namespace mozilla {
10 namespace _ipdltest {
11 
12 class TestSyncErrorParent : public PTestSyncErrorParent {
13   friend class PTestSyncErrorParent;
14 
15  public:
16   TestSyncErrorParent();
17   virtual ~TestSyncErrorParent();
18 
RunTestInProcesses()19   static bool RunTestInProcesses() { return true; }
RunTestInThreads()20   static bool RunTestInThreads() { return true; }
21 
22   void Main();
23 
24  protected:
25   mozilla::ipc::IPCResult RecvError();
26 
ProcessingError(Result aCode,const char * aReason)27   virtual void ProcessingError(Result aCode, const char* aReason) override {
28     // Ignore errors
29   }
30 
ActorDestroy(ActorDestroyReason why)31   virtual void ActorDestroy(ActorDestroyReason why) override {
32     if (NormalShutdown != why) fail("unexpected destruction!");
33     passed("ok");
34     QuitParent();
35   }
36 };
37 
38 class TestSyncErrorChild : public PTestSyncErrorChild {
39   friend class PTestSyncErrorChild;
40 
41  public:
42   TestSyncErrorChild();
43   virtual ~TestSyncErrorChild();
44 
45  protected:
46   mozilla::ipc::IPCResult RecvStart();
47 
ProcessingError(Result aCode,const char * aReason)48   virtual void ProcessingError(Result aCode, const char* aReason) override {
49     // Ignore errors
50   }
51 
ActorDestroy(ActorDestroyReason why)52   virtual void ActorDestroy(ActorDestroyReason why) override {
53     if (NormalShutdown != why) fail("unexpected destruction!");
54     QuitChild();
55   }
56 };
57 
58 }  // namespace _ipdltest
59 }  // namespace mozilla
60 
61 #endif  // ifndef mozilla__ipdltest_TestSyncError_h
62