From 840191b85491b8d61e4c3ff1419ed40454943d88 Mon Sep 17 00:00:00 2001 From: Krzysztof Jackiewicz Date: Mon, 26 Sep 2022 10:53:26 +0200 Subject: [PATCH] CKM: Multithreaded encryption test Change-Id: I8aa6a784e672957c717790e755b8b2de0274ba99 --- src/ckm/unprivileged/CMakeLists.txt | 3 +++ src/ckm/unprivileged/encryption-decryption.cpp | 14 ++++++++++++++ 2 files changed, 17 insertions(+) diff --git a/src/ckm/unprivileged/CMakeLists.txt b/src/ckm/unprivileged/CMakeLists.txt index 14a8973..8b8dfda 100644 --- a/src/ckm/unprivileged/CMakeLists.txt +++ b/src/ckm/unprivileged/CMakeLists.txt @@ -27,6 +27,8 @@ SET(CKM_SOURCES main.cpp ) +FIND_PACKAGE (Threads) + INCLUDE_DIRECTORIES( ${PROJECT_SOURCE_DIR}/src/common .. @@ -38,6 +40,7 @@ ADD_EXECUTABLE(${TARGET_CKM_TESTS} ${CKM_SOURCES}) TARGET_LINK_LIBRARIES(${TARGET_CKM_TESTS} ${TARGET_CKM_TEST_COMMON} ${COMMON_TARGET_TEST} + ${CMAKE_THREAD_LIBS_INIT} ) INSTALL(TARGETS ${TARGET_CKM_TESTS} DESTINATION bin) diff --git a/src/ckm/unprivileged/encryption-decryption.cpp b/src/ckm/unprivileged/encryption-decryption.cpp index c183c81..9030803 100644 --- a/src/ckm/unprivileged/encryption-decryption.cpp +++ b/src/ckm/unprivileged/encryption-decryption.cpp @@ -23,6 +23,7 @@ #include #include #include +#include #include #include @@ -1464,3 +1465,16 @@ RUNNER_TEST(TED_2010_dec_no_observer_async, AsyncEnv) encrypted); }); } + +///////////////////////////////////////// +// Mulithreaded test for synchronous API +///////////////////////////////////////// +RUNNER_TEST(TED_3000_muliple_threads, SyncEnv) +{ + std::vector threads; + threads.reserve(10); + for(unsigned i = 0; i < 10;++i) + threads.emplace_back([]{ testEncryptDecryptBigData({CKMC_ALGO_AES_CBC, 256}); }); + for (auto& thread : threads) + thread.join(); +} -- 2.7.4