michael@0: #ifndef mozilla__ipdltest_TestUrgency_h michael@0: #define mozilla__ipdltest_TestUrgency_h 1 michael@0: michael@0: #include "mozilla/_ipdltest/IPDLUnitTests.h" michael@0: michael@0: #include "mozilla/_ipdltest/PTestUrgencyParent.h" michael@0: #include "mozilla/_ipdltest/PTestUrgencyChild.h" michael@0: michael@0: namespace mozilla { michael@0: namespace _ipdltest { michael@0: michael@0: michael@0: class TestUrgencyParent : michael@0: public PTestUrgencyParent michael@0: { michael@0: public: michael@0: TestUrgencyParent(); michael@0: virtual ~TestUrgencyParent(); michael@0: michael@0: static bool RunTestInProcesses() { return true; } michael@0: static bool RunTestInThreads() { return true; } michael@0: michael@0: void Main(); michael@0: michael@0: bool RecvTest1(uint32_t *value); michael@0: bool RecvTest2(); michael@0: bool RecvTest3(uint32_t *value); michael@0: bool RecvTest4_Begin(); michael@0: bool RecvTest4_NestedSync(); michael@0: bool RecvFinalTest_Begin(); michael@0: michael@0: bool ShouldContinueFromReplyTimeout() MOZ_OVERRIDE michael@0: { michael@0: return false; michael@0: } michael@0: virtual void ActorDestroy(ActorDestroyReason why) MOZ_OVERRIDE michael@0: { michael@0: if (AbnormalShutdown != why) michael@0: fail("unexpected destruction!"); michael@0: passed("ok"); michael@0: QuitParent(); michael@0: } michael@0: michael@0: private: michael@0: bool inreply_; michael@0: }; michael@0: michael@0: michael@0: class TestUrgencyChild : michael@0: public PTestUrgencyChild michael@0: { michael@0: public: michael@0: TestUrgencyChild(); michael@0: virtual ~TestUrgencyChild(); michael@0: michael@0: bool RecvStart(); michael@0: bool AnswerReply1(uint32_t *reply); michael@0: bool AnswerReply2(uint32_t *reply); michael@0: bool AnswerTest4_Reenter(); michael@0: bool AnswerFinalTest_Hang(); michael@0: michael@0: virtual void ActorDestroy(ActorDestroyReason why) MOZ_OVERRIDE michael@0: { michael@0: if (AbnormalShutdown != why) michael@0: fail("unexpected destruction!"); michael@0: QuitChild(); michael@0: } michael@0: michael@0: private: michael@0: uint32_t test_; michael@0: }; michael@0: michael@0: michael@0: } // namespace _ipdltest michael@0: } // namespace mozilla michael@0: michael@0: michael@0: #endif // ifndef mozilla__ipdltest_TestUrgency_h