Add test for x509parse_public_keyfile_ec
diff --git a/tests/data_files/ec_pub.der b/tests/data_files/ec_pub.der
new file mode 100644
index 0000000..954bf3b
--- /dev/null
+++ b/tests/data_files/ec_pub.der
Binary files differ
diff --git a/tests/data_files/ec_pub.pem b/tests/data_files/ec_pub.pem
new file mode 100644
index 0000000..dbbc2e6
--- /dev/null
+++ b/tests/data_files/ec_pub.pem
@@ -0,0 +1,4 @@
+-----BEGIN PUBLIC KEY-----
+ME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEb3GKqedAJ2/1CRdhjIRhQO+4erL49GlI
+QrBg7frKWrc6ZrnjgXgdHt68Tux/2IyRuff+lvGn32s=
+-----END PUBLIC KEY-----
diff --git a/tests/suites/test_suite_x509parse.data b/tests/suites/test_suite_x509parse.data
index c82465f..824d928 100644
--- a/tests/suites/test_suite_x509parse.data
+++ b/tests/suites/test_suite_x509parse.data
@@ -186,6 +186,14 @@
 depends_on:POLARSSL_MD5_C:POLARSSL_PEM_C:POLARSSL_FS_IO
 x509parse_public_keyfile_rsa:"data_files/format_gen.pub":0
 
+X509 Parse Public EC Key #1 (RFC 5480, DER)
+depends_on:POLARSSL_ECP_C:POLARSSL_FS_IO
+x509parse_public_keyfile_ec:"data_files/ec_pub.der":0
+
+X509 Parse Public EC Key #2 (RFC 5480, PEM)
+depends_on:POLARSSL_PEM_C:POLARSSL_ECP_C:POLARSSL_FS_IO
+x509parse_public_keyfile_ec:"data_files/ec_pub.pem":0
+
 X509 Get Distinguished Name #1
 depends_on:POLARSSL_PEM_C:POLARSSL_FS_IO
 x509_dn_gets:"data_files/server1.crt":subject:"C=NL, O=PolarSSL, CN=PolarSSL Server 1"
diff --git a/tests/suites/test_suite_x509parse.function b/tests/suites/test_suite_x509parse.function
index 9b422f0..ebb534a 100644
--- a/tests/suites/test_suite_x509parse.function
+++ b/tests/suites/test_suite_x509parse.function
@@ -180,6 +180,27 @@
 END_CASE
 
 BEGIN_CASE
+x509parse_public_keyfile_ec:key_file:result
+{
+    ecp_keypair eckey;
+    int res;
+
+    ecp_keypair_init( &eckey );
+
+    res = x509parse_public_keyfile_ec( &eckey, {key_file} );
+
+    TEST_ASSERT( res == {result} );
+
+    if( res == 0 )
+    {
+        TEST_ASSERT( ecp_check_pubkey( &eckey.grp, &eckey.Q ) == 0 );
+    }
+
+    ecp_keypair_free( &eckey );
+}
+END_CASE
+
+BEGIN_CASE
 x509parse_crt:crt_data:result_str:result
 {
     x509_cert   crt;