summaryrefslogtreecommitdiff
path: root/tests/suites/test_suite_version.function
diff options
context:
space:
mode:
authorTom Rini <[email protected]>2024-10-08 13:56:50 -0600
committerTom Rini <[email protected]>2024-10-08 13:56:50 -0600
commit0344c602eadc0802776b65ff90f0a02c856cf53c (patch)
tree236a705740939b84ff37d68ae650061dd14c3449 /tests/suites/test_suite_version.function
Squashed 'lib/mbedtls/external/mbedtls/' content from commit 2ca6c285a0dd
git-subtree-dir: lib/mbedtls/external/mbedtls git-subtree-split: 2ca6c285a0dd3f33982dd57299012dacab1ff206
Diffstat (limited to 'tests/suites/test_suite_version.function')
-rw-r--r--tests/suites/test_suite_version.function73
1 files changed, 73 insertions, 0 deletions
diff --git a/tests/suites/test_suite_version.function b/tests/suites/test_suite_version.function
new file mode 100644
index 00000000000..eeae5126265
--- /dev/null
+++ b/tests/suites/test_suite_version.function
@@ -0,0 +1,73 @@
+/* BEGIN_HEADER */
+#include "mbedtls/version.h"
+/* END_HEADER */
+
+/* BEGIN_DEPENDENCIES
+ * depends_on:MBEDTLS_VERSION_C
+ * END_DEPENDENCIES
+ */
+
+/* BEGIN_CASE */
+void check_compiletime_version(char *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);
+
+ mbedtls_snprintf(build_str, 100, "%d.%d.%d", MBEDTLS_VERSION_MAJOR,
+ MBEDTLS_VERSION_MINOR, MBEDTLS_VERSION_PATCH);
+
+ mbedtls_snprintf(build_str_full, 100, "Mbed TLS %d.%d.%d", MBEDTLS_VERSION_MAJOR,
+ MBEDTLS_VERSION_MINOR, MBEDTLS_VERSION_PATCH);
+
+ build_int = MBEDTLS_VERSION_MAJOR << 24 |
+ MBEDTLS_VERSION_MINOR << 16 |
+ MBEDTLS_VERSION_PATCH << 8;
+
+ TEST_ASSERT(build_int == MBEDTLS_VERSION_NUMBER);
+ TEST_ASSERT(strcmp(build_str, MBEDTLS_VERSION_STRING) == 0);
+ TEST_ASSERT(strcmp(build_str_full, MBEDTLS_VERSION_STRING_FULL) == 0);
+ TEST_ASSERT(strcmp(version_str, MBEDTLS_VERSION_STRING) == 0);
+}
+/* END_CASE */
+
+/* BEGIN_CASE */
+void check_runtime_version(char *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 = mbedtls_version_get_number();
+ mbedtls_version_get_string(get_str);
+ mbedtls_version_get_string_full(get_str_full);
+
+ mbedtls_snprintf(build_str, 100, "%u.%u.%u",
+ (get_int >> 24) & 0xFF,
+ (get_int >> 16) & 0xFF,
+ (get_int >> 8) & 0xFF);
+ mbedtls_snprintf(build_str_full, 100, "Mbed TLS %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 */
+
+/* BEGIN_CASE depends_on:MBEDTLS_VERSION_FEATURES */
+void check_feature(char *feature, int result)
+{
+ int check = mbedtls_version_check_feature(feature);
+ TEST_ASSERT(check == result);
+}
+/* END_CASE */