summaryrefslogtreecommitdiffstats
path: root/ipc/ipdl/test/cxx/PTestStackHooks.ipdl
diff options
context:
space:
mode:
Diffstat (limited to 'ipc/ipdl/test/cxx/PTestStackHooks.ipdl')
-rw-r--r--ipc/ipdl/test/cxx/PTestStackHooks.ipdl56
1 files changed, 56 insertions, 0 deletions
diff --git a/ipc/ipdl/test/cxx/PTestStackHooks.ipdl b/ipc/ipdl/test/cxx/PTestStackHooks.ipdl
new file mode 100644
index 000000000..1f3af068f
--- /dev/null
+++ b/ipc/ipdl/test/cxx/PTestStackHooks.ipdl
@@ -0,0 +1,56 @@
+
+namespace mozilla {
+namespace _ipdltest {
+
+
+intr protocol PTestStackHooks {
+child:
+ async Start();
+
+ // These tests are more fruitful running child->parent, because
+ // children can send |sync| messages
+parent:
+ async Async();
+ sync Sync();
+ intr Rpc();
+
+both:
+ intr StackFrame();
+
+parent:
+ async __delete__();
+
+
+state START:
+ send Start goto TEST1;
+
+state TEST1:
+ recv Async goto TEST2;
+
+state TEST2:
+ recv Sync goto TEST3;
+
+state TEST3:
+ answer Rpc goto TEST4;
+
+state TEST4:
+ answer StackFrame goto TEST4_2;
+state TEST4_2:
+ call StackFrame goto TEST4_3;
+state TEST4_3:
+ recv Async goto TEST5;
+
+state TEST5:
+ answer StackFrame goto TEST5_2;
+state TEST5_2:
+ call StackFrame goto TEST5_3;
+state TEST5_3:
+ recv Sync goto DEAD;
+
+state DEAD:
+ recv __delete__;
+};
+
+
+} // namespace mozilla
+} // namespace _ipdltest