< prev index next >

test/native/logging/test_logConfiguration.cpp

Print this page
rev 12117 : 8146009:

*** 23,32 **** --- 23,33 ---- */ #include "precompiled.hpp" #include "logTestFixture.hpp" #include "logTestUtils.inline.hpp" #include "logging/logConfiguration.hpp" + #include "logging/logFileStreamOutput.hpp" #include "logging/logLevel.hpp" #include "logging/logOutput.hpp" #include "logging/logTag.hpp" #include "logging/logTagSet.hpp" #include "memory/resourceArea.hpp"
*** 66,77 **** stringStream ss; LogConfiguration::describe(&ss); const char* description = ss.as_string(); // Verify that stdout and stderr are listed by default ! EXPECT_PRED2(string_contains_substring, description, LogOutput::Stdout->name()); ! EXPECT_PRED2(string_contains_substring, description, LogOutput::Stderr->name()); // Verify that each tag, level and decorator is listed for (size_t i = 0; i < LogTag::Count; i++) { EXPECT_PRED2(string_contains_substring, description, LogTag::name(static_cast<LogTagType>(i))); } --- 67,78 ---- stringStream ss; LogConfiguration::describe(&ss); const char* description = ss.as_string(); // Verify that stdout and stderr are listed by default ! EXPECT_PRED2(string_contains_substring, description, StdoutLog.name()); ! EXPECT_PRED2(string_contains_substring, description, StderrLog.name()); // Verify that each tag, level and decorator is listed for (size_t i = 0; i < LogTag::Count; i++) { EXPECT_PRED2(string_contains_substring, description, LogTag::name(static_cast<LogTagType>(i))); }
*** 124,134 **** // Verify configuration using LogConfiguration::describe EXPECT_TRUE(is_described("#0: stdout")); EXPECT_TRUE(is_described("logging=info")); // Verify by iterating over tagsets ! LogOutput* o = LogOutput::Stdout; for (LogTagSet* ts = LogTagSet::first(); ts != NULL; ts = ts->next()) { EXPECT_TRUE(ts->has_output(o)); EXPECT_TRUE(ts->is_level(LogLevel::Info)); EXPECT_FALSE(ts->is_level(LogLevel::Debug)); } --- 125,135 ---- // Verify configuration using LogConfiguration::describe EXPECT_TRUE(is_described("#0: stdout")); EXPECT_TRUE(is_described("logging=info")); // Verify by iterating over tagsets ! LogOutput* o = &StdoutLog; for (LogTagSet* ts = LogTagSet::first(); ts != NULL; ts = ts->next()) { EXPECT_TRUE(ts->has_output(o)); EXPECT_TRUE(ts->is_level(LogLevel::Info)); EXPECT_FALSE(ts->is_level(LogLevel::Debug)); }
*** 176,187 **** EXPECT_FALSE(is_described(other_file_name)); delete_file(other_file_name); // Verify that no tagset has logging enabled for (LogTagSet* ts = LogTagSet::first(); ts != NULL; ts = ts->next()) { ! EXPECT_FALSE(ts->has_output(LogOutput::Stdout)); ! EXPECT_FALSE(ts->has_output(LogOutput::Stderr)); EXPECT_FALSE(ts->is_level(LogLevel::Error)); } } // Test disabling a particular output --- 177,188 ---- EXPECT_FALSE(is_described(other_file_name)); delete_file(other_file_name); // Verify that no tagset has logging enabled for (LogTagSet* ts = LogTagSet::first(); ts != NULL; ts = ts->next()) { ! EXPECT_FALSE(ts->has_output(&StdoutLog)); ! EXPECT_FALSE(ts->has_output(&StderrLog)); EXPECT_FALSE(ts->is_level(LogLevel::Error)); } } // Test disabling a particular output
*** 191,201 **** // Verify configuration using LogConfiguration::describe EXPECT_TRUE(is_described("#0: stdout all=off")); // Verify by iterating over tagsets ! LogOutput* o = LogOutput::Stdout; for (LogTagSet* ts = LogTagSet::first(); ts != NULL; ts = ts->next()) { EXPECT_FALSE(ts->has_output(o)); EXPECT_FALSE(ts->is_level(LogLevel::Error)); } --- 192,202 ---- // Verify configuration using LogConfiguration::describe EXPECT_TRUE(is_described("#0: stdout all=off")); // Verify by iterating over tagsets ! LogOutput* o = &StdoutLog; for (LogTagSet* ts = LogTagSet::first(); ts != NULL; ts = ts->next()) { EXPECT_FALSE(ts->has_output(o)); EXPECT_FALSE(ts->is_level(LogLevel::Error)); }
*** 245,255 **** for (size_t i = 0; i < ARRAY_SIZE(empty_variations); i++) { const char* cmdline = empty_variations[i]; bool ret = LogConfiguration::parse_command_line_arguments(cmdline); EXPECT_TRUE(ret) << "Error parsing command line arguments '" << cmdline << "'"; for (LogTagSet* ts = LogTagSet::first(); ts != NULL; ts = ts->next()) { ! EXPECT_EQ(LogLevel::Unspecified, ts->level_for(LogOutput::Stdout)); } } } // Test basic command line parsing & configuration --- 246,256 ---- for (size_t i = 0; i < ARRAY_SIZE(empty_variations); i++) { const char* cmdline = empty_variations[i]; bool ret = LogConfiguration::parse_command_line_arguments(cmdline); EXPECT_TRUE(ret) << "Error parsing command line arguments '" << cmdline << "'"; for (LogTagSet* ts = LogTagSet::first(); ts != NULL; ts = ts->next()) { ! EXPECT_EQ(LogLevel::Unspecified, ts->level_for(&StdoutLog)); } } } // Test basic command line parsing & configuration
*** 304,353 **** LogConfiguration::configure_stdout(LogLevel::Info, true, LOG_TAGS(logging)); EXPECT_TRUE(log_is_enabled(Info, logging)); EXPECT_FALSE(log_is_enabled(Debug, logging)); EXPECT_FALSE(log_is_enabled(Info, gc)); LogTagSet* logging_ts = &LogTagSetMapping<LOG_TAGS(logging)>::tagset(); ! EXPECT_EQ(LogLevel::Info, logging_ts->level_for(LogOutput::Stdout)); // Enable 'gc=debug' (no wildcard), verifying no other tags are enabled LogConfiguration::configure_stdout(LogLevel::Debug, true, LOG_TAGS(gc)); EXPECT_TRUE(log_is_enabled(Debug, gc)); EXPECT_TRUE(log_is_enabled(Info, logging)); EXPECT_FALSE(log_is_enabled(Debug, gc, heap)); for (LogTagSet* ts = LogTagSet::first(); ts != NULL; ts = ts->next()) { if (ts->contains(PREFIX_LOG_TAG(gc))) { if (ts->ntags() == 1) { ! EXPECT_EQ(LogLevel::Debug, ts->level_for(LogOutput::Stdout)); } else { ! EXPECT_EQ(LogLevel::Off, ts->level_for(LogOutput::Stdout)); } } } // Enable 'gc*=trace' (with wildcard), verifying that all tag combinations with gc are enabled (gc+...) LogConfiguration::configure_stdout(LogLevel::Trace, false, LOG_TAGS(gc)); EXPECT_TRUE(log_is_enabled(Trace, gc)); EXPECT_TRUE(log_is_enabled(Trace, gc, heap)); for (LogTagSet* ts = LogTagSet::first(); ts != NULL; ts = ts->next()) { if (ts->contains(PREFIX_LOG_TAG(gc))) { ! EXPECT_EQ(LogLevel::Trace, ts->level_for(LogOutput::Stdout)); } else if (ts == logging_ts) { // Previous setting for 'logging' should remain ! EXPECT_EQ(LogLevel::Info, ts->level_for(LogOutput::Stdout)); } else { ! EXPECT_EQ(LogLevel::Off, ts->level_for(LogOutput::Stdout)); } } // Disable 'gc*' and 'logging', verifying all logging is properly disabled LogConfiguration::configure_stdout(LogLevel::Off, true, LOG_TAGS(logging)); EXPECT_FALSE(log_is_enabled(Error, logging)); LogConfiguration::configure_stdout(LogLevel::Off, false, LOG_TAGS(gc)); EXPECT_FALSE(log_is_enabled(Error, gc)); EXPECT_FALSE(log_is_enabled(Error, gc, heap)); for (LogTagSet* ts = LogTagSet::first(); ts != NULL; ts = ts->next()) { ! EXPECT_EQ(LogLevel::Off, ts->level_for(LogOutput::Stdout)); } } static int Test_logconfiguration_subscribe_triggered = 0; static void Test_logconfiguration_subscribe_helper() { --- 305,354 ---- LogConfiguration::configure_stdout(LogLevel::Info, true, LOG_TAGS(logging)); EXPECT_TRUE(log_is_enabled(Info, logging)); EXPECT_FALSE(log_is_enabled(Debug, logging)); EXPECT_FALSE(log_is_enabled(Info, gc)); LogTagSet* logging_ts = &LogTagSetMapping<LOG_TAGS(logging)>::tagset(); ! EXPECT_EQ(LogLevel::Info, logging_ts->level_for(&StdoutLog)); // Enable 'gc=debug' (no wildcard), verifying no other tags are enabled LogConfiguration::configure_stdout(LogLevel::Debug, true, LOG_TAGS(gc)); EXPECT_TRUE(log_is_enabled(Debug, gc)); EXPECT_TRUE(log_is_enabled(Info, logging)); EXPECT_FALSE(log_is_enabled(Debug, gc, heap)); for (LogTagSet* ts = LogTagSet::first(); ts != NULL; ts = ts->next()) { if (ts->contains(PREFIX_LOG_TAG(gc))) { if (ts->ntags() == 1) { ! EXPECT_EQ(LogLevel::Debug, ts->level_for(&StdoutLog)); } else { ! EXPECT_EQ(LogLevel::Off, ts->level_for(&StdoutLog)); } } } // Enable 'gc*=trace' (with wildcard), verifying that all tag combinations with gc are enabled (gc+...) LogConfiguration::configure_stdout(LogLevel::Trace, false, LOG_TAGS(gc)); EXPECT_TRUE(log_is_enabled(Trace, gc)); EXPECT_TRUE(log_is_enabled(Trace, gc, heap)); for (LogTagSet* ts = LogTagSet::first(); ts != NULL; ts = ts->next()) { if (ts->contains(PREFIX_LOG_TAG(gc))) { ! EXPECT_EQ(LogLevel::Trace, ts->level_for(&StdoutLog)); } else if (ts == logging_ts) { // Previous setting for 'logging' should remain ! EXPECT_EQ(LogLevel::Info, ts->level_for(&StdoutLog)); } else { ! EXPECT_EQ(LogLevel::Off, ts->level_for(&StdoutLog)); } } // Disable 'gc*' and 'logging', verifying all logging is properly disabled LogConfiguration::configure_stdout(LogLevel::Off, true, LOG_TAGS(logging)); EXPECT_FALSE(log_is_enabled(Error, logging)); LogConfiguration::configure_stdout(LogLevel::Off, false, LOG_TAGS(gc)); EXPECT_FALSE(log_is_enabled(Error, gc)); EXPECT_FALSE(log_is_enabled(Error, gc, heap)); for (LogTagSet* ts = LogTagSet::first(); ts != NULL; ts = ts->next()) { ! EXPECT_EQ(LogLevel::Off, ts->level_for(&StdoutLog)); } } static int Test_logconfiguration_subscribe_triggered = 0; static void Test_logconfiguration_subscribe_helper() {
< prev index next >