gecko/ipc/ipdl/test/cxx
2011-06-03 13:33:56 -05:00
..
app Bug 655473 - Remove WinCE code from IPC; r=cjones 2011-05-10 20:24:49 +02:00
genIPDLUnitTests.py Bug 564086, part e: Allow IPDL/C++ tests to spawn subprocesses that speak protocols that are not unit tests in and of themselves. r=ted 2011-06-03 13:33:55 -05:00
ipdl.mk Bug 613442, part 6: Test IPDL |opens| 2011-06-03 13:33:56 -05:00
IPDLUnitTestProcessChild.cpp Bug 570096: Implement serialization of a grab-bag of gfx types. r=joe 2010-06-21 15:35:48 -05:00
IPDLUnitTestProcessChild.h Bug 528146: Run plug-in code on the thread that starts in main(). r=cjones 2010-05-10 23:18:00 -05:00
IPDLUnitTests.h Bug 552117 - Print current test name in IPDL tests. r=cjones 2010-03-13 13:23:50 +13:00
IPDLUnitTests.template.cpp Bug 570096: Implement serialization of a grab-bag of gfx types. r=joe 2010-06-21 15:35:48 -05:00
IPDLUnitTestSubprocess.cpp
IPDLUnitTestSubprocess.h
IPDLUnitTestTypes.h
Makefile.in Bug 613442, part 6: Test IPDL |opens| 2011-06-03 13:33:56 -05:00
PTestBlockChild.ipdl Bug 540886, part 3: IPDL/C++ test for BlockChild()/UnblockChild(). r=bnewman 2010-01-27 00:41:33 -06:00
PTestBridgeMain.ipdl Bug 564086, part r: Test IPDL |bridge| 2011-06-03 13:33:56 -05:00
PTestBridgeMainSub.ipdl Bug 564086, part r: Test IPDL |bridge| 2011-06-03 13:33:56 -05:00
PTestBridgeSub.ipdl Bug 564086, part r: Test IPDL |bridge| 2011-06-03 13:33:56 -05:00
PTestCrashCleanup.ipdl
PTestDataStructures.ipdl Bug 592866: Allow Shmem to be used in IPDL unions. r=bent a=blocking-2.0 2010-09-08 13:27:52 -05:00
PTestDataStructuresSub.ipdl Tests for bug 553846. 2010-05-22 14:35:37 -05:00
PTestDesc.ipdl Bug 525181, part 3: Turn on "soft" state checking, NS_WARNING()ing on bad transitions. Fix tests. r=bent 2010-07-15 14:27:43 -05:00
PTestDescSub.ipdl Bug 522547: Serialize/deserialize IPC messages in a "streaming" style. r=bent 2010-05-22 14:35:34 -05:00
PTestDescSubsub.ipdl Bug 522547: Serialize/deserialize IPC messages in a "streaming" style. r=bent 2010-05-22 14:35:34 -05:00
PTestFailedCtor.ipdl Test for bug 640901. a=b 2011-03-25 12:56:17 -05:00
PTestFailedCtorSub.ipdl Test for bug 640901. a=b 2011-03-25 12:56:17 -05:00
PTestFailedCtorSubsub.ipdl Test for bug 640901. a=b 2011-03-25 12:56:17 -05:00
PTestHandle.ipdl Tests for bug 560000 2010-05-22 14:35:40 -05:00
PTestHangs.ipdl Bug 546035: Test 2010-03-11 01:35:28 -06:00
PTestJSON.ipdl Tests for bug 560000 2010-05-22 14:35:40 -05:00
PTestLatency.ipdl Bug 581930: Add an async "spam test" and make output more readable. r=NPOTB (alas!) 2010-08-05 17:11:23 -05:00
PTestManyChildAllocs.ipdl Bug 541131: Include IPDL headers as |include protocol PFoo;|. r=cjones 2010-04-26 20:11:46 -05:00
PTestManyChildAllocsSub.ipdl Bug 541131: Include IPDL headers as |include protocol PFoo;|. r=cjones 2010-04-26 20:11:46 -05:00
PTestMultiMgrs.ipdl Bug 541131: Include IPDL headers as |include protocol PFoo;|. r=cjones 2010-04-26 20:11:46 -05:00
PTestMultiMgrsBottom.ipdl Bug 541131: Include IPDL headers as |include protocol PFoo;|. r=cjones 2010-04-26 20:11:46 -05:00
PTestMultiMgrsLeft.ipdl Bug 541131: Include IPDL headers as |include protocol PFoo;|. r=cjones 2010-04-26 20:11:46 -05:00
PTestMultiMgrsRight.ipdl Bug 541131: Include IPDL headers as |include protocol PFoo;|. r=cjones 2010-04-26 20:11:46 -05:00
PTestNestedLoops.ipdl Bug 552014: Test 2010-03-18 17:52:34 -05:00
PTestOpens.ipdl Bug 613442, part 6: Test IPDL |opens| 2011-06-03 13:33:56 -05:00
PTestOpensOpened.ipdl Bug 613442, part 6: Test IPDL |opens| 2011-06-03 13:33:56 -05:00
PTestRaceDeferral.ipdl Test for bug 572134. a=b 2011-01-12 01:07:17 -06:00
PTestRacyReentry.ipdl Test for bug 592002. a=test 2010-09-01 13:01:50 -05:00
PTestRacyRPCReplies.ipdl Bug 548214: Extended IPDL/C++ test. 2010-02-24 15:59:24 -06:00
PTestRacyUndefer.ipdl Test for bug 648935. 2011-05-04 15:55:54 -05:00
PTestRPCErrorCleanup.ipdl
PTestRPCRaces.ipdl Bug 525181, part 3: Turn on "soft" state checking, NS_WARNING()ing on bad transitions. Fix tests. r=bent 2010-07-15 14:27:43 -05:00
PTestRPCShutdownRace.ipdl Bug 545342: Test 2010-03-11 01:35:21 -06:00
PTestSanity.ipdl
PTestSelfManage.ipdl Bug 525181, part 3: Turn on "soft" state checking, NS_WARNING()ing on bad transitions. Fix tests. r=bent 2010-07-15 14:27:43 -05:00
PTestSelfManageRoot.ipdl Bug 559898: Allow (sub-)protocols to manage themselves. r=bsmedberg 2010-04-26 20:11:48 -05:00
PTestShmem.ipdl Tests for bug 598866. 2010-11-05 02:17:07 -05:00
PTestShutdown.ipdl Bug 541131: Include IPDL headers as |include protocol PFoo;|. r=cjones 2010-04-26 20:11:46 -05:00
PTestShutdownSub.ipdl Bug 541131: Include IPDL headers as |include protocol PFoo;|. r=cjones 2010-04-26 20:11:46 -05:00
PTestShutdownSubsub.ipdl Bug 541131: Include IPDL headers as |include protocol PFoo;|. r=cjones 2010-04-26 20:11:46 -05:00
PTestStackHooks.ipdl Bug 545455: IPDL/C++ test. 2010-02-16 12:44:23 -06:00
PTestSyncHang.ipdl Bug 535077 - Fixes hang caused by failure to execute sync launch r=cjones a=blocking2.0 2010-08-10 14:14:10 -07:00
PTestSyncWakeup.ipdl
PTestSysVShmem.ipdl Tests for bug 598866. 2010-11-05 02:17:07 -05:00
README.txt
TestBlockChild.cpp Bug 540886, part 3: IPDL/C++ test for BlockChild()/UnblockChild(). r=bnewman 2010-01-27 00:41:33 -06:00
TestBlockChild.h Bug 540886, part 3: IPDL/C++ test for BlockChild()/UnblockChild(). r=bnewman 2010-01-27 00:41:33 -06:00
TestBridgeMain.cpp Bug 564086, part r: Test IPDL |bridge| 2011-06-03 13:33:56 -05:00
TestBridgeMain.h Bug 564086, part r: Test IPDL |bridge| 2011-06-03 13:33:56 -05:00
TestCrashCleanup.cpp
TestCrashCleanup.h
TestDataStructures.cpp Bug 562424: Switch IPDL interfaces to infallible TArray. r=bent a=blocking 2010-11-08 20:49:00 -06:00
TestDataStructures.h Bug 562424: Switch IPDL interfaces to infallible TArray. r=bent a=blocking 2010-11-08 20:49:00 -06:00
TestDesc.cpp Bug 522547: Serialize/deserialize IPC messages in a "streaming" style. r=bent 2010-05-22 14:35:34 -05:00
TestDesc.h Bug 522547: Serialize/deserialize IPC messages in a "streaming" style. r=bent 2010-05-22 14:35:34 -05:00
TestFailedCtor.cpp Test for bug 640901. a=b 2011-03-25 12:56:17 -05:00
TestFailedCtor.h Test for bug 640901. a=b 2011-03-25 12:56:17 -05:00
TestHangs.cpp Bug 525181, part 3: Turn on "soft" state checking, NS_WARNING()ing on bad transitions. Fix tests. r=bent 2010-07-15 14:27:43 -05:00
TestHangs.h Bug 525181, part 3: Turn on "soft" state checking, NS_WARNING()ing on bad transitions. Fix tests. r=bent 2010-07-15 14:27:43 -05:00
TestJSON.cpp Bug 562424: Switch IPDL interfaces to infallible TArray. r=bent a=blocking 2010-11-08 20:49:00 -06:00
TestJSON.h Tests for bug 560000 2010-05-22 14:35:40 -05:00
TestLatency.cpp Bug 581930: Add an async "spam test" and make output more readable. r=NPOTB (alas!) 2010-08-05 17:11:23 -05:00
TestLatency.h Bug 581930: Add an async "spam test" and make output more readable. r=NPOTB (alas!) 2010-08-05 17:11:23 -05:00
TestManyChildAllocs.cpp Bug 559953: Add a |const nsTArray<Subactor*>& ManagedFoo();| accessor. r=bent 2010-04-26 20:11:47 -05:00
TestManyChildAllocs.h
TestMultiMgrs.cpp Bug 559953: Add a |const nsTArray<Subactor*>& ManagedFoo();| accessor. r=bent 2010-04-26 20:11:47 -05:00
TestMultiMgrs.h Bug 562424: Switch IPDL interfaces to infallible TArray. r=bent a=blocking 2010-11-08 20:49:00 -06:00
TestNestedLoops.cpp Bug 552014: Test 2010-03-18 17:52:34 -05:00
TestNestedLoops.h Bug 552014: Test 2010-03-18 17:52:34 -05:00
TestOpens.cpp Bug 613442, part 6: Test IPDL |opens| 2011-06-03 13:33:56 -05:00
TestOpens.h Bug 613442, part 6: Test IPDL |opens| 2011-06-03 13:33:56 -05:00
TestRaceDeferral.cpp Test for bug 572134. a=b 2011-01-12 01:07:17 -06:00
TestRaceDeferral.h Test for bug 572134. a=b 2011-01-12 01:07:17 -06:00
TestRacyReentry.cpp Test for bug 592002. a=test 2010-09-01 13:01:50 -05:00
TestRacyReentry.h Test for bug 592002. a=test 2010-09-01 13:01:50 -05:00
TestRacyRPCReplies.cpp Bug 518881: Fix unused-result warnings in IPDL/C++ unit tests. 2010-04-27 00:43:01 -05:00
TestRacyRPCReplies.h Bug 548214: Extended IPDL/C++ test. 2010-02-24 15:59:24 -06:00
TestRacyUndefer.cpp Test for bug 648935. 2011-05-04 15:55:54 -05:00
TestRacyUndefer.h Test for bug 648935. 2011-05-04 15:55:54 -05:00
TestRPCErrorCleanup.cpp Bug 540097: Add a ProcessingError(what) notification interface for top-level actors. r=bent 2010-08-20 18:24:40 -05:00
TestRPCErrorCleanup.h Bug 540097: Add a ProcessingError(what) notification interface for top-level actors. r=bent 2010-08-20 18:24:40 -05:00
TestRPCRaces.cpp Bug 518881: Fix unused-result warnings in IPDL/C++ unit tests. 2010-04-27 00:43:01 -05:00
TestRPCRaces.h Bug 549888: Test 2010-03-11 01:35:32 -06:00
TestRPCShutdownRace.cpp Followup to bug 545342: atomically refcount the dequeue task. r=bent 2010-03-11 16:24:15 -06:00
TestRPCShutdownRace.h Bug 545342: Test 2010-03-11 01:35:21 -06:00
TestSanity.cpp
TestSanity.h
TestSelfManageRoot.cpp Bug 559898: Allow (sub-)protocols to manage themselves. r=bsmedberg 2010-04-26 20:11:48 -05:00
TestSelfManageRoot.h Bug 559898: Allow (sub-)protocols to manage themselves. r=bsmedberg 2010-04-26 20:11:48 -05:00
TestShmem.cpp Tests for bug 598866. 2010-11-05 02:17:07 -05:00
TestShmem.h Tests for bug 598866. 2010-11-05 02:17:07 -05:00
TestShutdown.cpp Bug 562424: Switch IPDL interfaces to infallible TArray. r=bent a=blocking 2010-11-08 20:49:00 -06:00
TestShutdown.h
TestStackHooks.cpp Bug 525181, part 3: Turn on "soft" state checking, NS_WARNING()ing on bad transitions. Fix tests. r=bent 2010-07-15 14:27:43 -05:00
TestStackHooks.h Bug 561817 part A: Entered/ExitedCall callbacks for toplevel actors upon RPC in-calls. r=bsmedberg 2010-04-29 11:49:00 -05:00
TestSyncHang.cpp Bug 535077 - Fixes hang caused by failure to execute sync launch r=cjones a=blocking2.0 2010-08-10 14:14:10 -07:00
TestSyncHang.h Bug 535077 - Fixes hang caused by failure to execute sync launch r=cjones a=blocking2.0 2010-08-10 14:14:10 -07:00
TestSyncWakeup.cpp No bug: Test RPC round-trip times and warn before sleep()ing. no r=, test only 2010-02-04 21:40:42 -06:00
TestSyncWakeup.h
TestSysVShmem.cpp Tests for bug 598866. 2010-11-05 02:17:07 -05:00
TestSysVShmem.h Tests for bug 598866. 2010-11-05 02:17:07 -05:00

