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 )
{