qcdm: add testcase to ensure that parsing Sierra CnS fails

Because CnS uses HDLC framing, but doesn't use CRC16, and thus
the decapsulation should fail because the CRC check fails.
This commit is contained in:
Dan Williams
2010-10-14 00:00:44 -05:00
parent a9152f21ff
commit 79ae78a740
3 changed files with 23 additions and 0 deletions
+20
View File
@@ -84,3 +84,23 @@ test_utils_encapsulate_buffer (void *f, void *data)
g_assert (memcmp (outbuf, encap_outbuf, encap_len) == 0);
}
static const char cns_inbuf[] = {
0x00, 0x0a, 0x6b, 0x74, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x7e
};
void
test_utils_decapsulate_sierra_cns (void *f, void *data)
{
gboolean success;
char outbuf[512];
gsize decap_len = 0;
gsize used = 0;
gboolean more = FALSE;
success = dm_decapsulate_buffer (cns_inbuf, sizeof (cns_inbuf),
outbuf, sizeof (outbuf),
&decap_len, &used, &more);
g_assert (success == FALSE);
}
+2
View File
@@ -22,5 +22,7 @@ void test_utils_decapsulate_buffer (void *f, void *data);
void test_utils_encapsulate_buffer (void *f, void *data);
void test_utils_decapsulate_sierra_cns (void *f, void *data);
#endif /* TEST_QCDM_UTILS_H */
+1
View File
@@ -89,6 +89,7 @@ int main (int argc, char **argv)
g_test_suite_add (suite, TESTCASE (test_escape_unescape, NULL));
g_test_suite_add (suite, TESTCASE (test_utils_decapsulate_buffer, NULL));
g_test_suite_add (suite, TESTCASE (test_utils_encapsulate_buffer, NULL));
g_test_suite_add (suite, TESTCASE (test_utils_decapsulate_sierra_cns, NULL));
g_test_suite_add (suite, TESTCASE (test_result_string, NULL));
g_test_suite_add (suite, TESTCASE (test_result_uint32, NULL));
g_test_suite_add (suite, TESTCASE (test_result_uint8, NULL));