From 0e3f1c80027973577923016bd396f17e2d858318 Mon Sep 17 00:00:00 2001 From: Bartlomiej Grzelewski Date: Wed, 12 Oct 2016 18:53:55 +0200 Subject: [PATCH] SM: Shm prefrormance test Change-Id: I79a6a1e2873beae44d8b8d0331d9fa791d69f53a --- src/security-manager-tests/test_cases_shm.cpp | 41 +++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/src/security-manager-tests/test_cases_shm.cpp b/src/security-manager-tests/test_cases_shm.cpp index d8f8293..de72c55 100644 --- a/src/security-manager-tests/test_cases_shm.cpp +++ b/src/security-manager-tests/test_cases_shm.cpp @@ -128,3 +128,44 @@ RUNNER_TEST(shm03_double_share) { RUNNER_ASSERT_ERRNO_MSG(0 == ret, "shm_unlink failed"); } +RUNNER_TEST(shm04_performance_test_shm_open) { + const char *shmName = "shm04_testName"; + + // clean up environment + shm_unlink(shmName); + + RUNNER_PERF_TEST_BEGIN(10); + + for (int i=0; i<1000; ++i) { + int fd = shm_open(shmName, O_CREAT | O_RDWR, 0666); + RUNNER_ASSERT_ERRNO_MSG(fd >= 0, "shm_open failed"); + close(fd); + shm_unlink(shmName); + } + + RUNNER_PERF_TEST_END(); +} + +RUNNER_TEST(shm05_performance_test_shm_open_wrapper) { + const char *shmName = "shm05_testName"; + + AppInstallHelper appa("shm05_app"); + ScopedInstaller reqa(appa); + + // clean up environment + shm_unlink(shmName); + + std::string appId = appa.getAppId(); + + RUNNER_PERF_TEST_BEGIN(10); + + for (int i=0; i<1000; ++i) { + int fd = security_manager_shm_open(shmName, O_CREAT | O_RDWR, 0666, appId.c_str()); + RUNNER_ASSERT_ERRNO_MSG(fd >= 0, "security_manager_shm_open failed: " << fd << " iteration " << i); + close(fd); + shm_unlink(shmName); + } + + RUNNER_PERF_TEST_END(); +} + -- 2.7.4