locitest: generate tests from the test_data files

The "c" section of the test data file should allocate and populate a LOCI
object. The resulting wire buffer is compared to the "binary" section.

This only tests serialization, but given that we have autogenerated tests that
round-trip each object I think this is sufficient.

I added C sections to the OF 1.0 test data files. OF 1.3 tests will come in a
future pull request.
diff --git a/test_data/of10/action_bsn_set_tunnel_dst.data b/test_data/of10/action_bsn_set_tunnel_dst.data
index 7e1f43d..7a5747c 100644
--- a/test_data/of10/action_bsn_set_tunnel_dst.data
+++ b/test_data/of10/action_bsn_set_tunnel_dst.data
@@ -8,3 +8,6 @@
 ofp.action.bsn_set_tunnel_dst(dst=0x12345678)
 -- python pretty-printer
 bsn_set_tunnel_dst { dst = 0x12345678 }
+-- c
+obj = of_action_bsn_set_tunnel_dst_new(OF_VERSION_1_0);
+of_action_bsn_set_tunnel_dst_dst_set(obj, 0x12345678);
diff --git a/test_data/of10/desc_stats_reply.data b/test_data/of10/desc_stats_reply.data
index b4b3eb1..c000bb0 100644
--- a/test_data/of10/desc_stats_reply.data
+++ b/test_data/of10/desc_stats_reply.data
@@ -145,3 +145,27 @@
     sw_desc="Indigo-2 LRI pre-release",
     serial_num="11235813213455",
     dp_desc="Indigo-2 LRI forwarding module")
+-- c
+obj = of_desc_stats_reply_new(OF_VERSION_1_0);
+of_desc_stats_reply_xid_set(obj, 3);
+of_desc_stats_reply_flags_set(obj, OF_STATS_REPLY_FLAG_REPLY_MORE);
+{
+    of_desc_str_t mfr_desc = "The Indigo-2 Community";
+    of_desc_stats_reply_mfr_desc_set(obj, mfr_desc);
+}
+{
+    of_desc_str_t hw_desc = "Unknown server";
+    of_desc_stats_reply_hw_desc_set(obj, hw_desc);
+}
+{
+    of_desc_str_t sw_desc = "Indigo-2 LRI pre-release";
+    of_desc_stats_reply_sw_desc_set(obj, sw_desc);
+}
+{
+    of_desc_str_t dp_desc = "Indigo-2 LRI forwarding module";
+    of_desc_stats_reply_dp_desc_set(obj, dp_desc);
+}
+{
+    of_serial_num_t serial_num = "11235813213455";
+    of_desc_stats_reply_serial_num_set(obj, serial_num);
+}
diff --git a/test_data/of10/echo_request.data b/test_data/of10/echo_request.data
index abe06fc..701376e 100644
--- a/test_data/of10/echo_request.data
+++ b/test_data/of10/echo_request.data
@@ -7,3 +7,10 @@
 ofp.message.echo_request(xid=0x12345678, data="ab\x01")
 -- python pretty-printer
 echo_request { xid = 0x12345678, data = 'ab\x01' }
+-- c
+obj = of_echo_request_new(OF_VERSION_1_0);
+of_echo_request_xid_set(obj, 0x12345678);
+{
+    of_octets_t data = { .data=(uint8_t *)"ab\x01", .bytes=3 };
+    of_echo_request_data_set(obj, &data);
+}
diff --git a/test_data/of10/flow_add.data b/test_data/of10/flow_add.data
index 9801a36..fc09a23 100644
--- a/test_data/of10/flow_add.data
+++ b/test_data/of10/flow_add.data
@@ -1,6 +1,6 @@
 -- binary
 01 0e 00 70 12 34 56 78
-00 00 00 0c 00 03 01 23
+00 10 00 02 00 03 01 23
 45 67 89 ab cd ef 01 23
 45 67 00 00 00 00 00 00
 00 00 00 00 c0 a8 03 7f
