aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport
diff options
context:
space:
mode:
authorJeremy Kemper <jeremy@bitsweat.net>2012-12-26 21:02:24 -0700
committerJeremy Kemper <jeremy@bitsweat.net>2012-12-26 21:16:05 -0700
commitb82109495b2e910f05922b05a2df69d42f3635a9 (patch)
treeb9b013c0c9849edc23bbca6df9a70053a05f8038 /activesupport
parent42d9b480121e15a15cddd2015a1e60a0f9e0f953 (diff)
downloadrails-b82109495b2e910f05922b05a2df69d42f3635a9.tar.gz
rails-b82109495b2e910f05922b05a2df69d42f3635a9.tar.bz2
rails-b82109495b2e910f05922b05a2df69d42f3635a9.zip
Make test logs easier to read.
Tagging every message in tests makes the logs really wide. It's great for grepping, but annoying to open in an editor or a narrow terminal. Try out a different approach: spit out a heading before each test.
Diffstat (limited to 'activesupport')
-rw-r--r--activesupport/lib/active_support/testing/tagged_logging.rb21
-rw-r--r--activesupport/test/test_test.rb3
2 files changed, 11 insertions, 13 deletions
diff --git a/activesupport/lib/active_support/testing/tagged_logging.rb b/activesupport/lib/active_support/testing/tagged_logging.rb
index 8ea2605733..9d43eb179f 100644
--- a/activesupport/lib/active_support/testing/tagged_logging.rb
+++ b/activesupport/lib/active_support/testing/tagged_logging.rb
@@ -1,26 +1,25 @@
module ActiveSupport
module Testing
- module TaggedLogging
+ # Logs a "PostsControllerTest: test name" heading before each test to
+ # make test.log easier to search and follow along with.
+ module TaggedLogging #:nodoc:
attr_writer :tagged_logger
def before_setup
- tagged_logger.push_tags(self.class.name, __name__) if tagged_logging?
- super
- end
-
- def after_teardown
+ if tagged_logger
+ heading = "#{self.class}: #{__name__}"
+ divider = '-' * heading.size
+ tagged_logger.info divider
+ tagged_logger.info heading
+ tagged_logger.info divider
+ end
super
- tagged_logger.pop_tags(2) if tagged_logging?
end
private
def tagged_logger
@tagged_logger ||= (defined?(Rails.logger) && Rails.logger)
end
-
- def tagged_logging?
- tagged_logger && tagged_logger.respond_to?(:push_tags)
- end
end
end
end
diff --git a/activesupport/test/test_test.rb b/activesupport/test/test_test.rb
index d6821135ea..7f732a1d20 100644
--- a/activesupport/test/test_test.rb
+++ b/activesupport/test/test_test.rb
@@ -182,7 +182,6 @@ class TestCaseTaggedLoggingTest < ActiveSupport::TestCase
end
def test_logs_tagged_with_current_test_case
- tagged_logger.info 'test'
- assert_equal "[#{self.class.name}] [#{__name__}] test\n", @out.string
+ assert_match "#{self.class}: #{__name__}\n", @out.string
end
end