diff options
author | Dan Williams <dcbw@redhat.com> | 2010-10-14 00:00:44 -0500 |
---|---|---|
committer | Dan Williams <dcbw@redhat.com> | 2010-10-14 00:00:44 -0500 |
commit | 79ae78a740dd3c41bd0e71984acceb9bdb1be2b2 (patch) | |
tree | deb8f024d19ba402d13aba9ca76ce34a8b0dc33f /libqcdm | |
parent | a9152f21ff40f4515237c40c691e2b87511b0c41 (diff) |
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.
Diffstat (limited to 'libqcdm')
-rw-r--r-- | libqcdm/tests/test-qcdm-utils.c | 20 | ||||
-rw-r--r-- | libqcdm/tests/test-qcdm-utils.h | 2 | ||||
-rw-r--r-- | libqcdm/tests/test-qcdm.c | 1 |
3 files changed, 23 insertions, 0 deletions
diff --git a/libqcdm/tests/test-qcdm-utils.c b/libqcdm/tests/test-qcdm-utils.c index 27ec8d61..04807c16 100644 --- a/libqcdm/tests/test-qcdm-utils.c +++ b/libqcdm/tests/test-qcdm-utils.c @@ -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); +} + diff --git a/libqcdm/tests/test-qcdm-utils.h b/libqcdm/tests/test-qcdm-utils.h index 80386664..65a99441 100644 --- a/libqcdm/tests/test-qcdm-utils.h +++ b/libqcdm/tests/test-qcdm-utils.h @@ -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 */ diff --git a/libqcdm/tests/test-qcdm.c b/libqcdm/tests/test-qcdm.c index 63421c70..5867bcb9 100644 --- a/libqcdm/tests/test-qcdm.c +++ b/libqcdm/tests/test-qcdm.c @@ -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)); |