@@ -17,7 +17,7 @@
 ofp.message.flow_add(
     xid=0x12345678,
     match=ofp.match(
-        wildcards=ofp.OFPFW_DL_SRC|ofp.OFPFW_DL_DST,
+        wildcards=ofp.OFPFW_DL_VLAN|ofp.OFPFW_DL_VLAN_PCP,
         in_port=3,
         ipv4_src=0xc0a8037f,
         ipv4_dst=0xffffffff,
@@ -33,7 +33,7 @@
 flow_add {
   xid = 0x12345678,
   match = match_v1 {
-    wildcards = OFPFW_DL_SRC|OFPFW_DL_DST,
+    wildcards = OFPFW_DL_VLAN|OFPFW_DL_VLAN_PCP,
     in_port = 3,
     eth_src = 01:23:45:67:89:ab,
     eth_dst = cd:ef:01:23:45:67,
@@ -60,3 +60,49 @@
     bsn_set_tunnel_dst { dst = 0x0 }
   ]
 }
+-- c
+obj = of_flow_add_new(OF_VERSION_1_0);
+of_flow_add_xid_set(obj, 0x12345678);
+of_flow_add_idle_timeout_set(obj, 5);
+of_flow_add_flags_set(obj, 2);
+{
+    of_match_t match = { OF_VERSION_1_0 };
+    match.fields.in_port = 3;
+    match.fields.eth_src = (of_mac_addr_t) { { 0x01, 0x23, 0x45, 0x67, 0x89, 0xab } };
+    match.fields.eth_dst = (of_mac_addr_t) { { 0xcd, 0xef, 0x01, 0x23, 0x45, 0x67 } };
+    match.fields.ipv4_src = 0xc0a8037f;
+    match.fields.ipv4_dst = 0xffffffff;
+    OF_MATCH_MASK_IN_PORT_EXACT_SET(&match);
+    OF_MATCH_MASK_ETH_SRC_EXACT_SET(&match);
+    OF_MATCH_MASK_ETH_DST_EXACT_SET(&match);
+    //OF_MATCH_MASK_VLAN_VID_EXACT_SET(&match);
+    //OF_MATCH_MASK_VLAN_PCP_EXACT_SET(&match);
+    OF_MATCH_MASK_ETH_TYPE_EXACT_SET(&match);
+    OF_MATCH_MASK_IP_DSCP_EXACT_SET(&match);
+    OF_MATCH_MASK_IP_PROTO_EXACT_SET(&match);
+    OF_MATCH_MASK_IPV4_SRC_EXACT_SET(&match);
+    OF_MATCH_MASK_IPV4_DST_EXACT_SET(&match);
+    OF_MATCH_MASK_TCP_SRC_EXACT_SET(&match);
+    OF_MATCH_MASK_TCP_DST_EXACT_SET(&match);
+    of_flow_add_match_set(obj, &match);
+}
+{
+    of_list_action_t actions;
+    of_flow_add_actions_bind(obj, &actions);
+    {
+        of_action_t action;
+        of_action_output_init(&action.output, OF_VERSION_1_0, -1, 1);
+        of_list_action_append_bind(&actions, &action);
+        of_action_output_port_set(&action.output, OF_PORT_DEST_FLOOD);
+    }
+    {
+        of_action_t action;
+        of_action_nicira_dec_ttl_init(&action.nicira_dec_ttl, OF_VERSION_1_0, -1, 1);
+        of_list_action_append_bind(&actions, &action);
+    }
+    {
+        of_action_t action;
+        of_action_bsn_set_tunnel_dst_init(&action.bsn_set_tunnel_dst, OF_VERSION_1_0, -1, 1);
+        of_list_action_append_bind(&actions, &action);
+    }
+}
diff --git a/test_data/of10/flow_stats_entry.data b/test_data/of10/flow_stats_entry.data
index 45c6569..2f9df64 100644
--- a/test_data/of10/flow_stats_entry.data
+++ b/test_data/of10/flow_stats_entry.data
@@ -40,3 +40,36 @@
     actions=[
         ofp.action.output(port=1),
         ofp.action.output(port=2)])
+-- c
+obj = of_flow_stats_entry_new(OF_VERSION_1_0);
+{
+    of_object_t list;
+    of_flow_stats_entry_actions_bind(obj, &list);
+    {
+        of_object_t *obj = of_action_output_new(OF_VERSION_1_0);
+        of_action_output_max_len_set(obj, 0);
+        of_action_output_port_set(obj, 1);
+        of_list_append(&list, obj);
+        of_object_delete(obj);
+    }
+    {
+        of_object_t *obj = of_action_output_new(OF_VERSION_1_0);
+        of_action_output_max_len_set(obj, 0);
+        of_action_output_port_set(obj, 2);
+        of_list_append(&list, obj);
+        of_object_delete(obj);
+    }
+}
+of_flow_stats_entry_byte_count_set(obj, 1000);
+of_flow_stats_entry_cookie_set(obj, 81985529216486895);
+of_flow_stats_entry_duration_nsec_set(obj, 2);
+of_flow_stats_entry_duration_sec_set(obj, 1);
+of_flow_stats_entry_hard_timeout_set(obj, 10);
+of_flow_stats_entry_idle_timeout_set(obj, 5);
+{
+    of_match_t match = { OF_VERSION_1_0 };
+    of_flow_stats_entry_match_set(obj, &match);
+}
+of_flow_stats_entry_packet_count_set(obj, 10);
+of_flow_stats_entry_priority_set(obj, 100);
+of_flow_stats_entry_table_id_set(obj, 3);
diff --git a/test_data/of10/flow_stats_reply.data b/test_data/of10/flow_stats_reply.data
index 38db4d5..185235b 100644
--- a/test_data/of10/flow_stats_reply.data
+++ b/test_data/of10/flow_stats_reply.data
@@ -90,3 +90,93 @@
             actions=[ofp.action.output(port=1),
             ofp.action.output(port=2),
             ofp.action.output(port=3)])])
