mirror of
https://github.com/vgough/encfs.git
synced 2024-12-01 20:34:04 +01:00
57 lines
2.3 KiB
C
57 lines
2.3 KiB
C
|
|
||
|
#ifndef LOGGERS_TEST_H_
|
||
|
#define LOGGERS_TEST_H_
|
||
|
|
||
|
#include "test.h"
|
||
|
|
||
|
TEST(LoggerTest, RegisterTenThousandLoggers) {
|
||
|
el::Loggers::reconfigureAllLoggers(el::ConfigurationType::ToStandardOutput, "true");
|
||
|
TIMED_SCOPE(timer, "RegisterTenThousandLoggers");
|
||
|
for (unsigned int i = 1; i <= 10000; ++i) {
|
||
|
std::stringstream ss;
|
||
|
ss << "logger" << i;
|
||
|
Loggers::getLogger(ss.str());
|
||
|
if (i % 1000 == 0) {
|
||
|
ss.str("");
|
||
|
ss << "Registered [" << i << "] loggers";
|
||
|
PERFORMANCE_CHECKPOINT_WITH_ID(timer, ss.str().c_str());
|
||
|
}
|
||
|
}
|
||
|
PERFORMANCE_CHECKPOINT_WITH_ID(timer, "10,000 loggers registered");
|
||
|
CLOG(INFO, "logger8478") << "Writing using logger 'logger8478'";
|
||
|
PERFORMANCE_CHECKPOINT_WITH_ID(timer, "Log written using logger8478");
|
||
|
el::Loggers::reconfigureAllLoggers(el::ConfigurationType::ToStandardOutput, "false");
|
||
|
// streams should not be more than 10 (this is worse case, otherwise until this point we dont have
|
||
|
// more than 2 unique loggers registered)
|
||
|
EXPECT_LT(ELPP->registeredLoggers()->logStreamsReference()->size(), 10);
|
||
|
}
|
||
|
|
||
|
TEST(LoggerTest, CheckTenThousandLoggers) {
|
||
|
|
||
|
TIMED_SCOPE(timer, "CheckTenThousandLoggers");
|
||
|
|
||
|
el::base::type::EnumType lIndex = LevelHelper::kMinValid;
|
||
|
el::base::type::fstream_t* logger1Stream = el::Loggers::getLogger("logger1")->typedConfigurations()->fileStream(LevelHelper::castFromInt(lIndex));
|
||
|
// Make sure all loggers for all levels have same file stream pointee
|
||
|
for (unsigned int i = 1; i <= 10000; ++i) {
|
||
|
std::stringstream ss;
|
||
|
ss << "logger" << i;
|
||
|
LevelHelper::forEachLevel(&lIndex, [&]() -> bool {
|
||
|
EXPECT_EQ(logger1Stream, el::Loggers::getLogger(ss.str())->typedConfigurations()->fileStream(LevelHelper::castFromInt(lIndex)));
|
||
|
return false;
|
||
|
});
|
||
|
lIndex = LevelHelper::kMinValid;
|
||
|
LOG_EVERY_N(1000, INFO) << "Checked " << i << " loggers";
|
||
|
}
|
||
|
}
|
||
|
|
||
|
TEST(LoggerTest, ValidId) {
|
||
|
EXPECT_TRUE(Logger::isValidId("a-valid-id"));
|
||
|
EXPECT_FALSE(Logger::isValidId("a valid id"));
|
||
|
EXPECT_FALSE(Logger::isValidId("logger-with-space-at-end "));
|
||
|
EXPECT_TRUE(Logger::isValidId("logger_with_no_space_at_end"));
|
||
|
EXPECT_TRUE(Logger::isValidId("my-great-logger-with-number-1055"));
|
||
|
}
|
||
|
|
||
|
#endif // LOGGERS_TEST_H_
|