Check the previous fix for "zero" attribute works correctly (commit bc9df5816210efbe15ca03e82510f34174784082, "marshal: Fix a bug with zero attribute"). Signed-off-by: Frediano Ziglio <fziglio@xxxxxxxxxx> --- tests/test-marshallers.c | 13 +++++++++++++ tests/test-marshallers.h | 4 ++++ tests/test-marshallers.proto | 6 ++++++ 3 files changed, 23 insertions(+) diff --git a/tests/test-marshallers.c b/tests/test-marshallers.c index ae90770..3bd98e8 100644 --- a/tests/test-marshallers.c +++ b/tests/test-marshallers.c @@ -62,6 +62,19 @@ int main(int argc G_GNUC_UNUSED, char **argv G_GNUC_UNUSED) if (free_res) { free(data); } + spice_marshaller_reset(marshaller); + + SpiceMsgMainZeroes msg_zeroes = { 0x0102 }; + + spice_marshall_msg_main_Zeroes(marshaller, &msg_zeroes); + spice_marshaller_flush(marshaller); + data = spice_marshaller_linearize(marshaller, 0, &len, &free_res); + g_assert_cmpint(len, ==, 7); + g_assert_true(memcmp(data, "\x00\x02\x01\x00\x00\x00\x00", 7) == 0); + if (free_res) { + free(data); + } + spice_marshaller_destroy(marshaller); return 0; diff --git a/tests/test-marshallers.h b/tests/test-marshallers.h index 7b9f6c5..46263d7 100644 --- a/tests/test-marshallers.h +++ b/tests/test-marshallers.h @@ -12,5 +12,9 @@ typedef struct { int8_t *name; } SpiceMsgMainArrayMessage; +typedef struct { + uint16_t n; +} SpiceMsgMainZeroes; + #endif /* _H_TEST_MARSHALLERS */ diff --git a/tests/test-marshallers.proto b/tests/test-marshallers.proto index 95d086c..08d3e01 100644 --- a/tests/test-marshallers.proto +++ b/tests/test-marshallers.proto @@ -8,6 +8,12 @@ channel TestChannel { message { int8 name[]; } ArrayMessage; + + message { + uint8 res1 @zero; + uint16 n; + uint32 res2 @zero; + } Zeroes; }; protocol Spice { -- 2.17.1 _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/spice-devel