+-- c
+obj = of_flow_stats_reply_new(OF_VERSION_1_0);
+of_flow_stats_reply_flags_set(obj, 0);
+of_flow_stats_reply_xid_set(obj, 6);
+{
+    of_object_t *entries = of_list_flow_stats_entry_new(OF_VERSION_1_0);
+    {
+        of_object_t *elem = of_flow_stats_entry_new(OF_VERSION_1_0);
+        of_flow_stats_entry_byte_count_set(elem, 1000);
+        of_flow_stats_entry_cookie_set(elem, 81985529216486895);
+        of_flow_stats_entry_duration_nsec_set(elem, 2);
+        of_flow_stats_entry_duration_sec_set(elem, 1);
+        of_flow_stats_entry_hard_timeout_set(elem, 10);
+        of_flow_stats_entry_idle_timeout_set(elem, 5);
+        of_flow_stats_entry_packet_count_set(elem, 10);
+        of_flow_stats_entry_priority_set(elem, 100);
+        of_flow_stats_entry_table_id_set(elem, 3);
+        {
+            of_match_t match = { OF_VERSION_1_0 };
+            of_flow_stats_entry_match_set(elem, &match);
+        }
+        {
+            of_object_t *actions = of_list_action_new(OF_VERSION_1_0);
+            {
+                of_object_t *elem = of_action_output_new(OF_VERSION_1_0);
+                of_action_output_max_len_set(elem, 0);
+                of_action_output_port_set(elem, 1);
+                of_list_append(actions, elem);
+                of_object_delete(elem);
+            }
+            {
+                of_object_t *elem = of_action_output_new(OF_VERSION_1_0);
+                of_action_output_max_len_set(elem, 0);
+                of_action_output_port_set(elem, 2);
+                of_list_append(actions, elem);
+                of_object_delete(elem);
+            }
+            of_flow_stats_entry_actions_set(elem, actions);
+            of_object_delete(actions);
+        }
+        of_list_append(entries, elem);
+        of_object_delete(elem);
+    }
+    {
+        of_object_t *elem = of_flow_stats_entry_new(OF_VERSION_1_0);
+        of_flow_stats_entry_byte_count_set(elem, 1000);
+        of_flow_stats_entry_cookie_set(elem, 81985529216486895);
+        of_flow_stats_entry_duration_nsec_set(elem, 2);
+        of_flow_stats_entry_duration_sec_set(elem, 1);
+        of_flow_stats_entry_hard_timeout_set(elem, 10);
+        of_flow_stats_entry_idle_timeout_set(elem, 5);
+        of_flow_stats_entry_packet_count_set(elem, 10);
+        of_flow_stats_entry_priority_set(elem, 100);
+        of_flow_stats_entry_table_id_set(elem, 4);
+        {
+            of_match_t match = { OF_VERSION_1_0 };
+            of_flow_stats_entry_match_set(elem, &match);
+        }
+        {
+            of_object_t *actions = of_list_action_new(OF_VERSION_1_0);
+            {
+                of_object_t *elem = of_action_output_new(OF_VERSION_1_0);
+                of_action_output_max_len_set(elem, 0);
+                of_action_output_port_set(elem, 1);
+                of_list_append(actions, elem);
+                of_object_delete(elem);
+            }
+            {
+                of_object_t *elem = of_action_output_new(OF_VERSION_1_0);
+                of_action_output_max_len_set(elem, 0);
+                of_action_output_port_set(elem, 2);
+                of_list_append(actions, elem);
+                of_object_delete(elem);
+            }
+            {
+                of_object_t *elem = of_action_output_new(OF_VERSION_1_0);
+                of_action_output_max_len_set(elem, 0);
+                of_action_output_port_set(elem, 3);
+                of_list_append(actions, elem);
+                of_object_delete(elem);
+            }
+            of_flow_stats_entry_actions_set(elem, actions);
+            of_object_delete(actions);
+        }
+        of_list_append(entries, elem);
+        of_object_delete(elem);
+    }
+    of_flow_stats_reply_entries_set(obj, entries);
+    of_object_delete(entries);
+}
diff --git a/test_data/of10/hello.data b/test_data/of10/hello.data
index 2603365..3dc2b44 100644
--- a/test_data/of10/hello.data
+++ b/test_data/of10/hello.data
@@ -4,3 +4,6 @@
 12 34 56 78 # xid
 -- python
 ofp.message.hello(xid=0x12345678)
