ASSERT_IF(d.ts, r.ts);
}
-const char *appendIdxToStr(const char *str, int idx)
+std::string appendIdxToStr(const char *str, int idx)
{
- return std::string(str + std::to_string(idx)).c_str();
+ return std::string(str + std::to_string(idx));
}
using TimePoint = std::chrono::high_resolution_clock::time_point;
auto start = timeCheckStart();
db.transactionBegin();
for(int i = 0; i < testSize; i++) {
+ std::string targetName = appendIdxToStr("/opt/transmalware", i);
+ std::string malwareName = appendIdxToStr("transmalware", i);
+ std::string detailedUrl = appendIdxToStr("http://detailed.transmalware", i);
+
CsDetected d;
- d.targetName = appendIdxToStr("/opt/transmalware", i);
+ d.targetName = targetName.c_str();
d.severity = CSR_CS_SEVERITY_LOW;
- d.malwareName = appendIdxToStr("transmalware", i);
- d.detailedUrl = appendIdxToStr("http://detailed.transmalware", i);
+ d.malwareName = malwareName.c_str();
+ d.detailedUrl = detailedUrl.c_str();
d.ts = 100;
db.insertDetectedFile(d, dataVersion);
BOOST_MESSAGE("Start to time check about insert DB");
auto start2 = timeCheckStart();
for(int i = 0; i < testSize; i++) {
+ std::string targetName = appendIdxToStr("/opt/transmalware", i);
+ std::string malwareName = appendIdxToStr("transmalware", i);
+ std::string detailedUrl = appendIdxToStr("http://detailed.transmalware", i);
+
CsDetected d;
- d.targetName = appendIdxToStr("/opt/testmalware", i);
+ d.targetName = targetName.c_str();
d.severity = CSR_CS_SEVERITY_LOW;
- d.malwareName = appendIdxToStr("testmalware", i);
- d.detailedUrl = appendIdxToStr("http://detailed.malware", i);
+ d.malwareName = malwareName.c_str();
+ d.detailedUrl = detailedUrl.c_str();
d.ts = 100;
db.insertDetectedFile(d, dataVersion);
#include <string>
#include <iostream>
+#include <thread>
+#include <mutex>
#include <climits>
#include <ctime>
#include <cstdio>
}
*/
+std::mutex __mutex;
+
void __createFile(const std::string &path)
{
+ std::lock_guard<std::mutex> lock(__mutex);
if (::access(path.c_str(), R_OK | W_OK) == 0)
return; // already exist
int fd = creat(path.c_str(), S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH);
BOOST_REQUIRE_MESSAGE(fd > 0, "Failed to create file: " << path);
- close(fd);
+
+ if (fd > 0)
+ ::close(fd);
}
void __removeFile(const std::string &path)
{
- remove(path.c_str());
+ if (::remove(path.c_str()) != 0)
+ BOOST_MESSAGE("Failed to remove file: " << path);
}
void __writeFile(const std::string &path)
std::vector<char> buf(bufsize, 0);
- ::getpwuid_r(::getuid(), &pwd, buf.data(), buf.size(), &result);
- if (result == nullptr)
+ int ret = ::getpwuid_r(::getuid(), &pwd, buf.data(), buf.size(), &result);
+ if (ret != 0 || result == nullptr)
throw std::logic_error("Failed to getpwuid_r with errno: " + errno);
return std::string(pwd.pw_name);