mirror of
https://github.com/vgough/encfs.git
synced 2024-12-01 20:34:04 +01:00
5f0806c5cc
git-vendor-name: easylogging git-vendor-dir: vendor/github.com/muflihun/easyloggingpp git-vendor-repository: https://github.com/muflihun/easyloggingpp git-vendor-ref: master
112 lines
3.7 KiB
C++
112 lines
3.7 KiB
C++
|
|
#ifndef WRITE_ALL_TEST_H_
|
|
#define WRITE_ALL_TEST_H_
|
|
|
|
#include "test.h"
|
|
|
|
TEST(WriteAllTest, Entry) {
|
|
reconfigureLoggersForTest();
|
|
}
|
|
|
|
#define TEST_LEVEL(l, name) \
|
|
TEST(WriteAllTest, l) {\
|
|
std::string s;\
|
|
LOG(l) << name << " 1";\
|
|
s = BUILD_STR(getDate() << " " << name << " 1\n");\
|
|
EXPECT_EQ(s, tail(1));\
|
|
LOG_IF(true, l) << name << " 2";\
|
|
s = BUILD_STR(getDate() << " " << name << " 1\n"\
|
|
<< getDate() << " " << name << " 2\n");\
|
|
EXPECT_EQ(s, tail(2));\
|
|
LOG_IF(true, l) << name << " 3";\
|
|
s = BUILD_STR(getDate() << " " << name << " 3\n");\
|
|
EXPECT_EQ(s, tail(1));\
|
|
LOG_IF(false, l) << "SHOULD NOT LOG";\
|
|
s = BUILD_STR(getDate() << " " << name << " 3\n");\
|
|
EXPECT_EQ(s, tail(1));\
|
|
LOG_EVERY_N(1, l) << name << " every n=1";\
|
|
s = BUILD_STR(getDate() << " " << name << " every n=1\n");\
|
|
LOG_AFTER_N(1, l) << name << " after n=1";\
|
|
s = BUILD_STR(getDate() << " " << name << " after n=1\n");\
|
|
LOG_N_TIMES(2, l) << name << " n times=2";\
|
|
s = BUILD_STR(getDate() << " " << name << " n times=2\n");\
|
|
EXPECT_EQ(s, tail(1));\
|
|
}
|
|
|
|
TEST_LEVEL(DEBUG, "Debug")
|
|
TEST_LEVEL(INFO, "Info")
|
|
TEST_LEVEL(ERROR, "Error")
|
|
TEST_LEVEL(WARNING, "Warning")
|
|
TEST_LEVEL(FATAL, "Fatal")
|
|
TEST_LEVEL(TRACE, "Trace")
|
|
|
|
TEST(WriteAllTest, VERBOSE) {
|
|
Configurations cOld(*Loggers::getLogger("default")->configurations());
|
|
Loggers::reconfigureAllLoggers(ConfigurationType::Format, "%datetime{%a %b %d, %H:%m} %level-%vlevel %msg");
|
|
|
|
el::Loggers::addFlag(el::LoggingFlag::AllowVerboseIfModuleNotSpecified); // Accept all verbose levels; we already have vmodules!
|
|
|
|
std::string s;
|
|
for (int i = 1; i <= 6; ++i)
|
|
VLOG_EVERY_N(2, 2) << "every n=" << i;
|
|
|
|
s = BUILD_STR(getDate() << " VERBOSE-2 every n=2\n"
|
|
<< getDate() << " VERBOSE-2 every n=4\n"
|
|
<< getDate() << " VERBOSE-2 every n=6\n");
|
|
EXPECT_EQ(s, tail(3));
|
|
|
|
VLOG_IF(true, 3) << "Test conditional verbose log";
|
|
s = BUILD_STR(getDate() << " VERBOSE-3 Test conditional verbose log\n");
|
|
EXPECT_EQ(s, tail(1));
|
|
|
|
VLOG_IF(false, 3) << "SHOULD NOT LOG";
|
|
// Should not log!
|
|
EXPECT_EQ(s, tail(1));
|
|
|
|
VLOG(3) << "Log normally (verbose)";
|
|
s = BUILD_STR(getDate() << " VERBOSE-3 Log normally (verbose)\n");
|
|
EXPECT_EQ(s, tail(1));
|
|
|
|
// Reset it back to old
|
|
Loggers::reconfigureAllLoggers(cOld);
|
|
}
|
|
|
|
TEST(WriteAllTest, EVERY_N) {
|
|
std::string s;
|
|
const char* levelName = "INFO";
|
|
for (int i = 1; i <= 6; ++i)
|
|
LOG_EVERY_N(2, INFO) << levelName << " every n=" << i;
|
|
|
|
s = BUILD_STR(getDate() << " " << levelName << " every n=2\n"
|
|
<< getDate() << " " << levelName << " every n=4\n"
|
|
<< getDate() << " " << levelName << " every n=6\n");
|
|
EXPECT_EQ(s, tail(3));
|
|
}
|
|
|
|
TEST(WriteAllTest, AFTER_N) {
|
|
std::string s;
|
|
const char* levelName = "INFO";
|
|
for (int i = 1; i <= 6; ++i)
|
|
LOG_AFTER_N(2, INFO) << levelName << " after n=" << i;
|
|
|
|
s = BUILD_STR(getDate() << " " << levelName << " after n=3\n"
|
|
<< getDate() << " " << levelName << " after n=4\n"
|
|
<< getDate() << " " << levelName << " after n=5\n"
|
|
<< getDate() << " " << levelName << " after n=6\n");
|
|
EXPECT_EQ(s, tail(4));
|
|
}
|
|
|
|
TEST(WriteAllTest, N_TIMES) {
|
|
std::string s;
|
|
const char* levelName = "INFO";
|
|
for (int i = 1; i <= 6; ++i)
|
|
LOG_N_TIMES(4, INFO) << levelName << " n times=" << i;
|
|
|
|
s = BUILD_STR(getDate() << " " << levelName << " n times=1\n"
|
|
<< getDate() << " " << levelName << " n times=2\n"
|
|
<< getDate() << " " << levelName << " n times=3\n"
|
|
<< getDate() << " " << levelName << " n times=4\n");
|
|
EXPECT_EQ(s, tail(4));
|
|
}
|
|
#endif // WRITE_ALL_TEST_H_
|