+-- c
+obj = of_hello_new(OF_VERSION_1_0);
+of_hello_xid_set(obj, 305419896);
diff --git a/test_data/of10/packet_in.data b/test_data/of10/packet_in.data
index f8d026b..8168e3b 100644
--- a/test_data/of10/packet_in.data
+++ b/test_data/of10/packet_in.data
@@ -16,3 +16,14 @@
     in_port=ofp.OFPP_LOCAL,
     reason=ofp.OFPR_ACTION,
     data='abc')
+-- c
+obj = of_packet_in_new(OF_VERSION_1_0);
+of_packet_in_buffer_id_set(obj, 2882400001);
+{
+    of_octets_t data = { .bytes=3, .data=(uint8_t *)"\x61\x62\x63" };
+    of_packet_in_data_set(obj, &data);
+}
+of_packet_in_in_port_set(obj, 65534);
+of_packet_in_reason_set(obj, 1);
+of_packet_in_total_len_set(obj, 9);
+of_packet_in_xid_set(obj, 305419896);
diff --git a/test_data/of10/packet_out.data b/test_data/of10/packet_out.data
index a3892f6..fdd1c3d 100644
--- a/test_data/of10/packet_out.data
+++ b/test_data/of10/packet_out.data
@@ -23,3 +23,31 @@
         ofp.action.output(port=1),
         ofp.action.output(port=2)],
     data='abc')
+-- c
+obj = of_packet_out_new(OF_VERSION_1_0);
+of_packet_out_buffer_id_set(obj, 2882400001);
+of_packet_out_in_port_set(obj, 65534);
+of_packet_out_xid_set(obj, 305419896);
+{
+    of_object_t *list = of_list_action_new(OF_VERSION_1_0);
+    {
+        of_object_t *obj = of_action_output_new(OF_VERSION_1_0);
+        of_action_output_max_len_set(obj, 0);
+        of_action_output_port_set(obj, 1);
+        of_list_append(list, obj);
+        of_object_delete(obj);
+    }
+    {
+        of_object_t *obj = of_action_output_new(OF_VERSION_1_0);
+        of_action_output_max_len_set(obj, 0);
+        of_action_output_port_set(obj, 2);
+        of_list_append(list, obj);
+        of_object_delete(obj);
+    }
+    of_packet_out_actions_set(obj, list);
+    of_object_delete(list);
+}
+{
+    of_octets_t data = { .bytes=3, .data=(uint8_t *)"\x61\x62\x63" };
+    of_packet_out_data_set(obj, &data);
+}
diff --git a/test_data/of10/port_desc.data b/test_data/of10/port_desc.data
index c3c2e38..56242cc 100644
--- a/test_data/of10/port_desc.data
+++ b/test_data/of10/port_desc.data
@@ -19,3 +19,20 @@
     advertised=ofp.OFPPF_1GB_FD,
     supported=ofp.OFPPF_AUTONEG,
     peer=ofp.OFPPF_PAUSE_ASYM)
