Add test for length checks
diff --git a/tests/suites/test_suite_ccm.data b/tests/suites/test_suite_ccm.data
index efe0508..ecb6f9c 100644
--- a/tests/suites/test_suite_ccm.data
+++ b/tests/suites/test_suite_ccm.data
@@ -17,6 +17,30 @@
depends_on:POLARSSL_BLOWFISH_C
ccm_init:POLARSSL_CIPHER_ID_BLOWFISH:128:POLARSSL_ERR_CCM_BAD_INPUT
+CCM lengths #1 all OK
+ccm_lengths:5:10:5:8:0
+
+CCM lengths #2 nonce too short
+ccm_lengths:5:6:5:8:POLARSSL_ERR_CCM_BAD_INPUT
+
+CCM lengths #3 nonce too long
+ccm_lengths:5:14:5:8:POLARSSL_ERR_CCM_BAD_INPUT
+
+CCM lengths #4 tag too short
+ccm_lengths:5:10:5:2:POLARSSL_ERR_CCM_BAD_INPUT
+
+CCM lengths #5 tag too long
+ccm_lengths:5:10:5:18:POLARSSL_ERR_CCM_BAD_INPUT
+
+CCM lengths #6 tag length not even
+ccm_lengths:5:10:5:7:POLARSSL_ERR_CCM_BAD_INPUT
+
+CCM lenghts #7 AD too long (2^16 - 2^8 + 1)
+ccm_lengths:5:10:65281:8:POLARSSL_ERR_CCM_BAD_INPUT
+
+CCM lengths #8 msg too long for this IV length (2^16, q = 2)
+ccm_lengths:65536:13:5:8:POLARSSL_ERR_CCM_BAD_INPUT
+
CCM encrypt and tag RFC 3610 #1
depends_on:POLARSSL_AES_C
ccm_encrypt_and_tag:POLARSSL_CIPHER_ID_AES:"C0C1C2C3C4C5C6C7C8C9CACBCCCDCECF":"08090A0B0C0D0E0F101112131415161718191A1B1C1D1E":"00000003020100A0A1A2A3A4A5":"0001020304050607":"588C979A61C663D2F066D0C2C0F989806D5F6B61DAC38417E8D12CFDF926E0"