ipc/ipdl/test/cxx/TestRPC.h

Wed, 31 Dec 2014 13:27:57 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 13:27:57 +0100
branch
TOR_BUG_3246
changeset 6
8bccb770b82d
permissions
-rw-r--r--

Ignore runtime configuration files generated during quality assurance.

     1 #ifndef mozilla__ipdltest_TestRPC_h
     2 #define mozilla__ipdltest_TestRPC_h 1
     4 #include "mozilla/_ipdltest/IPDLUnitTests.h"
     6 #include "mozilla/_ipdltest/PTestRPCParent.h"
     7 #include "mozilla/_ipdltest/PTestRPCChild.h"
     9 namespace mozilla {
    10 namespace _ipdltest {
    13 class TestRPCParent :
    14     public PTestRPCParent
    15 {
    16 public:
    17     TestRPCParent();
    18     virtual ~TestRPCParent();
    20     static bool RunTestInProcesses() { return true; }
    21     static bool RunTestInThreads() { return true; }
    23     void Main();
    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;
    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     }
    46 private:
    47     bool reentered_;
    48     bool resolved_first_cpow_;
    49 };
    52 class TestRPCChild :
    53     public PTestRPCChild
    54 {
    55 public:
    56     TestRPCChild();
    57     virtual ~TestRPCChild();
    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;
    67     virtual void ActorDestroy(ActorDestroyReason why) MOZ_OVERRIDE
    68     {
    69         if (NormalShutdown != why)
    70             fail("unexpected destruction!");
    71         QuitChild();
    72     }
    73 };
    76 } // namespace _ipdltest
    77 } // namespace mozilla
    80 #endif // ifndef mozilla__ipdltest_TestRPC_h

mercurial