fixed merge conflict

This commit is contained in:
Kjell Hedsröm 2016-02-17 00:06:45 -07:00
commit b7704b1ed7
5 changed files with 183 additions and 167 deletions

View File

@ -24,7 +24,7 @@ namespace g3 {
// check for filename validity - filename should not be part of PATH
bool isValidFilename(const std::string &prefix_filename) {
std::string illegal_characters("/,|<>:#$%{}()[]\'\"^!?+* ");
std::string illegal_characters("/,|<>:#$%{}[]\'\"^!?+* ");
size_t pos = prefix_filename.find_first_of(illegal_characters, 0);
if (pos != std::string::npos) {
std::cerr << "Illegal character [" << prefix_filename.at(pos) << "] in logname prefix: " << "[" << prefix_filename << "]" << std::endl;

View File

@ -12,7 +12,7 @@
* PUBLIC DOMAIN and Not copywrited since it was built on public-domain software and influenced
* at least in "spirit" from the following sources
* 1. kjellkod.cc ;)
* 2. Dr.Dobbs, Petru Marginean: http://drdobbs.com/article/printableArticle.jhtml?articleId=201804215&dept_url=/cpp/
* 2. Dr.Dobbs, Petru Marginean: http://drdobbs.com/article/printableArticle.jhtml?articleId=201804215&dept_url=/caddpp/
* 3. Dr.Dobbs, Michael Schulze: http://drdobbs.com/article/printableArticle.jhtml?articleId=225700666&dept_url=/cpp/
* 4. Google 'glog': http://google-glog.googlecode.com/svn/trunk/doc/glog.html
* 5. Various Q&A at StackOverflow

View File

@ -84,7 +84,7 @@ namespace g3 {
std::cout << "The filename is: " << log_file_name.get() << std::endl;
// something like: /tmp/my_test_log.g3log.20150819-100300.log
*/
std::unique_ptr<FileSinkHandle> addDefaultLogger(const std::string& log_prefix, const std::string& log_directory);
std::unique_ptr<FileSinkHandle> addDefaultLogger(const std::string& log_prefix, const std::string& log_directory, const std::string& default_id = "g3log");

View File

@ -120,8 +120,8 @@ namespace g3 {
return std::unique_ptr<LogWorker>(new LogWorker);
}
std::unique_ptr<FileSinkHandle>LogWorker::addDefaultLogger(const std::string& log_prefix, const std::string& log_directory) {
return addSink(std2::make_unique<g3::FileSink>(log_prefix, log_directory), &FileSink::fileWrite);
std::unique_ptr<FileSinkHandle>LogWorker::addDefaultLogger(const std::string& log_prefix, const std::string& log_directory, const std::string& default_id) {
return addSink(std2::make_unique<g3::FileSink>(log_prefix, log_directory, default_id), &FileSink::fileWrite);
}

View File

@ -25,7 +25,8 @@ using namespace testing_helpers;
namespace { // anonymous
const char* name_path_1 = "./some_fake_DirectoryOrName_1_";
const char* name_path_1 = "./(some_fake_DirectoryOrName_1_)";
const std::string kReplaceFileName = "(ReplaceLogFile)";
g3::LogWorker* g_logger_ptr = nullptr;
g3::SinkHandle<g3::FileSink>* g_filesink_handler = nullptr;
LogFileCleaner* g_cleaner_ptr = nullptr;
@ -39,7 +40,11 @@ namespace { // anonymous
add_count = std::to_string(++count) + "_";
auto future_new_log = g_filesink_handler->call(&g3::FileSink::changeLogFile, new_file_to_create + add_count, logger_id);
auto new_log = future_new_log.get();
if (!new_log.empty()) g_cleaner_ptr->addLogToClean(new_log);
if (!new_log.empty()) {
g_cleaner_ptr->addLogToClean(new_log);
} else {
std::cout << "\nFailed to set filename: " << new_file_to_create << std::endl;
}
return new_log;
}
return add_count;
@ -72,22 +77,26 @@ TEST(TestOf_ChangingLogFile, Expecting_NewLogFileUsed) {
ASSERT_NE(old_log, new_log);
}
TEST(TestOf_ChangingLogFile_Id, Expecting_NewLogFileUsed) {
TEST(TestOf_ChangingLogFile_Id, Expecting_NewLogFileUsed1) {
auto old_log = getLogName();
std::string name = setLogNameAndAddCount(name_path_1);
auto new_log = setLogName("foo", "new_logger_id");
ASSERT_NE(old_log, new_log);
std::string new_name = getLogName();
ASSERT_STREQ(new_name.substr(0,31).c_str(),"fooReplaceLogFile.new_logger_id");
auto expected_part_of__new_name = std::string("foo") + kReplaceFileName + ".new_logger_id";
auto extracted_name = new_name.substr(0, expected_part_of__new_name.size());
ASSERT_EQ(extracted_name.c_str(), expected_part_of__new_name);
}
TEST(TestOf_ChangingLogFile_NoId, Expecting_NewLogFileUsed) {
TEST(TestOf_ChangingLogFile_NoId, Expecting_NewLogFileUsed2) {
auto old_log = getLogName();
std::string name = setLogNameAndAddCount(name_path_1);
auto new_log = setLogName("foo", "");
ASSERT_NE(old_log, new_log);
std::string new_name = getLogName();
ASSERT_STREQ(new_name.substr(0,17).c_str(),"fooReplaceLogFile");
auto expected_part_of__new_name = std::string("foo") + kReplaceFileName;
auto extracted_name = new_name.substr(0, expected_part_of__new_name.size());
ASSERT_EQ(extracted_name.c_str(), expected_part_of__new_name);
}
TEST(TestOf_ManyThreadsChangingLogFileName, Expecting_EqualNumberLogsCreated) {
@ -118,14 +127,21 @@ TEST(TestOf_IllegalLogFileName, Expecting_NoChangeToOriginalFileName) {
ASSERT_STREQ(original.c_str(), post_illegal.c_str());
}
TEST(TestOf_SinkHandleDifferentId, Expecting_DifferentId)
{
TEST(TestOf_SinkHandleDifferentId, Expecting_DifferentId) {
auto sink = std2::make_unique<g3::FileSink>("AnotherLogFile", name_path_1, "logger_id");
auto name = sink->fileName();
ASSERT_STREQ( name.substr(0, 26).c_str(), "./AnotherLogFile.logger_id");
g_cleaner_ptr->addLogToClean(name);
}
TEST(TestOf_LegalLogFileNam, With_parenthesis) {
std::string original = getLogName();
auto perhaps_a_name = setLogName("(test)"); // does not exist
std::string post_legal = getLogName();
EXPECT_TRUE(std::string::npos != post_legal.find("(test)")) << "filename was: " << post_legal;
}
int main(int argc, char* argv[]) {
LogFileCleaner cleaner;
g_cleaner_ptr = &cleaner;
@ -138,11 +154,11 @@ int main(int argc, char *argv[]) {
testing_helpers::ScopedOut scopedCerr(std::cerr, &cerrDump);
auto worker = g3::LogWorker::createLogWorker();
auto handle= worker->addDefaultLogger("ReplaceLogFile", name_path_1);
auto handle = worker->addDefaultLogger(kReplaceFileName, name_path_1, "kjell");
g_logger_ptr = worker.get();
g_filesink_handler = handle.get();
last_log_file = g_filesink_handler->call(&g3::FileSink::fileName).get();
cleaner.addLogToClean(last_log_file);
//cleaner.addLogToClean(last_log_file);
g3::initializeLogging(g_logger_ptr);
@ -153,10 +169,10 @@ int main(int argc, char *argv[]) {
last_log_file = g_filesink_handler->call(&g3::FileSink::fileName).get();
std::cout << "log file at: " << last_log_file << std::endl;
//g3::shutDownLogging();
//g3::internal::shutDownLogging();
}
std::cout << "FINISHED WITH THE TESTING" << std::endl;
// cleaning up
cleaner.addLogToClean(last_log_file);
//cleaner.addLogToClean(last_log_file);
return return_value;
}