+-- c
+obj = of_port_desc_new(OF_VERSION_1_0);
+of_port_desc_advertised_set(obj, 32);
+of_port_desc_config_set(obj, 16);
+of_port_desc_curr_set(obj, 1);
+{
+    of_mac_addr_t hw_addr = { { 1, 2, 3, 4, 5, 6 } };
+    of_port_desc_hw_addr_set(obj, hw_addr);
+}
+{
+    of_port_name_t name = "foo";
+    of_port_desc_name_set(obj, name);
+}
+of_port_desc_peer_set(obj, 2048);
+of_port_desc_port_no_set(obj, 65533);
+of_port_desc_state_set(obj, 512);
+of_port_desc_supported_set(obj, 512);
diff --git a/test_data/of10/port_mod.data b/test_data/of10/port_mod.data
index 972a4e8..53e09ce 100644
--- a/test_data/of10/port_mod.data
+++ b/test_data/of10/port_mod.data
@@ -16,3 +16,14 @@
     config=0x90ABCDEF,
     mask=0xFF11FF11,
     advertise=0xCAFE6789)
+-- c
+obj = of_port_mod_new(OF_VERSION_1_0);
+of_port_mod_advertise_set(obj, 3405670281);
+of_port_mod_config_set(obj, 2427178479);
+{
+    of_mac_addr_t hw_addr = { { 1, 2, 3, 4, 5, 6 } };
+    of_port_mod_hw_addr_set(obj, hw_addr);
+}
+of_port_mod_mask_set(obj, 4279369489);
+of_port_mod_port_no_set(obj, 65533);
+of_port_mod_xid_set(obj, 2);
diff --git a/test_data/of10/port_stats_reply.data b/test_data/of10/port_stats_reply.data
index 45a3532..4378387 100644
--- a/test_data/of10/port_stats_reply.data
+++ b/test_data/of10/port_stats_reply.data
@@ -37,3 +37,47 @@
     xid=5, flags=0, entries=[
         ofp.port_stats_entry(port_no=1, rx_packets=56, collisions=5),
         ofp.port_stats_entry(port_no=ofp.OFPP_LOCAL, rx_packets=1, collisions=1)])
+-- c
+obj = of_port_stats_reply_new(OF_VERSION_1_0);
+{
+    of_object_t list;
+    of_port_stats_reply_entries_bind(obj, &list);
+    {
+        of_object_t *obj = of_port_stats_entry_new(OF_VERSION_1_0);
+        of_port_stats_entry_collisions_set(obj, 5);
+        of_port_stats_entry_port_no_set(obj, 1);
+        of_port_stats_entry_rx_bytes_set(obj, 0);
+        of_port_stats_entry_rx_crc_err_set(obj, 0);
+        of_port_stats_entry_rx_dropped_set(obj, 0);
+        of_port_stats_entry_rx_errors_set(obj, 0);
+        of_port_stats_entry_rx_frame_err_set(obj, 0);
+        of_port_stats_entry_rx_over_err_set(obj, 0);
+        of_port_stats_entry_rx_packets_set(obj, 56);
+        of_port_stats_entry_tx_bytes_set(obj, 0);
+        of_port_stats_entry_tx_dropped_set(obj, 0);
+        of_port_stats_entry_tx_errors_set(obj, 0);
+        of_port_stats_entry_tx_packets_set(obj, 0);
+        of_list_append(&list, obj);
+        of_object_delete(obj);
+    }
+    {
+        of_object_t *obj = of_port_stats_entry_new(OF_VERSION_1_0);
+        of_port_stats_entry_collisions_set(obj, 1);
+        of_port_stats_entry_port_no_set(obj, 65534);
+        of_port_stats_entry_rx_bytes_set(obj, 0);
+        of_port_stats_entry_rx_crc_err_set(obj, 0);
+        of_port_stats_entry_rx_dropped_set(obj, 0);
+        of_port_stats_entry_rx_errors_set(obj, 0);
+        of_port_stats_entry_rx_frame_err_set(obj, 0);
+        of_port_stats_entry_rx_over_err_set(obj, 0);
+        of_port_stats_entry_rx_packets_set(obj, 1);
+        of_port_stats_entry_tx_bytes_set(obj, 0);
+        of_port_stats_entry_tx_dropped_set(obj, 0);
+        of_port_stats_entry_tx_errors_set(obj, 0);
+        of_port_stats_entry_tx_packets_set(obj, 0);
+        of_list_append(&list, obj);
+        of_object_delete(obj);
+    }
+}
+of_port_stats_reply_flags_set(obj, 0);
+of_port_stats_reply_xid_set(obj, 5);
diff --git a/test_data/of10/port_status.data b/test_data/of10/port_status.data
index 04da9fd..7589eae 100644
--- a/test_data/of10/port_status.data
+++ b/test_data/of10/port_status.data
@@ -28,3 +28,27 @@
         advertised=ofp.OFPPF_1GB_FD,
         supported=ofp.OFPPF_AUTONEG,
         peer=ofp.OFPPF_PAUSE_ASYM))
