%if "%{?tizen_version}" == "3.0"
%global service_user security_fw
%global service_group security_fw
+%global test_user owner
%global popup_service_env_file_path /run/tizen-system-env
%global smack_domain_name System
%global popup_unitdir %{_unitdir_user}
%else
%global service_user system
%global service_group system
+%global test_user system
%global smack_domain_name %{service_name}
%global popup_service_env_file_path /run/tizen-mobile-env
%global popup_unitdir %{_unitdir}
%{ro_data_dir}/license/%{name}-test
%{ro_data_dir}/license/%{name}-test.BSL-1.0
%{_libdir}/lib%{service_name}-test-common.so
-%attr(-, %{service_user}, %{service_group}) %{bin_dir}/%{service_name}-test
-%attr(-, %{service_user}, %{service_group}) %{bin_dir}/%{service_name}-internal-test
-%attr(-, %{service_user}, %{service_group}) %{bin_dir}/%{service_name}-popup-test
-%attr(-, %{service_user}, %{service_group}) %{bin_dir}/%{service_name}-threadpool-test
+%attr(-, %{test_user}, %{service_group}) %{bin_dir}/%{service_name}-test
+%attr(-, %{test_user}, %{service_group}) %{bin_dir}/%{service_name}-internal-test
+%attr(-, %{test_user}, %{service_group}) %{bin_dir}/%{service_name}-popup-test
+%attr(-, %{test_user}, %{service_group}) %{bin_dir}/%{service_name}-threadpool-test
# test resources
-%dir %attr(-, %{service_user}, %{service_group}) %{test_dir}
-%attr(-, %{service_user}, %{service_group}) %{test_dir}/*
+%dir %attr(777, %{test_user}, %{service_group}) %{test_dir}
+%attr(777, %{test_user}, %{service_group}) %{test_dir}/*
-%dir %attr(-, %{service_user}, %{service_group}) %{test_res_dir}
-%attr(-, %{service_user}, %{service_group}) %{test_res_dir}/*
+%dir %attr(777, %{test_user}, %{service_group}) %{test_res_dir}
+%attr(777, %{test_user}, %{service_group}) %{test_res_dir}/*
# sample engine related files
%if 0%{?with_sample_engine}
void install_test_files()
{
- Test::copy_file(TEST_FILE_HIGH, TEST_FILE_MEDIA);
+ Test::copy_file(TEST_FILE_HIGH, TEST_FILE_MEDIA());
Test::copy_file(TEST_FILE_HIGH, TEST_FILE_TMP);
- Test::make_dir(TEST_FAKE_APP_ROOT);
- Test::copy_file(TEST_FILE_HIGH, TEST_FAKE_APP_FILE);
+ Test::make_dir(TEST_FAKE_APP_ROOT());
+ Test::copy_file(TEST_FILE_HIGH, TEST_FAKE_APP_FILE());
}
void uninstall_test_files()
{
- Test::remove_file(TEST_FILE_MEDIA);
+ Test::remove_file(TEST_FILE_MEDIA());
Test::remove_file(TEST_FILE_TMP);
- Test::remove_file(TEST_FAKE_APP_FILE);
- Test::remove_file(TEST_FAKE_APP_ROOT);
+ Test::remove_file(TEST_FAKE_APP_FILE());
+ Test::remove_file(TEST_FAKE_APP_ROOT());
}
void uninstall_test_apps()
Test::uninstall_app(TEST_TPK_PKG_ID);
//scanned, detected, completed, cancelled, error
- ASSERT_CALLBACK(testCtx, -1, 12, 1, 0, 0);
-
- ASSERT_DETECTED_IN_LIST(testCtx.detectedList,
- TEST_FILE_HIGH, MALWARE_HIGH_NAME, MALWARE_HIGH_SEVERITY, MALWARE_HIGH_DETAILED_URL);
+ ASSERT_CALLBACK(testCtx, -1, -1, 1, 0, 0);
+
+ std::string homeDirPrefix;
+#ifdef PLATFORM_VERSION_3
+ // "/home" is symlinked of "/opt/home" so in root directory scanning,
+ // user directory prefix("/opt") is additionally needed to check file_name field
+ // in malware handle
+ homeDirPrefix = "/opt";
+#endif
+
+ ASSERT_DETECTED_IN_LIST(testCtx.detectedList, TEST_FILE_HIGH, MALWARE_HIGH_NAME,
+ MALWARE_HIGH_SEVERITY, MALWARE_HIGH_DETAILED_URL);
ASSERT_DETECTED_IN_LIST_EXT(testCtx.detectedList, TEST_FILE_HIGH, false, "");
- ASSERT_DETECTED_IN_LIST(testCtx.detectedList,
- TEST_FILE_MEDIUM, MALWARE_MEDIUM_NAME, MALWARE_MEDIUM_SEVERITY, MALWARE_MEDIUM_DETAILED_URL);
- ASSERT_DETECTED_IN_LIST_EXT(testCtx.detectedList, TEST_FILE_MEDIUM, false, "");
-
- ASSERT_DETECTED_IN_LIST(testCtx.detectedList,
- TEST_FILE_LOW, MALWARE_LOW_NAME, MALWARE_LOW_SEVERITY, MALWARE_LOW_DETAILED_URL);
- ASSERT_DETECTED_IN_LIST_EXT(testCtx.detectedList, TEST_FILE_LOW, false, "");
-
- ASSERT_DETECTED_IN_LIST(testCtx.detectedList,
- TEST_FILE_MEDIA, MALWARE_HIGH_NAME, MALWARE_HIGH_SEVERITY, MALWARE_HIGH_DETAILED_URL);
- ASSERT_DETECTED_IN_LIST_EXT(testCtx.detectedList, TEST_FILE_MEDIA, false, "");
+ ASSERT_DETECTED_IN_LIST(testCtx.detectedList, homeDirPrefix + TEST_FILE_MEDIA(),
+ MALWARE_HIGH_NAME, MALWARE_HIGH_SEVERITY,
+ MALWARE_HIGH_DETAILED_URL);
+ ASSERT_DETECTED_IN_LIST_EXT(testCtx.detectedList, homeDirPrefix + TEST_FILE_MEDIA(),
+ false, "");
- ASSERT_DETECTED_IN_LIST(testCtx.detectedList,
- TEST_FILE_TMP, MALWARE_HIGH_NAME, MALWARE_HIGH_SEVERITY, MALWARE_HIGH_DETAILED_URL);
+ ASSERT_DETECTED_IN_LIST(testCtx.detectedList, TEST_FILE_TMP, MALWARE_HIGH_NAME,
+ MALWARE_HIGH_SEVERITY, MALWARE_HIGH_DETAILED_URL);
ASSERT_DETECTED_IN_LIST_EXT(testCtx.detectedList, TEST_FILE_TMP, false, "");
- ASSERT_DETECTED_IN_LIST(testCtx.detectedList,
- TEST_WGT_APP_ROOT(), MALWARE_HIGH_NAME, MALWARE_HIGH_SEVERITY, MALWARE_HIGH_DETAILED_URL);
- ASSERT_DETECTED_IN_LIST_EXT(testCtx.detectedList, TEST_WGT_APP_ROOT(), true, TEST_WGT_PKG_ID);
-
- ASSERT_DETECTED_IN_LIST(testCtx.detectedList,
- TEST_TPK_APP_ROOT(), MALWARE_HIGH_NAME, MALWARE_HIGH_SEVERITY, MALWARE_HIGH_DETAILED_URL);
- ASSERT_DETECTED_IN_LIST_EXT(testCtx.detectedList, TEST_TPK_APP_ROOT(), true, TEST_TPK_PKG_ID);
+ ASSERT_DETECTED_IN_LIST(testCtx.detectedList, homeDirPrefix + TEST_WGT_APP_ROOT(),
+ MALWARE_HIGH_NAME, MALWARE_HIGH_SEVERITY,
+ MALWARE_HIGH_DETAILED_URL);
+ ASSERT_DETECTED_IN_LIST_EXT(testCtx.detectedList, homeDirPrefix + TEST_WGT_APP_ROOT(),
+ true, TEST_WGT_PKG_ID);
+
+ ASSERT_DETECTED_IN_LIST(testCtx.detectedList, homeDirPrefix + TEST_TPK_APP_ROOT(),
+ MALWARE_HIGH_NAME, MALWARE_HIGH_SEVERITY,
+ MALWARE_HIGH_DETAILED_URL);
+ ASSERT_DETECTED_IN_LIST_EXT(testCtx.detectedList, homeDirPrefix + TEST_TPK_APP_ROOT(),
+ true, TEST_TPK_PKG_ID);
+
+ ASSERT_DETECTED_IN_LIST(testCtx.detectedList, homeDirPrefix + TEST_FAKE_APP_FILE(),
+ MALWARE_HIGH_NAME, MALWARE_HIGH_SEVERITY,
+ MALWARE_HIGH_DETAILED_URL);
+ ASSERT_DETECTED_IN_LIST_EXT(testCtx.detectedList, homeDirPrefix + TEST_FAKE_APP_FILE(),
+ false, "");
+
+ ASSERT_DETECTED_IN_LIST(testCtx.detectedList, TEST_FILE_MEDIUM, MALWARE_MEDIUM_NAME,
+ MALWARE_MEDIUM_SEVERITY, MALWARE_MEDIUM_DETAILED_URL);
+ ASSERT_DETECTED_IN_LIST_EXT(testCtx.detectedList, TEST_FILE_MEDIUM, false, "");
- ASSERT_DETECTED_IN_LIST(testCtx.detectedList,
- TEST_FAKE_APP_FILE, MALWARE_HIGH_NAME, MALWARE_HIGH_SEVERITY, MALWARE_HIGH_DETAILED_URL);
- ASSERT_DETECTED_IN_LIST_EXT(testCtx.detectedList, TEST_FAKE_APP_FILE, false, "");
+ ASSERT_DETECTED_IN_LIST(testCtx.detectedList, TEST_FILE_LOW, MALWARE_LOW_NAME,
+ MALWARE_LOW_SEVERITY, MALWARE_LOW_DETAILED_URL);
+ ASSERT_DETECTED_IN_LIST_EXT(testCtx.detectedList, TEST_FILE_LOW, false, "");
EXCEPTION_GUARD_END
}
AsyncTestContext testCtx;
- ASSERT_SUCCESS(csr_cs_scan_dir_async(context, TEST_DIR_MEDIA, &testCtx));
+ ASSERT_SUCCESS(csr_cs_scan_dir_async(context, TEST_DIR_MEDIA(), &testCtx));
std::unique_lock<std::mutex> l(testCtx.m);
testCtx.cv.wait(l);
ASSERT_CALLBACK(testCtx, -1, 1, 1, 0, 0);
ASSERT_DETECTED_IN_LIST(testCtx.detectedList,
- TEST_FILE_MEDIA, MALWARE_HIGH_NAME, MALWARE_HIGH_SEVERITY, MALWARE_HIGH_DETAILED_URL);
- ASSERT_DETECTED_IN_LIST_EXT(testCtx.detectedList, TEST_FILE_MEDIA, false, "");
+ TEST_FILE_MEDIA(), MALWARE_HIGH_NAME, MALWARE_HIGH_SEVERITY, MALWARE_HIGH_DETAILED_URL);
+ ASSERT_DETECTED_IN_LIST_EXT(testCtx.detectedList, TEST_FILE_MEDIA(), false, "");
EXCEPTION_GUARD_END
}
AsyncTestContext testCtx;
- ASSERT_SUCCESS(csr_cs_scan_dir_async(context, TEST_DIR_APPS, &testCtx));
+ ASSERT_SUCCESS(csr_cs_scan_dir_async(context, TEST_DIR_APPS(), &testCtx));
std::unique_lock<std::mutex> l(testCtx.m);
testCtx.cv.wait(l);
ASSERT_DETECTED_IN_LIST_EXT(testCtx.detectedList, TEST_TPK_APP_ROOT(), true, TEST_TPK_PKG_ID);
ASSERT_DETECTED_IN_LIST(testCtx.detectedList,
- TEST_FAKE_APP_FILE, MALWARE_HIGH_NAME, MALWARE_HIGH_SEVERITY, MALWARE_HIGH_DETAILED_URL);
- ASSERT_DETECTED_IN_LIST_EXT(testCtx.detectedList, TEST_FAKE_APP_FILE, false, "");
+ TEST_FAKE_APP_FILE(), MALWARE_HIGH_NAME, MALWARE_HIGH_SEVERITY, MALWARE_HIGH_DETAILED_URL);
+ ASSERT_DETECTED_IN_LIST_EXT(testCtx.detectedList, TEST_FAKE_APP_FILE(), false, "");
uninstall_test_apps();
AsyncTestContext testCtx;
- ASSERT_SUCCESS(csr_cs_scan_dir_async(context, TEST_WGT_APP_ROOT().c_str(), &testCtx));
+ ASSERT_SUCCESS(csr_cs_scan_dir_async(context, TEST_WGT_APP_ROOT(), &testCtx));
std::unique_lock<std::mutex> l(testCtx.m);
testCtx.cv.wait(l);
AsyncTestContext testCtx;
- ASSERT_SUCCESS(csr_cs_scan_dir_async(context, TEST_TPK_APP_ROOT().c_str(), &testCtx));
+ ASSERT_SUCCESS(csr_cs_scan_dir_async(context, TEST_TPK_APP_ROOT(), &testCtx));
std::unique_lock<std::mutex> l(testCtx.m);
testCtx.cv.wait(l);
// Base Scan
AsyncTestContext testBaseCtx;
- ASSERT_SUCCESS(csr_cs_scan_dir_async(context, TEST_DIR_APPS, &testBaseCtx));
+ ASSERT_SUCCESS(csr_cs_scan_dir_async(context, TEST_DIR_APPS(), &testBaseCtx));
std::unique_lock<std::mutex> lBase(testBaseCtx.m);
testBaseCtx.cv.wait(lBase);
lBase.unlock();
// scanned, detected, completed, cancelled, error
- ASSERT_CALLBACK(testBaseCtx, -1, 3, 1, 0, 0);
+ ASSERT_CALLBACK(testBaseCtx, -1, -1, 1, 0, 0);
BOOST_REQUIRE_MESSAGE(testBaseCtx.scannedCnt != 0,
"Base Scan count should not be zero");
+ ASSERT_DETECTED_IN_LIST(testBaseCtx.detectedList, TEST_WGT_APP_ROOT(),
+ MALWARE_HIGH_NAME, MALWARE_HIGH_SEVERITY,
+ MALWARE_HIGH_DETAILED_URL);
+ ASSERT_DETECTED_IN_LIST_EXT(testBaseCtx.detectedList, TEST_WGT_APP_ROOT(), true,
+ TEST_WGT_PKG_ID);
+
+ ASSERT_DETECTED_IN_LIST(testBaseCtx.detectedList, TEST_TPK_APP_ROOT(),
+ MALWARE_HIGH_NAME, MALWARE_HIGH_SEVERITY,
+ MALWARE_HIGH_DETAILED_URL);
+ ASSERT_DETECTED_IN_LIST_EXT(testBaseCtx.detectedList, TEST_TPK_APP_ROOT(), true,
+ TEST_TPK_PKG_ID);
+
+ ASSERT_DETECTED_IN_LIST(testBaseCtx.detectedList, TEST_FAKE_APP_FILE(),
+ MALWARE_HIGH_NAME, MALWARE_HIGH_SEVERITY,
+ MALWARE_HIGH_DETAILED_URL);
+ ASSERT_DETECTED_IN_LIST_EXT(testBaseCtx.detectedList, TEST_FAKE_APP_FILE(), false, "");
+
// Rescan the same dir
AsyncTestContext testRescanCtx;
- ASSERT_SUCCESS(csr_cs_scan_dir_async(context, TEST_DIR_APPS, &testRescanCtx));
+ ASSERT_SUCCESS(csr_cs_scan_dir_async(context, TEST_DIR_APPS(), &testRescanCtx));
std::unique_lock<std::mutex> lRescan(testRescanCtx.m);
testRescanCtx.cv.wait(lRescan);
lRescan.unlock();
// scanned, detected, completed, cancelled, error
- ASSERT_CALLBACK(testRescanCtx, 0, 3, 1, 0, 0);
-
- ASSERT_DETECTED_IN_LIST(testRescanCtx.detectedList,
- TEST_WGT_APP_ROOT(), MALWARE_HIGH_NAME, MALWARE_HIGH_SEVERITY, MALWARE_HIGH_DETAILED_URL);
- ASSERT_DETECTED_IN_LIST_EXT(testRescanCtx.detectedList, TEST_WGT_APP_ROOT(), true, TEST_WGT_PKG_ID);
-
- ASSERT_DETECTED_IN_LIST(testRescanCtx.detectedList,
- TEST_TPK_APP_ROOT(), MALWARE_HIGH_NAME, MALWARE_HIGH_SEVERITY, MALWARE_HIGH_DETAILED_URL);
- ASSERT_DETECTED_IN_LIST_EXT(testRescanCtx.detectedList, TEST_TPK_APP_ROOT(), true, TEST_TPK_PKG_ID);
-
- ASSERT_DETECTED_IN_LIST(testRescanCtx.detectedList,
- TEST_FAKE_APP_FILE, MALWARE_HIGH_NAME, MALWARE_HIGH_SEVERITY, MALWARE_HIGH_DETAILED_URL);
- ASSERT_DETECTED_IN_LIST_EXT(testRescanCtx.detectedList, TEST_FAKE_APP_FILE, false, "");
+ ASSERT_CALLBACK(testRescanCtx, 0, -1, 1, 0, 0);
+
+ ASSERT_DETECTED_IN_LIST(testRescanCtx.detectedList, TEST_WGT_APP_ROOT(),
+ MALWARE_HIGH_NAME, MALWARE_HIGH_SEVERITY,
+ MALWARE_HIGH_DETAILED_URL);
+ ASSERT_DETECTED_IN_LIST_EXT(testRescanCtx.detectedList, TEST_WGT_APP_ROOT(), true,
+ TEST_WGT_PKG_ID);
+
+ ASSERT_DETECTED_IN_LIST(testRescanCtx.detectedList, TEST_TPK_APP_ROOT(),
+ MALWARE_HIGH_NAME, MALWARE_HIGH_SEVERITY,
+ MALWARE_HIGH_DETAILED_URL);
+ ASSERT_DETECTED_IN_LIST_EXT(testRescanCtx.detectedList, TEST_TPK_APP_ROOT(), true,
+ TEST_TPK_PKG_ID);
+
+ ASSERT_DETECTED_IN_LIST(testRescanCtx.detectedList, TEST_FAKE_APP_FILE(),
+ MALWARE_HIGH_NAME, MALWARE_HIGH_SEVERITY,
+ MALWARE_HIGH_DETAILED_URL);
+ ASSERT_DETECTED_IN_LIST_EXT(testRescanCtx.detectedList, TEST_FAKE_APP_FILE(), false,
+ "");
// Rescan the sub dir
AsyncTestContext testRescanSubCtx;
- ASSERT_SUCCESS(csr_cs_scan_dir_async(context, TEST_WGT_APP_ROOT().c_str(), &testRescanSubCtx));
+ ASSERT_SUCCESS(csr_cs_scan_dir_async(context, TEST_WGT_APP_ROOT(), &testRescanSubCtx));
std::unique_lock<std::mutex> lRescanSub(testRescanSubCtx.m);
testRescanSubCtx.cv.wait(lRescanSub);
lRescanSub.unlock();
// scanned, detected, completed, cancelled, error
- ASSERT_CALLBACK(testRescanSubCtx, 0, 1, 1, 0, 0);
+ ASSERT_CALLBACK(testRescanSubCtx, 0, -1, 1, 0, 0);
- ASSERT_DETECTED_IN_LIST(testRescanSubCtx.detectedList,
- TEST_WGT_APP_ROOT(), MALWARE_HIGH_NAME, MALWARE_HIGH_SEVERITY, MALWARE_HIGH_DETAILED_URL);
- ASSERT_DETECTED_IN_LIST_EXT(testRescanSubCtx.detectedList, TEST_WGT_APP_ROOT(), true, TEST_WGT_PKG_ID);
+ ASSERT_DETECTED_IN_LIST(testRescanSubCtx.detectedList, TEST_WGT_APP_ROOT(),
+ MALWARE_HIGH_NAME, MALWARE_HIGH_SEVERITY,
+ MALWARE_HIGH_DETAILED_URL);
+ ASSERT_DETECTED_IN_LIST_EXT(testRescanSubCtx.detectedList, TEST_WGT_APP_ROOT(), true,
+ TEST_WGT_PKG_ID);
uninstall_test_apps();
// Base Scan
AsyncTestContext testBaseCtx;
- ASSERT_SUCCESS(csr_cs_scan_dir_async(context, TEST_DIR_APPS, &testBaseCtx));
+ ASSERT_SUCCESS(csr_cs_scan_dir_async(context, TEST_DIR_APPS(), &testBaseCtx));
std::unique_lock<std::mutex> lBase(testBaseCtx.m);
testBaseCtx.cv.wait(lBase);
// Rescan the same dir
AsyncTestContext testRescanCtx;
- ASSERT_SUCCESS(csr_cs_scan_dir_async(context, TEST_DIR_APPS, &testRescanCtx));
+ ASSERT_SUCCESS(csr_cs_scan_dir_async(context, TEST_DIR_APPS(), &testRescanCtx));
std::unique_lock<std::mutex> lRescan(testRescanCtx.m);
testRescanCtx.cv.wait(lRescan);
lRescan.unlock();
// scanned, detected, completed, cancelled, error
- ASSERT_CALLBACK(testRescanCtx, 1, 3, 1, 0, 0);
+ ASSERT_CALLBACK(testRescanCtx, -1, -1, 1, 0, 0);
ASSERT_DETECTED_IN_LIST(testRescanCtx.detectedList,
TEST_WGT_APP_ROOT(), MALWARE_HIGH_NAME, MALWARE_HIGH_SEVERITY, MALWARE_HIGH_DETAILED_URL);
ASSERT_DETECTED_IN_LIST_EXT(testRescanCtx.detectedList, TEST_TPK_APP_ROOT(), true, TEST_TPK_PKG_ID);
ASSERT_DETECTED_IN_LIST(testRescanCtx.detectedList,
- TEST_FAKE_APP_FILE, MALWARE_HIGH_NAME, MALWARE_HIGH_SEVERITY, MALWARE_HIGH_DETAILED_URL);
- ASSERT_DETECTED_IN_LIST_EXT(testRescanCtx.detectedList, TEST_FAKE_APP_FILE, false, "");
+ TEST_FAKE_APP_FILE(), MALWARE_HIGH_NAME, MALWARE_HIGH_SEVERITY, MALWARE_HIGH_DETAILED_URL);
+ ASSERT_DETECTED_IN_LIST_EXT(testRescanCtx.detectedList, TEST_FAKE_APP_FILE(), false, "");
uninstall_test_apps();
AsyncTestContext testCtx;
// first call. it'll running in background asynchronously.
- ASSERT_SUCCESS(csr_cs_scan_dir_async(context, TEST_DIR_APPS, &testCtx));
+ ASSERT_SUCCESS(csr_cs_scan_dir_async(context, TEST_DIR_APPS(), &testCtx));
AsyncTestContext testCtx2;
// second call while first call is running in background. It should blocked because
// only one operation can be running asynchronously on one handle.
- ASSERT_IF(csr_cs_scan_dir_async(context, TEST_DIR_APPS, &testCtx2), CSR_ERROR_BUSY);
+ ASSERT_IF(csr_cs_scan_dir_async(context, TEST_DIR_APPS(), &testCtx2), CSR_ERROR_BUSY);
std::unique_lock<std::mutex> l(testCtx.m);
testCtx.cv.wait(l);
csr_cs_malware_h detected;
auto start_time = ::time(nullptr);
- Test::touch_file(TEST_FILE_HIGH);
+ Test::touch_file_assert(TEST_FILE_HIGH);
ASSERT_SUCCESS(csr_cs_scan_file(context, TEST_FILE_HIGH, &detected));
csr_cs_malware_h detected;
auto start_time = ::time(nullptr);
- Test::touch_file(TEST_FILE_MEDIUM);
+ Test::touch_file_assert(TEST_FILE_MEDIUM);
ASSERT_SUCCESS(csr_cs_scan_file(context, TEST_FILE_MEDIUM, &detected));
csr_cs_malware_h detected;
auto start_time = ::time(nullptr);
- Test::touch_file(TEST_FILE_LOW);
+ Test::touch_file_assert(TEST_FILE_LOW);
ASSERT_SUCCESS(csr_cs_scan_file(context, TEST_FILE_LOW, &detected));
csr_cs_malware_h detected;
auto start_time = ::time(nullptr);
- Test::copy_file(TEST_FILE_HIGH, TEST_FILE_MEDIA);
+ Test::remove_file(TEST_FILE_MEDIA());
+ Test::copy_file_assert(TEST_FILE_HIGH, TEST_FILE_MEDIA());
- ASSERT_SUCCESS(csr_cs_scan_file(context, TEST_FILE_MEDIA, &detected));
+ ASSERT_SUCCESS(csr_cs_scan_file(context, TEST_FILE_MEDIA(), &detected));
CHECK_IS_NOT_NULL(detected);
ASSERT_DETECTED(detected, MALWARE_HIGH_NAME, MALWARE_HIGH_SEVERITY,
MALWARE_HIGH_DETAILED_URL);
- ASSERT_DETECTED_EXT(detected, start_time, TEST_FILE_MEDIA, false, "");
+ ASSERT_DETECTED_EXT(detected, start_time, TEST_FILE_MEDIA(), false, "");
EXCEPTION_GUARD_END
}
csr_cs_malware_h detected;
auto start_time = ::time(nullptr);
- Test::copy_file(TEST_FILE_HIGH, TEST_FILE_TMP);
+ Test::remove_file(TEST_FILE_TMP);
+ Test::copy_file_assert(TEST_FILE_HIGH, TEST_FILE_TMP);
ASSERT_SUCCESS(csr_cs_scan_file(context, TEST_FILE_TMP, &detected));
Test::uninstall_app(TEST_WGT_PKG_ID);
ASSERT_INSTALL_APP(TEST_WGT_PATH, TEST_WGT_TYPE);
- ASSERT_SUCCESS(csr_cs_scan_file(context, TEST_WGT_MAL_FILE().c_str(), &detected));
+ ASSERT_SUCCESS(csr_cs_scan_file(context, TEST_WGT_MAL_FILE(), &detected));
CHECK_IS_NOT_NULL(detected);
ASSERT_DETECTED(detected, MALWARE_HIGH_NAME, MALWARE_HIGH_SEVERITY,
Test::uninstall_app(TEST_TPK_PKG_ID);
ASSERT_INSTALL_APP(TEST_TPK_PATH, TEST_TPK_TYPE);
- ASSERT_SUCCESS(csr_cs_scan_file(context, TEST_TPK_MAL_FILE().c_str(), &detected));
+ ASSERT_SUCCESS(csr_cs_scan_file(context, TEST_TPK_MAL_FILE(), &detected));
CHECK_IS_NOT_NULL(detected);
ASSERT_DETECTED(detected, MALWARE_HIGH_NAME, MALWARE_HIGH_SEVERITY,
csr_cs_malware_h detected, stored;
// remove earlier test results
- Test::copy_file(TEST_FILE_HIGH, TEST_FILE_MEDIA);
- ASSERT_SUCCESS(csr_cs_scan_file(context, TEST_FILE_MEDIA, &detected));
+ Test::copy_file(TEST_FILE_HIGH, TEST_FILE_MEDIA());
+ ASSERT_SUCCESS(csr_cs_scan_file(context, TEST_FILE_MEDIA(), &detected));
ASSERT_SUCCESS(csr_cs_judge_detected_malware(context, detected, CSR_CS_ACTION_REMOVE));
- Test::copy_file(TEST_FILE_HIGH, TEST_FILE_MEDIA);
+ Test::copy_file(TEST_FILE_HIGH, TEST_FILE_MEDIA());
// store detected malware
- ASSERT_SUCCESS(csr_cs_scan_file(context, TEST_FILE_MEDIA, &detected));
+ ASSERT_SUCCESS(csr_cs_scan_file(context, TEST_FILE_MEDIA(), &detected));
CHECK_IS_NOT_NULL(detected);
- ASSERT_SUCCESS(csr_cs_get_detected_malware(context, TEST_FILE_MEDIA, &stored));
+ ASSERT_SUCCESS(csr_cs_get_detected_malware(context, TEST_FILE_MEDIA(), &stored));
CHECK_IS_NOT_NULL(stored);
- ASSERT_SUCCESS(csr_cs_get_ignored_malware(context, TEST_FILE_MEDIA, &stored));
+ ASSERT_SUCCESS(csr_cs_get_ignored_malware(context, TEST_FILE_MEDIA(), &stored));
CHECK_IS_NULL(stored);
// IGNORE
ASSERT_SUCCESS(csr_cs_judge_detected_malware(context, detected, CSR_CS_ACTION_IGNORE));
- ASSERT_SUCCESS(csr_cs_get_detected_malware(context, TEST_FILE_MEDIA, &stored));
+ ASSERT_SUCCESS(csr_cs_get_detected_malware(context, TEST_FILE_MEDIA(), &stored));
CHECK_IS_NULL(stored);
- ASSERT_SUCCESS(csr_cs_get_ignored_malware(context, TEST_FILE_MEDIA, &stored));
+ ASSERT_SUCCESS(csr_cs_get_ignored_malware(context, TEST_FILE_MEDIA(), &stored));
CHECK_IS_NOT_NULL(stored);
// UNIGNORE
ASSERT_SUCCESS(csr_cs_judge_detected_malware(context, detected, CSR_CS_ACTION_UNIGNORE));
- ASSERT_SUCCESS(csr_cs_get_detected_malware(context, TEST_FILE_MEDIA, &stored));
+ ASSERT_SUCCESS(csr_cs_get_detected_malware(context, TEST_FILE_MEDIA(), &stored));
CHECK_IS_NOT_NULL(stored);
- ASSERT_SUCCESS(csr_cs_get_ignored_malware(context, TEST_FILE_MEDIA, &stored));
+ ASSERT_SUCCESS(csr_cs_get_ignored_malware(context, TEST_FILE_MEDIA(), &stored));
CHECK_IS_NULL(stored);
// REMOVE
ASSERT_SUCCESS(csr_cs_judge_detected_malware(context, detected, CSR_CS_ACTION_REMOVE));
- ASSERT_SUCCESS(csr_cs_get_detected_malware(context, TEST_FILE_MEDIA, &stored));
+ ASSERT_SUCCESS(csr_cs_get_detected_malware(context, TEST_FILE_MEDIA(), &stored));
CHECK_IS_NULL(stored);
- ASSERT_SUCCESS(csr_cs_get_ignored_malware(context, TEST_FILE_MEDIA, &stored));
+ ASSERT_SUCCESS(csr_cs_get_ignored_malware(context, TEST_FILE_MEDIA(), &stored));
CHECK_IS_NULL(stored);
EXCEPTION_GUARD_END
csr_cs_malware_h detected;
// scan and judge after touch
- Test::copy_file(TEST_FILE_HIGH, TEST_FILE_MEDIA);
- ASSERT_SUCCESS(csr_cs_scan_file(context, TEST_FILE_MEDIA, &detected));
+ Test::copy_file(TEST_FILE_HIGH, TEST_FILE_MEDIA());
+ ASSERT_SUCCESS(csr_cs_scan_file(context, TEST_FILE_MEDIA(), &detected));
CHECK_IS_NOT_NULL(detected);
std::this_thread::sleep_for(std::chrono::seconds(1));
- Test::touch_file(TEST_FILE_MEDIA);
+ Test::touch_file(TEST_FILE_MEDIA());
std::this_thread::sleep_for(std::chrono::seconds(1));
CSR_ERROR_FILE_CHANGED);
// rescan and judge again without touch
- ASSERT_SUCCESS(csr_cs_scan_file(context, TEST_FILE_MEDIA, &detected));
+ ASSERT_SUCCESS(csr_cs_scan_file(context, TEST_FILE_MEDIA(), &detected));
CHECK_IS_NOT_NULL(detected);
ASSERT_SUCCESS(csr_cs_judge_detected_malware(context, detected, CSR_CS_ACTION_REMOVE));
csr_cs_malware_h detected, stored;
// remove earlier test results
- Test::copy_file(TEST_FILE_HIGH, TEST_FILE_MEDIA);
- ASSERT_SUCCESS(csr_cs_scan_file(context, TEST_FILE_MEDIA, &detected));
+ Test::copy_file(TEST_FILE_HIGH, TEST_FILE_MEDIA());
+ ASSERT_SUCCESS(csr_cs_scan_file(context, TEST_FILE_MEDIA(), &detected));
csr_cs_judge_detected_malware(context, detected, CSR_CS_ACTION_REMOVE);
- Test::copy_file(TEST_FILE_HIGH, TEST_FILE_MEDIA);
+ Test::copy_file(TEST_FILE_HIGH, TEST_FILE_MEDIA());
// store detected malware
- ASSERT_SUCCESS(csr_cs_scan_file(context, TEST_FILE_MEDIA, &detected));
+ ASSERT_SUCCESS(csr_cs_scan_file(context, TEST_FILE_MEDIA(), &detected));
CHECK_IS_NOT_NULL(detected);
// ignore
ASSERT_SUCCESS(csr_cs_judge_detected_malware(context, detected, CSR_CS_ACTION_IGNORE));
// rescan
- ASSERT_SUCCESS(csr_cs_scan_file(context, TEST_FILE_MEDIA, &detected));
+ ASSERT_SUCCESS(csr_cs_scan_file(context, TEST_FILE_MEDIA(), &detected));
CHECK_IS_NULL(detected);
- ASSERT_SUCCESS(csr_cs_get_detected_malware(context, TEST_FILE_MEDIA, &stored));
+ ASSERT_SUCCESS(csr_cs_get_detected_malware(context, TEST_FILE_MEDIA(), &stored));
CHECK_IS_NULL(stored);
- ASSERT_SUCCESS(csr_cs_get_ignored_malware(context, TEST_FILE_MEDIA, &stored));
+ ASSERT_SUCCESS(csr_cs_get_ignored_malware(context, TEST_FILE_MEDIA(), &stored));
CHECK_IS_NOT_NULL(stored);
// rollback to unignore
csr_cs_malware_h detected, stored;
// remove earlier test results
- Test::copy_file(TEST_FILE_HIGH, TEST_FILE_MEDIA);
- ASSERT_SUCCESS(csr_cs_scan_file(context, TEST_FILE_MEDIA, &detected));
+ Test::copy_file(TEST_FILE_HIGH, TEST_FILE_MEDIA());
+ ASSERT_SUCCESS(csr_cs_scan_file(context, TEST_FILE_MEDIA(), &detected));
csr_cs_judge_detected_malware(context, detected, CSR_CS_ACTION_REMOVE);
- Test::copy_file(TEST_FILE_HIGH, TEST_FILE_MEDIA);
+ Test::copy_file(TEST_FILE_HIGH, TEST_FILE_MEDIA());
// store detected malware
- ASSERT_SUCCESS(csr_cs_scan_file(context, TEST_FILE_MEDIA, &detected));
+ ASSERT_SUCCESS(csr_cs_scan_file(context, TEST_FILE_MEDIA(), &detected));
CHECK_IS_NOT_NULL(detected);
// remove detected malware file
ASSERT_SUCCESS(csr_cs_judge_detected_malware(context, detected, CSR_CS_ACTION_REMOVE));
- ASSERT_SUCCESS(csr_cs_get_detected_malware(context, TEST_FILE_MEDIA, &stored));
+ ASSERT_SUCCESS(csr_cs_get_detected_malware(context, TEST_FILE_MEDIA(), &stored));
CHECK_IS_NULL(stored);
- ASSERT_SUCCESS(csr_cs_get_ignored_malware(context, TEST_FILE_MEDIA, &stored));
+ ASSERT_SUCCESS(csr_cs_get_ignored_malware(context, TEST_FILE_MEDIA(), &stored));
CHECK_IS_NULL(stored);
- ASSERT_IF(Test::is_file_exist(TEST_FILE_MEDIA), false);
+ ASSERT_IF(Test::is_file_exist(TEST_FILE_MEDIA()), false);
// make ignored
- Test::copy_file(TEST_FILE_HIGH, TEST_FILE_MEDIA);
- ASSERT_SUCCESS(csr_cs_scan_file(context, TEST_FILE_MEDIA, &detected));
+ Test::copy_file(TEST_FILE_HIGH, TEST_FILE_MEDIA());
+ ASSERT_SUCCESS(csr_cs_scan_file(context, TEST_FILE_MEDIA(), &detected));
ASSERT_SUCCESS(csr_cs_judge_detected_malware(context, detected, CSR_CS_ACTION_IGNORE));
// remove ignored malware file
ASSERT_SUCCESS(csr_cs_judge_detected_malware(context, detected, CSR_CS_ACTION_REMOVE));
- ASSERT_SUCCESS(csr_cs_get_detected_malware(context, TEST_FILE_MEDIA, &stored));
+ ASSERT_SUCCESS(csr_cs_get_detected_malware(context, TEST_FILE_MEDIA(), &stored));
CHECK_IS_NULL(stored);
- ASSERT_SUCCESS(csr_cs_get_ignored_malware(context, TEST_FILE_MEDIA, &stored));
+ ASSERT_SUCCESS(csr_cs_get_ignored_malware(context, TEST_FILE_MEDIA(), &stored));
CHECK_IS_NULL(stored);
- ASSERT_IF(Test::is_file_exist(TEST_FILE_MEDIA), false);
+ ASSERT_IF(Test::is_file_exist(TEST_FILE_MEDIA()), false);
// remove not existing file
- Test::copy_file(TEST_FILE_HIGH, TEST_FILE_MEDIA);
- ASSERT_SUCCESS(csr_cs_scan_file(context, TEST_FILE_MEDIA, &detected));
+ Test::copy_file(TEST_FILE_HIGH, TEST_FILE_MEDIA());
+ ASSERT_SUCCESS(csr_cs_scan_file(context, TEST_FILE_MEDIA(), &detected));
CHECK_IS_NOT_NULL(detected);
ASSERT_SUCCESS(csr_cs_judge_detected_malware(context, detected, CSR_CS_ACTION_REMOVE));
ASSERT_INSTALL_APP(TEST_WGT_PATH, TEST_WGT_TYPE);
// remove detected malware file
- ASSERT_SUCCESS(csr_cs_scan_file(context, TEST_WGT_MAL_FILE().c_str(), &detected));
+ ASSERT_SUCCESS(csr_cs_scan_file(context, TEST_WGT_MAL_FILE(), &detected));
CHECK_IS_NOT_NULL(detected);
ASSERT_SUCCESS(csr_cs_judge_detected_malware(context, detected, CSR_CS_ACTION_REMOVE));
ASSERT_INSTALL_APP(TEST_TPK_PATH, TEST_TPK_TYPE);
// remove detected malware file
- ASSERT_SUCCESS(csr_cs_scan_file(context, TEST_TPK_MAL_FILE().c_str(), &detected));
+ ASSERT_SUCCESS(csr_cs_scan_file(context, TEST_TPK_MAL_FILE(), &detected));
CHECK_IS_NOT_NULL(detected);
ASSERT_SUCCESS(csr_cs_judge_detected_malware(context, detected, CSR_CS_ACTION_REMOVE));
auto context = c.get();
csr_cs_malware_h malware;
- Test::remove_file(TEST_FILE_TMP);
- Test::copy_file_assert(TEST_FILE_HIGH, TEST_FILE_TMP);
+ Test::remove_file(TEST_FILE_MEDIA());
+ Test::copy_file_assert(TEST_FILE_HIGH, TEST_FILE_MEDIA());
- ASSERT_SUCCESS(csr_cs_scan_file(context, TEST_FILE_TMP, &malware));
+ ASSERT_SUCCESS(csr_cs_scan_file(context, TEST_FILE_MEDIA(), &malware));
CHECK_IS_NOT_NULL(malware);
csr_cs_malware_h malware_stored;
- ASSERT_SUCCESS(csr_cs_get_detected_malware(context, TEST_FILE_TMP, &malware_stored));
+ ASSERT_SUCCESS(csr_cs_get_detected_malware(context, TEST_FILE_MEDIA(), &malware_stored));
CHECK_IS_NOT_NULL(malware_stored);
- Test::remove_file_assert(TEST_FILE_TMP);
+ Test::remove_file_assert(TEST_FILE_MEDIA());
- ASSERT_SUCCESS(csr_cs_get_detected_malware(context, TEST_FILE_TMP, &malware_stored));
+ ASSERT_SUCCESS(csr_cs_get_detected_malware(context, TEST_FILE_MEDIA(), &malware_stored));
CHECK_IS_NULL(malware_stored);
EXCEPTION_GUARD_END
auto context = c.get();
csr_cs_malware_h malware;
- Test::remove_file(TEST_FILE_TMP);
+ Test::remove_file(TEST_FILE_MEDIA());
Test::remove_file(TEST_FILE_TMP_IN_DIR_MALWARES);
- Test::copy_file_assert(TEST_FILE_HIGH, TEST_FILE_TMP);
+ Test::copy_file_assert(TEST_FILE_HIGH, TEST_FILE_MEDIA());
Test::copy_file_assert(TEST_FILE_HIGH, TEST_FILE_TMP_IN_DIR_MALWARES);
- ASSERT_SUCCESS(csr_cs_scan_file(context, TEST_FILE_TMP, &malware));
+ ASSERT_SUCCESS(csr_cs_scan_file(context, TEST_FILE_MEDIA(), &malware));
CHECK_IS_NOT_NULL(malware);
ASSERT_SUCCESS(csr_cs_scan_file(context, TEST_FILE_TMP_IN_DIR_MALWARES, &malware));
CHECK_IS_NOT_NULL(malware);
const char *dirs[2] = {
- TEST_DIR_TMP,
+ TEST_DIR_MEDIA(),
TEST_DIR_MALWARES
};
csr_cs_malware_list_h malware_list;
size_t list_count;
ASSERT_SUCCESS(csr_cs_get_detected_malwares(context, dirs, 2, &malware_list, &list_count));
- ::assertMalwareInList(malware_list, list_count, TEST_FILE_TMP);
+ ::assertMalwareInList(malware_list, list_count, TEST_FILE_MEDIA());
::assertMalwareInList(malware_list, list_count, TEST_FILE_TMP_IN_DIR_MALWARES);
- Test::remove_file_assert(TEST_FILE_TMP);
+ Test::remove_file_assert(TEST_FILE_MEDIA());
Test::remove_file_assert(TEST_FILE_TMP_IN_DIR_MALWARES);
ASSERT_SUCCESS(csr_cs_get_detected_malwares(context, dirs, 2, &malware_list, &list_count));
- ::assertMalwareNotInList(malware_list, list_count, TEST_FILE_TMP);
+ ::assertMalwareNotInList(malware_list, list_count, TEST_FILE_MEDIA());
::assertMalwareNotInList(malware_list, list_count, TEST_FILE_TMP_IN_DIR_MALWARES);
EXCEPTION_GUARD_END
auto context = c.get();
csr_cs_malware_h malware;
- Test::remove_file(TEST_FILE_TMP);
- Test::copy_file_assert(TEST_FILE_HIGH, TEST_FILE_TMP);
+ Test::remove_file(TEST_FILE_MEDIA());
+ Test::copy_file_assert(TEST_FILE_HIGH, TEST_FILE_MEDIA());
- ASSERT_SUCCESS(csr_cs_scan_file(context, TEST_FILE_TMP, &malware));
+ ASSERT_SUCCESS(csr_cs_scan_file(context, TEST_FILE_MEDIA(), &malware));
CHECK_IS_NOT_NULL(malware);
csr_cs_malware_h malware_stored;
- ASSERT_SUCCESS(csr_cs_get_detected_malware(context, TEST_FILE_TMP, &malware_stored));
+ ASSERT_SUCCESS(csr_cs_get_detected_malware(context, TEST_FILE_MEDIA(), &malware_stored));
CHECK_IS_NOT_NULL(malware_stored);
- Test::touch_file_assert(TEST_FILE_TMP);
+ Test::touch_file_assert(TEST_FILE_MEDIA());
malware_stored = nullptr;
- ASSERT_SUCCESS(csr_cs_get_detected_malware(context, TEST_FILE_TMP, &malware_stored));
+ ASSERT_SUCCESS(csr_cs_get_detected_malware(context, TEST_FILE_MEDIA(), &malware_stored));
CHECK_IS_NOT_NULL(malware_stored);
- Test::remove_file(TEST_FILE_TMP);
+ Test::remove_file(TEST_FILE_MEDIA());
EXCEPTION_GUARD_END
}
auto context = c.get();
csr_cs_malware_h malware;
- Test::remove_file(TEST_FILE_TMP);
+ Test::remove_file(TEST_FILE_MEDIA());
Test::remove_file(TEST_FILE_TMP_IN_DIR_MALWARES);
- Test::copy_file_assert(TEST_FILE_HIGH, TEST_FILE_TMP);
+ Test::copy_file_assert(TEST_FILE_HIGH, TEST_FILE_MEDIA());
Test::copy_file_assert(TEST_FILE_HIGH, TEST_FILE_TMP_IN_DIR_MALWARES);
- ASSERT_SUCCESS(csr_cs_scan_file(context, TEST_FILE_TMP, &malware));
+ ASSERT_SUCCESS(csr_cs_scan_file(context, TEST_FILE_MEDIA(), &malware));
CHECK_IS_NOT_NULL(malware);
ASSERT_SUCCESS(csr_cs_scan_file(context, TEST_FILE_TMP_IN_DIR_MALWARES, &malware));
CHECK_IS_NOT_NULL(malware);
const char *dirs[2] = {
- TEST_DIR_TMP,
+ TEST_DIR_MEDIA(),
TEST_DIR_MALWARES
};
size_t list_count;
ASSERT_SUCCESS(csr_cs_get_detected_malwares(context, dirs, 2, &malware_list, &list_count));
- ::assertMalwareInList(malware_list, list_count, TEST_FILE_TMP);
+ ::assertMalwareInList(malware_list, list_count, TEST_FILE_MEDIA());
::assertMalwareInList(malware_list, list_count, TEST_FILE_TMP_IN_DIR_MALWARES);
- Test::touch_file_assert(TEST_FILE_TMP);
+ Test::touch_file_assert(TEST_FILE_MEDIA());
Test::touch_file_assert(TEST_FILE_TMP_IN_DIR_MALWARES);
ASSERT_SUCCESS(csr_cs_get_detected_malwares(context, dirs, 2, &malware_list, &list_count));
- ::assertMalwareInList(malware_list, list_count, TEST_FILE_TMP);
+ ::assertMalwareInList(malware_list, list_count, TEST_FILE_MEDIA());
::assertMalwareInList(malware_list, list_count, TEST_FILE_TMP_IN_DIR_MALWARES);
+ Test::remove_file(TEST_FILE_MEDIA());
Test::remove_file(TEST_FILE_TMP_IN_DIR_MALWARES);
- Test::remove_file(TEST_FILE_TMP);
EXCEPTION_GUARD_END
}
auto context = c.get();
csr_cs_malware_h malware;
- Test::remove_file(TEST_FILE_TMP);
- Test::copy_file_assert(TEST_FILE_HIGH, TEST_FILE_TMP);
+ Test::remove_file(TEST_FILE_MEDIA());
+ Test::copy_file_assert(TEST_FILE_HIGH, TEST_FILE_MEDIA());
- ASSERT_SUCCESS(csr_cs_scan_file(context, TEST_FILE_TMP, &malware));
+ ASSERT_SUCCESS(csr_cs_scan_file(context, TEST_FILE_MEDIA(), &malware));
CHECK_IS_NOT_NULL(malware);
csr_cs_malware_h malware_stored;
- ASSERT_SUCCESS(csr_cs_get_detected_malware(context, TEST_FILE_TMP, &malware_stored));
+ ASSERT_SUCCESS(csr_cs_get_detected_malware(context, TEST_FILE_MEDIA(), &malware_stored));
CHECK_IS_NOT_NULL(malware_stored);
ASSERT_SUCCESS(csr_cs_judge_detected_malware(context, malware_stored, CSR_CS_ACTION_IGNORE));
- Test::remove_file_assert(TEST_FILE_TMP);
+ Test::remove_file_assert(TEST_FILE_MEDIA());
- ASSERT_SUCCESS(csr_cs_get_ignored_malware(context, TEST_FILE_TMP, &malware_stored));
+ ASSERT_SUCCESS(csr_cs_get_ignored_malware(context, TEST_FILE_MEDIA(), &malware_stored));
CHECK_IS_NULL(malware_stored);
EXCEPTION_GUARD_END
auto c = Test::Context<csr_cs_context_h>();
auto context = c.get();
- Test::remove_file(TEST_FILE_TMP);
+ Test::remove_file(TEST_FILE_MEDIA());
Test::remove_file(TEST_FILE_TMP_IN_DIR_MALWARES);
- Test::copy_file_assert(TEST_FILE_HIGH, TEST_FILE_TMP);
+ Test::copy_file_assert(TEST_FILE_HIGH, TEST_FILE_MEDIA());
Test::copy_file_assert(TEST_FILE_HIGH, TEST_FILE_TMP_IN_DIR_MALWARES);
csr_cs_malware_h malware_tmp[2];
- ASSERT_SUCCESS(csr_cs_scan_file(context, TEST_FILE_TMP, &malware_tmp[0]));
+ ASSERT_SUCCESS(csr_cs_scan_file(context, TEST_FILE_MEDIA(), &malware_tmp[0]));
CHECK_IS_NOT_NULL(malware_tmp[0]);
ASSERT_SUCCESS(csr_cs_scan_file(context, TEST_FILE_TMP_IN_DIR_MALWARES, &malware_tmp[1]));
CHECK_IS_NOT_NULL(malware_tmp[1]);
const char *dirs[2] = {
- TEST_DIR_TMP,
+ TEST_DIR_MEDIA(),
TEST_DIR_MALWARES
};
csr_cs_malware_list_h malware_list;
size_t list_count;
ASSERT_SUCCESS(csr_cs_get_detected_malwares(context, dirs, 2, &malware_list, &list_count));
- ::assertMalwareInList(malware_list, list_count, TEST_FILE_TMP);
+ ::assertMalwareInList(malware_list, list_count, TEST_FILE_MEDIA());
::assertMalwareInList(malware_list, list_count, TEST_FILE_TMP_IN_DIR_MALWARES);
ASSERT_SUCCESS(csr_cs_judge_detected_malware(context, malware_tmp[0], CSR_CS_ACTION_IGNORE));
ASSERT_SUCCESS(csr_cs_judge_detected_malware(context, malware_tmp[1], CSR_CS_ACTION_IGNORE));
- Test::remove_file_assert(TEST_FILE_TMP);
+ Test::remove_file_assert(TEST_FILE_MEDIA());
Test::remove_file_assert(TEST_FILE_TMP_IN_DIR_MALWARES);
ASSERT_SUCCESS(csr_cs_get_ignored_malwares(context, dirs, 2, &malware_list, &list_count));
- ::assertMalwareNotInList(malware_list, list_count, TEST_FILE_TMP);
+ ::assertMalwareNotInList(malware_list, list_count, TEST_FILE_MEDIA());
::assertMalwareNotInList(malware_list, list_count, TEST_FILE_TMP_IN_DIR_MALWARES);
EXCEPTION_GUARD_END
auto context = c.get();
csr_cs_malware_h malware;
- Test::remove_file(TEST_FILE_TMP);
- Test::copy_file_assert(TEST_FILE_HIGH, TEST_FILE_TMP);
+ Test::remove_file(TEST_FILE_MEDIA());
+ Test::copy_file_assert(TEST_FILE_HIGH, TEST_FILE_MEDIA());
- ASSERT_SUCCESS(csr_cs_scan_file(context, TEST_FILE_TMP, &malware));
+ ASSERT_SUCCESS(csr_cs_scan_file(context, TEST_FILE_MEDIA(), &malware));
CHECK_IS_NOT_NULL(malware);
csr_cs_malware_h malware_stored;
- ASSERT_SUCCESS(csr_cs_get_detected_malware(context, TEST_FILE_TMP, &malware_stored));
+ ASSERT_SUCCESS(csr_cs_get_detected_malware(context, TEST_FILE_MEDIA(), &malware_stored));
CHECK_IS_NOT_NULL(malware_stored);
ASSERT_SUCCESS(csr_cs_judge_detected_malware(context, malware_stored, CSR_CS_ACTION_IGNORE));
- Test::touch_file_assert(TEST_FILE_TMP);
+ Test::touch_file_assert(TEST_FILE_MEDIA());
malware_stored = nullptr;
- ASSERT_SUCCESS(csr_cs_get_ignored_malware(context, TEST_FILE_TMP, &malware_stored));
+ ASSERT_SUCCESS(csr_cs_get_ignored_malware(context, TEST_FILE_MEDIA(), &malware_stored));
CHECK_IS_NOT_NULL(malware_stored);
ASSERT_SUCCESS(csr_cs_judge_detected_malware(context, malware_stored, CSR_CS_ACTION_UNIGNORE));
- Test::remove_file(TEST_FILE_TMP);
+ Test::remove_file(TEST_FILE_MEDIA());
EXCEPTION_GUARD_END
}
auto c = Test::Context<csr_cs_context_h>();
auto context = c.get();
- Test::remove_file(TEST_FILE_TMP);
+ Test::remove_file(TEST_FILE_MEDIA());
Test::remove_file(TEST_FILE_TMP_IN_DIR_MALWARES);
- Test::copy_file_assert(TEST_FILE_HIGH, TEST_FILE_TMP);
+ Test::copy_file_assert(TEST_FILE_HIGH, TEST_FILE_MEDIA());
Test::copy_file_assert(TEST_FILE_HIGH, TEST_FILE_TMP_IN_DIR_MALWARES);
csr_cs_malware_h malware_tmp[2];
- ASSERT_SUCCESS(csr_cs_scan_file(context, TEST_FILE_TMP, &malware_tmp[0]));
+ ASSERT_SUCCESS(csr_cs_scan_file(context, TEST_FILE_MEDIA(), &malware_tmp[0]));
CHECK_IS_NOT_NULL(malware_tmp[0]);
ASSERT_SUCCESS(csr_cs_scan_file(context, TEST_FILE_TMP_IN_DIR_MALWARES, &malware_tmp[1]));
CHECK_IS_NOT_NULL(malware_tmp[1]);
const char *dirs[2] = {
- TEST_DIR_TMP,
+ TEST_DIR_MEDIA(),
TEST_DIR_MALWARES
};
csr_cs_malware_list_h malware_list;
size_t list_count;
ASSERT_SUCCESS(csr_cs_get_detected_malwares(context, dirs, 2, &malware_list, &list_count));
- ::assertMalwareInList(malware_list, list_count, TEST_FILE_TMP);
+ ::assertMalwareInList(malware_list, list_count, TEST_FILE_MEDIA());
::assertMalwareInList(malware_list, list_count, TEST_FILE_TMP_IN_DIR_MALWARES);
ASSERT_SUCCESS(csr_cs_judge_detected_malware(context, malware_tmp[0], CSR_CS_ACTION_IGNORE));
ASSERT_SUCCESS(csr_cs_judge_detected_malware(context, malware_tmp[1], CSR_CS_ACTION_IGNORE));
- Test::touch_file_assert(TEST_FILE_TMP);
+ Test::touch_file_assert(TEST_FILE_MEDIA());
Test::touch_file_assert(TEST_FILE_TMP_IN_DIR_MALWARES);
ASSERT_SUCCESS(csr_cs_get_ignored_malwares(context, dirs, 2, &malware_list, &list_count));
- ::assertMalwareInList(malware_list, list_count, TEST_FILE_TMP);
+ ::assertMalwareInList(malware_list, list_count, TEST_FILE_MEDIA());
::assertMalwareInList(malware_list, list_count, TEST_FILE_TMP_IN_DIR_MALWARES);
ASSERT_SUCCESS(csr_cs_judge_detected_malware(context, malware_tmp[0], CSR_CS_ACTION_UNIGNORE));
ASSERT_SUCCESS(csr_cs_judge_detected_malware(context, malware_tmp[1], CSR_CS_ACTION_UNIGNORE));
- Test::remove_file(TEST_FILE_TMP);
+ Test::remove_file(TEST_FILE_MEDIA());
Test::remove_file(TEST_FILE_TMP_IN_DIR_MALWARES);
EXCEPTION_GUARD_END
}
}
-void copy_file_assert(const char *src_file, const char *dest_file)
+void copy_file_assert(const char *src_file, const char *dst_file)
{
try {
- std::ifstream srce(src_file, std::ios::binary);
- std::ofstream dest(dest_file, std::ios::binary);
- dest << srce.rdbuf();
+ std::ifstream src;
+ std::ofstream dst;
+
+ src.exceptions(std::ifstream::failbit | std::ifstream::badbit);
+ dst.exceptions(std::ifstream::failbit | std::ifstream::badbit);
+
+ src.open(src_file, std::ios::binary);
+ dst.open(dst_file, std::ios::binary);
+
+ dst << src.rdbuf();
} catch (const std::exception &e) {
BOOST_REQUIRE_MESSAGE(false,
"Failed to copy file from src[" << src_file <<
- "] to dst[" << dest_file << "]: " << e.what());
+ "] to dst[" << dst_file << "]: " << e.what());
}
}
-void copy_file(const char *src_file, const char *dest_file)
+void copy_file(const char *src_file, const char *dst_file)
{
try {
- std::ifstream srce(src_file, std::ios::binary);
- std::ofstream dest(dest_file, std::ios::binary);
- dest << srce.rdbuf();
+ std::ifstream src;
+ std::ofstream dst;
+
+ src.exceptions(std::ifstream::failbit | std::ifstream::badbit);
+ dst.exceptions(std::ifstream::failbit | std::ifstream::badbit);
+
+ src.open(src_file, std::ios::binary);
+ dst.open(dst_file, std::ios::binary);
+
+ dst << src.rdbuf();
} catch (const std::exception &e) {
BOOST_WARN_MESSAGE(false,
"Failed to copy file from src[" << src_file <<
- "] to dst[" << dest_file << "]: " << e.what());
+ "] to dst[" << dst_file << "]: " << e.what());
}
}
void make_dir(const char *dir);
void make_dir_assert(const char *dir);
-void copy_file(const char *src_file, const char *dest_file);
-void copy_file_assert(const char *src_file, const char *dest_file);
+void copy_file(const char *src_file, const char *dst_file);
+void copy_file_assert(const char *src_file, const char *dst_file);
void touch_file(const char *file);
void touch_file_assert(const char *file);
void remove_file(const char *file);
csr_cs_severity_level_e a_severity;
Test::ScopedCstr a_file_name, a_name, a_detailed_url;
- std::vector<csr_cs_malware_h>::iterator iter;
for (auto &d : detectedList) {
- ASSERT_IF(csr_cs_malware_get_file_name(d, &a_file_name.ptr), CSR_ERROR_NONE);
+ ASSERT_SUCCESS(csr_cs_malware_get_file_name(d, &a_file_name.ptr));
if (file_name != a_file_name.ptr)
continue;
namespace {
-std::string s_wgtAppRootCache;
-std::string s_wgtMalFileCache;
-std::string s_tpkAppRootCache;
-std::string s_tpkMalFileCache;
+std::string s_testDirMedia;
+std::string s_testDirApps;
+
+std::string s_testFileMedia;
+std::string s_testFileInDirMalwares;
+
+std::string s_wgtAppRoot;
+std::string s_wgtMalFile;
+std::string s_tpkAppRoot;
+std::string s_tpkMalFile;
+std::string s_fakeAppRoot;
+std::string s_fakeAppFile;
#ifdef PLATFORM_VERSION_3
std::string getUsername(void)
} // namespace anonymous
-const std::string &TEST_WGT_APP_ROOT(void)
+const char *TEST_DIR_MEDIA(void)
{
- if (s_wgtAppRootCache.empty())
+ if (s_testDirMedia.empty())
#ifdef PLATFORM_VERSION_3
- s_wgtAppRootCache = "/home/" + ::getUsername() + "/apps_rw/" TEST_WGT_PKG_ID;
+ s_testDirMedia = "/home/" + ::getUsername() + "/content";
#else
- s_wgtAppRootCache = TEST_DIR_APPS "/" TEST_WGT_PKG_ID;
+ s_testDirMedia = "/opt/usr/media";
#endif
- return s_wgtAppRootCache;
+ return s_testDirMedia.c_str();
}
-const std::string &TEST_WGT_MAL_FILE(void)
+const char *TEST_DIR_APPS(void)
{
- if (s_wgtMalFileCache.empty())
- s_wgtMalFileCache = TEST_WGT_APP_ROOT() + "/res/wgt/data/malicious.txt";
+ if (s_testDirApps.empty())
+#ifdef PLATFORM_VERSION_3
+ s_testDirApps = "/home/" + ::getUsername() + "/apps_rw";
+#else
+ s_testDirApps = "/opt/usr/apps";
+#endif
- return s_wgtMalFileCache;
+ return s_testDirApps.c_str();
}
-const std::string &TEST_TPK_APP_ROOT(void)
+const char *TEST_FILE_MEDIA(void)
{
- if (s_tpkAppRootCache.empty())
-#ifdef PLATFORM_VERSION_3
- s_tpkAppRootCache = "/home/" + ::getUsername() + "/apps_rw/" TEST_TPK_PKG_ID;
-#else
- s_tpkAppRootCache = TEST_DIR_APPS "/" TEST_TPK_PKG_ID;
-#endif
+ if (s_testFileMedia.empty())
+ s_testFileMedia = std::string(TEST_DIR_MEDIA()) + "/test_malware_file";
+
+ return s_testFileMedia.c_str();
+}
+
+const char *TEST_WGT_APP_ROOT(void)
+{
+ if (s_wgtAppRoot.empty())
+ s_wgtAppRoot = std::string(TEST_DIR_APPS()) + "/" TEST_WGT_PKG_ID;
+
+ return s_wgtAppRoot.c_str();
+}
+
+const char *TEST_WGT_MAL_FILE(void)
+{
+ if (s_wgtMalFile.empty())
+ s_wgtMalFile = std::string(TEST_WGT_APP_ROOT()) + "/res/wgt/data/eicar.txt";
+
+ return s_wgtMalFile.c_str();
+}
+
+const char *TEST_TPK_APP_ROOT(void)
+{
+ if (s_tpkAppRoot.empty())
+ s_tpkAppRoot = std::string(TEST_DIR_APPS()) + "/" TEST_TPK_PKG_ID;
+
+ return s_tpkAppRoot.c_str();
+}
+
+const char *TEST_TPK_MAL_FILE(void)
+{
+ if (s_tpkMalFile.empty())
+ s_tpkMalFile = std::string(TEST_TPK_APP_ROOT()) + "/shared/res/eicar.txt";
+
+ return s_tpkMalFile.c_str();
+}
+
+const char *TEST_FAKE_APP_ROOT(void)
+{
+ if (s_fakeAppRoot.empty())
+ s_fakeAppRoot = std::string(TEST_DIR_APPS()) + "/fake_app";
- return s_tpkAppRootCache;
+ return s_fakeAppRoot.c_str();
}
-const std::string &TEST_TPK_MAL_FILE(void)
+const char *TEST_FAKE_APP_FILE(void)
{
- if (s_tpkMalFileCache.empty())
- s_tpkMalFileCache = TEST_TPK_APP_ROOT() + "/shared/res/malicious.txt";
+ if (s_fakeAppFile.empty())
+ s_fakeAppFile = std::string(TEST_FAKE_APP_ROOT()) + "/malicious.txt";
- return s_tpkMalFileCache;
+ return s_fakeAppFile.c_str();
}
#define TEST_DIR_MALWARES TEST_DIR "/test_dir"
#define TEST_DIR_ROOT "/"
-#define TEST_DIR_MEDIA "/opt/usr/media"
#define TEST_DIR_TMP "/tmp"
-#define TEST_DIR_APPS "/opt/usr/apps"
+const char *TEST_DIR_MEDIA();
+const char *TEST_DIR_APPS();
-#define TEST_FILE_MEDIA TEST_DIR_MEDIA "/test_malware_file"
+const char *TEST_FILE_MEDIA();
#define TEST_FILE_TMP_IN_DIR_MALWARES TEST_DIR_MALWARES "/tmp_malware_file"
#define TEST_FILE_TMP TEST_DIR_TMP "/test_malware_file"
#define TEST_FILE_NO_EXIST TEST_DIR_TMP "/not_existing_file"
#define TEST_WGT_PKG_ID "hFhcNcbE6K"
#define TEST_WGT_TYPE "wgt"
#define TEST_WGT_PATH TEST_RES_DIR "/" TEST_TARGET "/MaliciousWgt.wgt"
-const std::string &TEST_WGT_APP_ROOT();
-const std::string &TEST_WGT_MAL_FILE();
+const char *TEST_WGT_APP_ROOT();
+const char *TEST_WGT_MAL_FILE();
#define TEST_SAFE_WGT_PKG_ID "q3JfX6RA5q"
#define TEST_SAFE_WGT_TYPE "wgt"
#define TEST_TPK_PKG_ID "org.example.malicioustpk"
#define TEST_TPK_TYPE "tpk"
#define TEST_TPK_PATH TEST_RES_DIR "/" TEST_TARGET "/MaliciousTpk.tpk"
-const std::string &TEST_TPK_APP_ROOT();
-const std::string &TEST_TPK_MAL_FILE();
+const char *TEST_TPK_APP_ROOT();
+const char *TEST_TPK_MAL_FILE();
-#define TEST_FAKE_APP_ROOT TEST_DIR_APPS "/fake_app"
-#define TEST_FAKE_APP_FILE TEST_FAKE_APP_ROOT "/malicious.txt"
+const char *TEST_FAKE_APP_ROOT();
+const char *TEST_FAKE_APP_FILE();
#define MALWARE_HIGH_NAME "test_malware"
#define MALWARE_HIGH_SEVERITY CSR_CS_SEVERITY_HIGH