summaryrefslogtreecommitdiff
path: root/ctdb/tests/src
diff options
context:
space:
mode:
authorAmitay Isaacs <amitay@gmail.com>2017-07-06 14:04:51 +1000
committerMartin Schwenke <martins@samba.org>2017-08-30 14:59:24 +0200
commit9e11de448d8c1dced72d57ccfbb80c9e45aa2269 (patch)
tree737cbb098c96a10b93322ca4dedee0c2bbbd6b98 /ctdb/tests/src
parentd7c247dd7284097c3aa4a0c6f41551edb43d6e29 (diff)
downloadsamba-9e11de448d8c1dced72d57ccfbb80c9e45aa2269.tar.gz
ctdb-protocol: Fix marshalling for ctdb_public_ip
Signed-off-by: Amitay Isaacs <amitay@gmail.com> Reviewed-by: Martin Schwenke <martin@meltin.net>
Diffstat (limited to 'ctdb/tests/src')
-rw-r--r--ctdb/tests/src/protocol_types_compat_test.c47
-rw-r--r--ctdb/tests/src/protocol_types_test.c2
2 files changed, 48 insertions, 1 deletions
diff --git a/ctdb/tests/src/protocol_types_compat_test.c b/ctdb/tests/src/protocol_types_compat_test.c
index ad908d0b515..a69d8d891f6 100644
--- a/ctdb/tests/src/protocol_types_compat_test.c
+++ b/ctdb/tests/src/protocol_types_compat_test.c
@@ -1166,6 +1166,51 @@ static int ctdb_uptime_pull_old(uint8_t *buf, size_t buflen,
return 0;
}
+static size_t ctdb_public_ip_len_old(struct ctdb_public_ip *in)
+{
+ return sizeof(struct ctdb_public_ip);
+}
+
+static void ctdb_public_ip_push_old(struct ctdb_public_ip *in, uint8_t *buf)
+{
+ memcpy(buf, in, sizeof(struct ctdb_public_ip));
+}
+
+static int ctdb_public_ip_pull_elems_old(uint8_t *buf, size_t buflen,
+ TALLOC_CTX *mem_ctx,
+ struct ctdb_public_ip *out)
+{
+ if (buflen < sizeof(struct ctdb_public_ip)) {
+ return EMSGSIZE;
+ }
+
+ memcpy(out, buf, sizeof(struct ctdb_public_ip));
+
+ return 0;
+}
+
+static int ctdb_public_ip_pull_old(uint8_t *buf, size_t buflen,
+ TALLOC_CTX *mem_ctx,
+ struct ctdb_public_ip **out)
+{
+ struct ctdb_public_ip *val;
+ int ret;
+
+ val = talloc(mem_ctx, struct ctdb_public_ip);
+ if (val == NULL) {
+ return ENOMEM;
+ }
+
+ ret = ctdb_public_ip_pull_elems_old(buf, buflen, val, val);
+ if (ret != 0) {
+ TALLOC_FREE(val);
+ return ret;
+ }
+
+ *out = val;
+ return ret;
+}
+
COMPAT_TYPE3_TEST(struct ctdb_statistics, ctdb_statistics);
COMPAT_TYPE3_TEST(struct ctdb_vnn_map, ctdb_vnn_map);
@@ -1191,6 +1236,7 @@ COMPAT_TYPE3_TEST(struct ctdb_tickle_list, ctdb_tickle_list);
COMPAT_TYPE3_TEST(struct ctdb_addr_info, ctdb_addr_info);
COMPAT_TYPE3_TEST(struct ctdb_transdb, ctdb_transdb);
COMPAT_TYPE3_TEST(struct ctdb_uptime, ctdb_uptime);
+COMPAT_TYPE3_TEST(struct ctdb_public_ip, ctdb_public_ip);
int main(int argc, char *argv[])
{
@@ -1221,6 +1267,7 @@ int main(int argc, char *argv[])
COMPAT_TEST_FUNC(ctdb_addr_info)();
COMPAT_TEST_FUNC(ctdb_transdb)();
COMPAT_TEST_FUNC(ctdb_uptime)();
+ COMPAT_TEST_FUNC(ctdb_public_ip)();
return 0;
}
diff --git a/ctdb/tests/src/protocol_types_test.c b/ctdb/tests/src/protocol_types_test.c
index d17beb47d1e..2360304ccd4 100644
--- a/ctdb/tests/src/protocol_types_test.c
+++ b/ctdb/tests/src/protocol_types_test.c
@@ -70,7 +70,7 @@ PROTOCOL_TYPE3_TEST(struct ctdb_tickle_list, ctdb_tickle_list);
PROTOCOL_TYPE3_TEST(struct ctdb_addr_info, ctdb_addr_info);
PROTOCOL_TYPE3_TEST(struct ctdb_transdb, ctdb_transdb);
PROTOCOL_TYPE3_TEST(struct ctdb_uptime, ctdb_uptime);
-DEFINE_TEST(struct ctdb_public_ip, ctdb_public_ip);
+PROTOCOL_TYPE3_TEST(struct ctdb_public_ip, ctdb_public_ip);
DEFINE_TEST(struct ctdb_public_ip_list, ctdb_public_ip_list);
DEFINE_TEST(struct ctdb_node_and_flags, ctdb_node_and_flags);
DEFINE_TEST(struct ctdb_node_map, ctdb_node_map);