diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index 5f73112..7c1fa72 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -26,3 +26,4 @@
 add_test_suite(dhm)
 add_test_suite(x509parse)
 add_test_suite(debug)
+add_test_suite(version)
diff --git a/tests/Makefile b/tests/Makefile
index ee6507a..c90d8b3 100644
--- a/tests/Makefile
+++ b/tests/Makefile
@@ -14,7 +14,8 @@
 		test_suite_hmac_shax	test_suite_mdx		\
 		test_suite_mpi			test_suite_rsa		\
 		test_suite_shax			test_suite_x509parse\
-		test_suite_xtea			test_suite_debug
+		test_suite_xtea			test_suite_debug	\
+		test_suite_version
 
 .SILENT:
 
@@ -80,6 +81,10 @@
 	echo   "  CC    	$@.c"
 	$(CC) $(CFLAGS) $(OFLAGS) $@.c	$(LDFLAGS) -o $@
 
+test_suite_version: test_suite_version.c ../library/libpolarssl.a
+	echo   "  CC    	$@.c"
+	$(CC) $(CFLAGS) $(OFLAGS) $@.c	$(LDFLAGS) -o $@
+
 clean:
 	rm -f $(APPS) *.c
 
diff --git a/tests/suites/test_suite_version.data b/tests/suites/test_suite_version.data
new file mode 100644
index 0000000..6d75b0f
--- /dev/null
+++ b/tests/suites/test_suite_version.data
@@ -0,0 +1,5 @@
+Check compiletime library version
+check_compiletime_version:"0.13.1"
+
+Check runtime library version
+check_runtime_version:"0.13.1"
diff --git a/tests/suites/test_suite_version.function b/tests/suites/test_suite_version.function
new file mode 100644
index 0000000..958857e
--- /dev/null
+++ b/tests/suites/test_suite_version.function
@@ -0,0 +1,60 @@
+BEGIN_HEADER
+#include <polarssl/version.h>
+END_HEADER
+
+BEGIN_CASE
+check_compiletime_version:version_str
+{
+    char build_str[100];
+    char build_str_full[100];
+    unsigned int build_int;
+
+    memset( build_str, 0, 100 );
+    memset( build_str_full, 0, 100 );
+
+    snprintf (build_str, 100, "%d.%d.%d", POLARSSL_VERSION_MAJOR,
+        POLARSSL_VERSION_MINOR, POLARSSL_VERSION_PATCH );
+
+    snprintf( build_str_full, 100, "PolarSSL %d.%d.%d", POLARSSL_VERSION_MAJOR,
+        POLARSSL_VERSION_MINOR, POLARSSL_VERSION_PATCH );
+
+    build_int = POLARSSL_VERSION_MAJOR << 24 |
+            POLARSSL_VERSION_MINOR << 16 |
+            POLARSSL_VERSION_PATCH << 8;
+
+    TEST_ASSERT( build_int == POLARSSL_VERSION_NUMBER );
+    TEST_ASSERT( strcmp( build_str, POLARSSL_VERSION_STRING ) == 0 );
+    TEST_ASSERT( strcmp( build_str_full, POLARSSL_VERSION_STRING_FULL ) == 0 );
+    TEST_ASSERT( strcmp( {version_str}, POLARSSL_VERSION_STRING ) == 0 );
+}
+END_CASE
+
+BEGIN_CASE
+check_runtime_version:version_str
+{
+    char build_str[100];
+    char get_str[100];
+    char build_str_full[100];
+    char get_str_full[100];
+    unsigned int get_int;
+
+    memset( build_str, 0, 100 );
+    memset( get_str, 0, 100 );
+    memset( build_str_full, 0, 100 );
+    memset( get_str_full, 0, 100 );
+
+    get_int = version_get_number();
+    version_get_string( get_str );
+    version_get_string_full( get_str_full );
+
+    snprintf( build_str, 100, "%d.%d.%d",
+        (get_int >> 24) & 0xFF,
+        (get_int >> 16) & 0xFF,
+        (get_int >> 8) & 0xFF );
+    snprintf( build_str_full, 100, "PolarSSL %s", {version_str} );
+
+    TEST_ASSERT( strcmp( build_str, {version_str} ) == 0 );
+    TEST_ASSERT( strcmp( build_str_full, get_str_full ) == 0 );
+    TEST_ASSERT( strcmp( {version_str}, get_str ) == 0 );
+}
+END_CASE
