Test result of mbedtls_asn1_write_len() through mbedtls_asn1_get_len()
diff --git a/tests/suites/test_suite_asn1write.function b/tests/suites/test_suite_asn1write.function
index ba4db88..fc5fd8a 100644
--- a/tests/suites/test_suite_asn1write.function
+++ b/tests/suites/test_suite_asn1write.function
@@ -91,7 +91,7 @@
     unsigned char buf[150];
     unsigned char asn1[150];
     unsigned char *p;
-    size_t asn1_len, i;
+    size_t asn1_len, i, read_len;
 
     memset( buf, GUARD_VAL, sizeof( buf ) );
     memset( asn1, 0, sizeof( asn1 ) );
@@ -116,6 +116,23 @@
         TEST_ASSERT( p + asn1_len == buf + GUARD_LEN + buf_len );
 
         TEST_ASSERT( memcmp( p, asn1, asn1_len ) == 0 );
+
+        /* Read back with mbedtls_asn1_get_len() to check */
+        ret = mbedtls_asn1_get_len( &p, buf + GUARD_LEN + buf_len, &read_len );
+
+        if( len == 0 )
+        {
+            TEST_ASSERT( ret == 0 );
+        }
+        else
+        {
+            /* Return will be MBEDTLS_ERR_ASN1_OUT_OF_DATA because the rest of
+             * the buffer is missing
+             */
+            TEST_ASSERT( ret == MBEDTLS_ERR_ASN1_OUT_OF_DATA );
+        }
+        TEST_ASSERT( read_len == (size_t) len );
+        TEST_ASSERT( p == buf + GUARD_LEN + buf_len );
     }
 }
 /* END_CASE */