To add a new IPDL C++ unit test, you need to create (at least) the
following files (for a test "TestFoo"):

  - PTestFoo.ipdl, specifying the top-level protocol used for the test

  - TestFoo.h, declaring the top-level parent/child actors used for
    the test

  - TestFoo.cpp, defining the top-level actors

  - (make sure all are in the namespace mozilla::_ipdltest)

Next

  - add PTestFoo.ipdl to ipdl.mk

  - append TestFoo to the variable IPDLTESTS in Makefile.in

The IPDL test harness will try to execute |testFooParentActor->Main()|
to kick off your test.  Make sure you define |TestFooParent::Main()|.

If your test passes its criteria, please call
|MOZ_IPDL_TESTPASS("msg")| and "exit gracefully".

If your tests fails, please call |MOZ_IPDL_TESTFAIL("msg")| and "exit
ungracefully", preferably by abort()ing.


If all goes well, running

  make -C $OBJDIR/ipc/ipdl/test/cxx

will update the file IPDLUnitTests.cpp (the test launcher), and your
new code will be built automatically.


You can launch your new test by invoking

  make -C $OBJDIR/ipc/ipdl/test/cxx check

If you want to launch only your test, run

  cd $OBJDIR/dist/bin
  ./run-mozilla.sh ./ipdlunittest TestFoo


For a bare-bones example of adding a test, take a look at
PTestSanity.ipdl, TestSanity.h, TestSanity.cpp, and how "TestSanity"
is included in ipdl.mk and Makefile.in.