Add tests for x509_csr_parse
diff --git a/tests/suites/test_suite_x509parse.function b/tests/suites/test_suite_x509parse.function
index 5c4c29e..8f496b0 100644
--- a/tests/suites/test_suite_x509parse.function
+++ b/tests/suites/test_suite_x509parse.function
@@ -267,6 +267,34 @@
 }
 /* END_CASE */
 
+/* BEGIN_CASE depends_on:POLARSSL_X509_CSR_PARSE_C */
+void x509_csr_parse( char *csr_der_hex, char *ref_out, int ref_ret )
+{
+    x509_csr csr;
+    unsigned char *csr_der;
+    char my_out[1000];
+    size_t csr_der_len;
+    int my_ret;
+
+    x509_csr_init( &csr );
+    memset( my_out, 0, sizeof( my_out ) );
+    csr_der = unhexify_alloc( csr_der_hex, &csr_der_len );
+
+    my_ret = x509_csr_parse( &csr, csr_der, csr_der_len );
+    TEST_ASSERT( my_ret == ref_ret );
+
+    if( ref_ret == 0 )
+    {
+        size_t my_out_len = x509_csr_info( my_out, sizeof( my_out ), "", &csr );
+        TEST_ASSERT( my_out_len == strlen( ref_out ) );
+        TEST_ASSERT( strcmp( my_out, ref_out ) == 0 );
+    }
+
+    x509_csr_free( &csr );
+    polarssl_free( csr_der );
+}
+/* END_CASE */
+
 /* BEGIN_CASE depends_on:POLARSSL_FS_IO:POLARSSL_X509_CRT_PARSE_C */
 void x509_crt_parse_path( char *crt_path, int ret, int nb_crt )
 {