CKM: Max chunk size test
[platform/core/test/security-tests.git] / src / ckm / unprivileged / main.cpp
index f55aeb2..8f02903 100644 (file)
@@ -280,7 +280,13 @@ RUNNER_TEST(T1014_save_with_label)
 RUNNER_TEST(T1020_save_big_data)
 {
 #ifdef TZ_BACKEND
-    const size_t BIG_SIZE = 100000;
+    ckmc_backend_info_h info;
+    size_t size;
+    // all data goes to TZ when enabled
+    assert_positive(ckmc_get_backend_info, CKMC_BACKEND_TZ, &info);
+    assert_positive(ckmc_backend_get_max_chunk_size, info, &size);
+    const size_t BIG_SIZE = size;
+
     CKM::PolicyBackend backend = CKM::PolicyBackend::FORCE_HARDWARE;
 #else
     const size_t BIG_SIZE = 5000000;
@@ -578,6 +584,33 @@ RUNNER_TEST(T1026_app_user_save_data_get_alias_pwd)
     remove_user_data(USER_APP);
 }
 
+RUNNER_TEST(T1027_backend_info)
+{
+    //int ckmc_get_backend_info(ckmc_backend_id_e backend, ckmc_backend_info_h* ppinfo)
+    ckmc_backend_info_h info;
+    size_t size;
+    assert_invalid_param(ckmc_get_backend_info, static_cast<ckmc_backend_id_e>(-1), &info);
+    assert_invalid_param(ckmc_get_backend_info, static_cast<ckmc_backend_id_e>(2), &info);
+    assert_invalid_param(ckmc_get_backend_info, CKMC_BACKEND_SW, nullptr);
+
+#ifdef TZ_BACKEND
+    assert_positive(ckmc_get_backend_info, CKMC_BACKEND_TZ, &info);
+    RUNNER_ASSERT_MSG(info != nullptr, "Backend info is null");
+
+    assert_positive(ckmc_backend_get_max_chunk_size, info, &size);
+    RUNNER_ASSERT_MSG(size != 0, "Unexpected max chunk size");
+#else
+    assert_invalid_param(ckmc_get_backend_info, CKMC_BACKEND_TZ, &info);
+#endif
+
+    assert_positive(ckmc_get_backend_info, CKMC_BACKEND_SW, &info);
+    RUNNER_ASSERT_MSG(info != nullptr, "Backend info is null");
+
+    assert_positive(ckmc_backend_get_max_chunk_size, info, &size);
+    RUNNER_ASSERT_MSG(size == 0, "Unexpected max chunk size");
+}
+
+
 RUNNER_TEST(T1029_deinit)
 {
     remove_user_data(USER_APP);