Sha256: 59ee45b8cf1961a6a2b687c5e42702d10e5b25163000b8f579e8513f98cbdfc0
Contents?: true
Size: 1.7 KB
Versions: 19
Compression:
Stored size: 1.7 KB
Contents
# Equivalent to a header guard in C/C++ # Used to prevent the class/module from being loaded more than once unless defined? LOGGING_TEST_SETUP LOGGING_TEST_SETUP = true require 'rubygems' require 'test/unit' require 'fileutils' begin require 'turn' rescue LoadError; end # This line is needed for Ruby 1.9 -- hashes throw a "KeyError" in 1.9 # whereas they throw an "IndexError" in 1.8 # KeyError = IndexError if not defined? KeyError require File.join(File.dirname(__FILE__), %w[.. lib logging]) module TestLogging module LoggingTestCase TMP = 'tmp' def setup super FileUtils.rm_rf TMP FileUtils.mkdir TMP ::Logging.module_eval do ::Logging::LEVELS.clear ::Logging::LNAMES.clear remove_const :MAX_LEVEL_LENGTH if const_defined? :MAX_LEVEL_LENGTH remove_const :OBJ_FORMAT if const_defined? :OBJ_FORMAT end ::Logging::Repository.class_eval do if defined?(@singleton__instance__) @singleton__instance__ = nil else @__instance__ = nil class << self nonce = class << Singleton; self; end if defined?(nonce::FirstInstanceCall) define_method(:instance, nonce::FirstInstanceCall) else remove_method(:instance) Singleton.__init__(::Logging::Repository) end end end end end def teardown super ::Logging.backtrace ::Logging.__send__(:remove_instance_variable, :@backtrace) h = ::Logging::Appenders.instance_variable_get(:@appenders) h.each_value {|a| a.close(false) unless a.nil? || a.closed?} h.clear FileUtils.rm_rf TMP end end # module LoggingTestCase end # module TestLogging end # unless defined? # EOF
Version data entries
19 entries across 19 versions & 3 rubygems