Bug 1339477 - Add more IPDL unit tests. r=kanru
new file mode 100644
--- /dev/null
+++ b/ipc/ipdl/test/ipdl/error/AsyncInsideSync.ipdl
@@ -0,0 +1,6 @@
+// inside_sync nested messages must be sync
+
+protocol AsyncInsideSync {
+child:
+ nested(inside_sync) async Msg();
+};
new file mode 100644
--- /dev/null
+++ b/ipc/ipdl/test/ipdl/error/AsyncReturn.ipdl
@@ -0,0 +1,6 @@
+// Async messages are not allowed to return values.
+
+protocol AsyncReturn {
+child:
+ async Msg() returns(int32_t aNumber);
+};
new file mode 100644
--- /dev/null
+++ b/ipc/ipdl/test/ipdl/error/ForgottenManagee.ipdl
@@ -0,0 +1,10 @@
+include protocol ManagerForgot;
+
+// This protocol says ManagerForgot manages it,
+// but ManagerForgot does not manage it.
+
+protocol ForgottenManagee {
+ manager ManagerForgot;
+child:
+ async __delete__();
+};
new file mode 100644
--- /dev/null
+++ b/ipc/ipdl/test/ipdl/error/ForgottenManager.ipdl
@@ -0,0 +1,9 @@
+include protocol ManageeForgot;
+
+// ManageeForgot should have this protocol as its manager.
+
+protocol ForgottenManager {
+ manages ManageeForgot;
+child:
+ async ManageeForgot();
+};
new file mode 100644
--- /dev/null
+++ b/ipc/ipdl/test/ipdl/error/InsideCpowToChild.ipdl
@@ -0,0 +1,6 @@
+// inside_cpow nested parent-to-child messages are verboten
+
+protocol InsideCpowToChild {
+child:
+ nested(inside_cpow) sync Msg();
+};
new file mode 100644
--- /dev/null
+++ b/ipc/ipdl/test/ipdl/error/ManageeForgot.ipdl
@@ -0,0 +1,9 @@
+include protocol ForgottenManager;
+
+// See ForgottenManager. This includes ForgottenManager to ensure that
+// loading this file fails.
+
+protocol ManageeForgot {
+child:
+ async __delete__();
+};
new file mode 100644
--- /dev/null
+++ b/ipc/ipdl/test/ipdl/error/ManagerForgot.ipdl
@@ -0,0 +1,9 @@
+include protocol ForgottenManagee;
+
+// See ForgottenManagee.ipdl. This includes ForgottenManagee to
+// ensure that loading this file fails.
+
+protocol ManagerForgot {
+child:
+ async Msg();
+};