summaryrefslogtreecommitdiff
path: root/buildscripts/idl/tests/compatibility_test_fail/new/compatibility_test_fail_new.idl
diff options
context:
space:
mode:
Diffstat (limited to 'buildscripts/idl/tests/compatibility_test_fail/new/compatibility_test_fail_new.idl')
-rw-r--r--buildscripts/idl/tests/compatibility_test_fail/new/compatibility_test_fail_new.idl84
1 files changed, 84 insertions, 0 deletions
diff --git a/buildscripts/idl/tests/compatibility_test_fail/new/compatibility_test_fail_new.idl b/buildscripts/idl/tests/compatibility_test_fail/new/compatibility_test_fail_new.idl
index 9de05532a46..c7679c754ff 100644
--- a/buildscripts/idl/tests/compatibility_test_fail/new/compatibility_test_fail_new.idl
+++ b/buildscripts/idl/tests/compatibility_test_fail/new/compatibility_test_fail_new.idl
@@ -736,6 +736,24 @@ structs:
type: string
optional: true
+ IncompatibleChainedStructReply:
+ description: "This reply contains an incompatible chained struct"
+ chained_structs:
+ NewVariantNotSubsetReply: NewVariantNotSubsetReply
+
+ IncompatibleChainedStructType:
+ description: "This struct type contains an incompatible chained struct"
+ chained_structs:
+ NewBsonSerializationTypeAnyUnstableStruct: NewBsonSerializationTypeAnyUnstableStruct
+
+ NewAddedChainedTypeReply:
+ description: "This reply contains an added chained type in the new version"
+ chained_types:
+ intToIntString: intToIntString
+
+ NewRemovedChainedTypeStruct:
+ description: "This reply contains an added chained type in the new version"
+
commands:
invalidAPIVersionNew:
description: "new command fails because of invalid API version"
@@ -2763,3 +2781,69 @@ commands:
strict: true
api_version: "1"
reply_type: OkReply
+
+ chainedStructIncompatible:
+ description: "new command fails because it contains a chained struct that has incompatible
+ fields"
+ command_name: chainedStructIncompatible
+ namespace: ignored
+ cpp_name: chainedStructIncompatible
+ strict: true
+ api_version: "1"
+ reply_type: OkReply
+ chained_structs:
+ VariantStructRecursiveStructWithArray: VariantStructRecursiveStructWithArray
+
+ replyWithIncompatibleChainedStruct:
+ description: "new command fails because its reply contains a chained struct that has
+ incompatible fields"
+ command_name: replyWithIncompatibleChainedStruct
+ namespace: ignored
+ cpp_name: replyWithIncompatibleChainedStruct
+ strict: true
+ api_version: "1"
+ reply_type: IncompatibleChainedStructReply
+
+ typeWithIncompatibleChainedStruct:
+ description: "new command fails because its type contains a chained struct that has
+ incompatible fields"
+ command_name: typeWithIncompatibleChainedStruct
+ namespace: type
+ type: IncompatibleChainedStructType
+ cpp_name: typeWithIncompatibleChainedStruct
+ strict: true
+ api_version: "1"
+ reply_type: OkReply
+
+ incompatibleChainedType:
+ description: "new command fails because its chained types are incompatible"
+ command_name: incompatibleChainedType
+ namespace: ignored
+ cpp_name: incompatibleChainedType
+ strict: true
+ api_version: "1"
+ reply_type: OkReply
+ chained_types:
+ intStringToInt: intStringToInt
+
+ newParameterRemovedChainedType:
+ description: "new command fails because its parameter has removed a chained type"
+ command_name: newParameterRemovedChainedType
+ namespace: ignored
+ cpp_name: newParameterRemovedChainedType
+ strict: true
+ api_version: "1"
+ reply_type: OkReply
+ fields:
+ NewRemovedChainedTypeParameter:
+ unstable: false
+ type: NewRemovedChainedTypeStruct
+
+ newReplyAddedChainedType:
+ description: "new command fails because its reply has added a chained type"
+ command_name: newReplyAddedChainedType
+ namespace: ignored
+ cpp_name: newReplyAddedChainedType
+ strict: true
+ api_version: "1"
+ reply_type: NewAddedChainedTypeReply