From d7f46fcb80663e63495367c20f4e69902878c409 Mon Sep 17 00:00:00 2001 From: Michael Davidsaver Date: Sun, 15 Dec 2019 12:39:10 -0800 Subject: [PATCH] more testxcode --- test/testxcode.cpp | 46 +++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 45 insertions(+), 1 deletion(-) diff --git a/test/testxcode.cpp b/test/testxcode.cpp index 266ed57..8703dea 100644 --- a/test/testxcode.cpp +++ b/test/testxcode.cpp @@ -448,13 +448,57 @@ void testXCodeNTNDArray() testEq(msg, out); } +// test the common case for a pvRequest of caching an empty Struct +void testEmptyRequest() +{ + testDiag("%s", __func__); + + TypeStore registry; + + std::vector descs1; + { + uint8_t msg[] = "\xfd\x02\x00\x80\x00\x00"; + FixedBuf buf(false, msg); + TypeDeserContext ctxt{descs1, registry}; + from_wire(buf, ctxt); + if(testOk1(buf.good())) + FieldDesc_calculate_offset(descs1.data()); + testEq(buf.size(), 0u)<<"remaining of "< descs2; + { + uint8_t msg[] = "\xfe\x02\x00"; + FixedBuf buf(false, msg); + TypeDeserContext ctxt{descs2, registry}; + from_wire(buf, ctxt); + if(testOk1(buf.good())) + FieldDesc_calculate_offset(descs2.data()); + testEq(buf.size(), 0u)<<"remaining of "< [0:1)\n")<<"\nActual descs1\n"< [0:1)\n")<<"\nActual descs2\n"<