Rework test for binary API union sizes
[govpp.git] / binapigen / vppapi / testdata / union.api.json
diff --git a/binapigen/vppapi/testdata/union.api.json b/binapigen/vppapi/testdata/union.api.json
new file mode 100644 (file)
index 0000000..0811f22
--- /dev/null
@@ -0,0 +1,231 @@
+{
+  "services": [],
+  "vl_api_version": "0x1db2ece9",
+  "enums": [
+    [
+      "enum1",
+      [
+        "ENUM_1_VALUE_1",
+        1
+      ],
+      [
+        "ENUM_1_VALUE_2",
+        2
+      ],
+      {
+        "enumtype": "u16"
+      }
+    ],
+    [
+      "enum2",
+      [
+        "ENUM_2_VALUE_1",
+        10
+      ],
+      [
+        "ENUM_2_VALUE_2",
+        20
+      ],
+      {
+        "enumtype": "u32"
+      }
+    ]
+  ],
+  "messages": [],
+  "types": [
+    [
+      "type1",
+      [
+        "u8",
+        "field1",
+        16
+      ],
+      [
+        "u8",
+        "field2",
+        16
+      ]
+    ],
+    [
+      "type2",
+      [
+        "u16",
+        "field1"
+      ],
+      [
+        "u32",
+        "field2"
+      ],
+      [
+        "u32",
+        "field3"
+      ]
+    ],
+    [
+      "type3",
+      [
+        "u8",
+        "field1",
+        64
+      ]
+    ],
+    [
+      "type4",
+      [
+        "u8",
+        "field1"
+      ],
+      [
+        "u8",
+        "field2",
+        16
+      ]
+    ],
+    [
+      "type5",
+      [
+        "u32",
+        "field1"
+      ],
+      [
+        "union5",
+        "field2"
+      ]
+    ],
+    [
+      "type6",
+      [
+        "u16",
+        "field1"
+      ],
+      [
+        "u32",
+        "field2"
+      ],
+      [
+        "type4",
+        "field3"
+      ],
+      [
+        "u16",
+        "field4"
+      ],
+      [
+        "u32",
+        "field5"
+      ],
+      [
+        "u32",
+        "field6"
+      ]
+    ],
+    [
+      "complex_type",
+      [
+        "u32",
+        "field1"
+      ],
+      [
+        "u8",
+        "field2"
+      ],
+      [
+        "u8",
+        "field3"
+      ],
+      [
+        "u32",
+        "field4"
+      ],
+      [
+        "type5",
+        "field5"
+      ],
+      [
+        "type6",
+        "field6"
+      ]
+    ]
+  ],
+  "unions": [
+    [
+      "union1",
+      [
+        "vl_api_alias1_t",
+        "alias1"
+      ],
+      [
+        "vl_api_alias2_t",
+        "alias2"
+      ]
+    ],
+    [
+      "union2",
+      [
+        "vl_api_enum1_t",
+        "enum1"
+      ],
+      [
+        "vl_api_enum2_t",
+        "enum2"
+      ]
+    ],
+    [
+      "union3",
+      [
+        "vl_api_type1_t",
+        "type1"
+      ],
+      [
+        "vl_api_type2_t",
+        "type2"
+      ]
+    ],
+    [
+      "union4",
+      [
+        "vl_api_union1_t",
+        "union1"
+      ],
+      [
+        "vl_api_union2_t",
+        "union2"
+      ]
+    ],
+    [
+      "union5",
+      [
+        "vl_api_type1_t",
+        "type1"
+      ],
+      [
+        "vl_api_type3_t",
+        "type3"
+      ]
+    ],
+    [
+      "union6",
+      [
+        "vl_api_type1_t",
+        "type1"
+      ],
+      [
+        "vl_api_complex_type_t",
+        "type3"
+      ]
+    ]
+  ],
+  "aliases": {
+    "alias1": {
+      "type": "u8",
+      "length": 4
+    },
+    "alias2": {
+      "type": "u8",
+      "length": 16
+    },
+    "alias3": {
+      "type": "u32"
+    }
+  }
+}