+-- c
+obj = of_port_status_new(OF_VERSION_1_0);
+{
+    of_object_t *desc = of_port_desc_new(OF_VERSION_1_0);
+    of_port_desc_advertised_set(desc, 32);
+    of_port_desc_config_set(desc, 16);
+    of_port_desc_curr_set(desc, 1);
+    {
+	of_mac_addr_t hw_addr = { { 1, 2, 3, 4, 5, 6 } };
+	of_port_desc_hw_addr_set(desc, hw_addr);
+    }
+    {
+	of_port_name_t name = "foo";
+	of_port_desc_name_set(desc, name);
+    }
+    of_port_desc_peer_set(desc, 2048);
+    of_port_desc_port_no_set(desc, 65533);
+    of_port_desc_state_set(desc, 512);
+    of_port_desc_supported_set(desc, 512);
+    of_port_status_desc_set(obj, desc);
+    of_object_delete(desc);
+}
+of_port_status_reason_set(obj, 1);
+of_port_status_xid_set(obj, 4);
diff --git a/test_data/of10/queue_get_config_reply.data b/test_data/of10/queue_get_config_reply.data
index 5e3453d..1016cad 100644
--- a/test_data/of10/queue_get_config_reply.data
+++ b/test_data/of10/queue_get_config_reply.data
@@ -35,3 +35,49 @@
         ofp.packet_queue(queue_id=2, properties=[
             ofp.queue_prop_min_rate(rate=6),
             ofp.queue_prop_min_rate(rate=7)])])
+-- c
+obj = of_queue_get_config_reply_new(OF_VERSION_1_0);
+of_queue_get_config_reply_port_set(obj, 65534);
+{
+    of_object_t list;
+    of_queue_get_config_reply_queues_bind(obj, &list);
+    {
+        of_object_t *obj = of_packet_queue_new(OF_VERSION_1_0);
+        {
+            of_object_t list;
+            of_packet_queue_properties_bind(obj, &list);
+            {
+                of_object_t *obj = of_queue_prop_min_rate_new(OF_VERSION_1_0);
+                of_queue_prop_min_rate_rate_set(obj, 5);
+                of_list_append(&list, obj);
+                of_object_delete(obj);
+            }
+        }
+        of_packet_queue_queue_id_set(obj, 1);
+        of_list_append(&list, obj);
+        of_object_delete(obj);
+    }
+    {
+        of_object_t *obj = of_packet_queue_new(OF_VERSION_1_0);
+        {
+            of_object_t list;
+            of_packet_queue_properties_bind(obj, &list);
+            {
+                of_object_t *obj = of_queue_prop_min_rate_new(OF_VERSION_1_0);
+                of_queue_prop_min_rate_rate_set(obj, 6);
+                of_list_append(&list, obj);
+                of_object_delete(obj);
+            }
+            {
+                of_object_t *obj = of_queue_prop_min_rate_new(OF_VERSION_1_0);
+                of_queue_prop_min_rate_rate_set(obj, 7);
+                of_list_append(&list, obj);
+                of_object_delete(obj);
+            }
+        }
+        of_packet_queue_queue_id_set(obj, 2);
+        of_list_append(&list, obj);
+        of_object_delete(obj);
+    }
+}
+of_queue_get_config_reply_xid_set(obj, 305419896);
diff --git a/test_data/of10/table_stats_entry.data b/test_data/of10/table_stats_entry.data
index 1a99237..017e8ba 100644
--- a/test_data/of10/table_stats_entry.data
+++ b/test_data/of10/table_stats_entry.data
@@ -19,3 +19,15 @@
     active_count=2,
     lookup_count=1099511627775,
     matched_count=9300233470495232273L)
+-- c
+obj = of_table_stats_entry_new(OF_VERSION_1_0);
+of_table_stats_entry_active_count_set(obj, 2);
+of_table_stats_entry_lookup_count_set(obj, 1099511627775ULL);
+of_table_stats_entry_matched_count_set(obj, 9300233470495232273ULL);
+of_table_stats_entry_max_entries_set(obj, 5);
+{
+    of_table_name_t name = "foo";
+    of_table_stats_entry_name_set(obj, name);
+}
+of_table_stats_entry_table_id_set(obj, 3);
+of_table_stats_entry_wildcards_set(obj, 4194303);