Sha256: f46338ded3529e1947756abb459c68775c92d7ca20fbfcdb225a52db33fd103f
Contents?: true
Size: 1.79 KB
Versions: 3
Compression:
Stored size: 1.79 KB
Contents
require 'spec_helper' describe ParallelTests::Spec::RuntimeLogger do before do # pretend we run in parallel or the logger will log nothing ENV['TEST_ENV_NUMBER'] = '' @clean_output = %r{^spec/foo.rb:[-\.e\d]+$}m end after do ENV.delete 'TEST_ENV_NUMBER' end def log_for_a_file(options={}) Tempfile.open('xxx') do |temp| temp.close f = File.open(temp.path,'w') logger = if block_given? yield(f) else ParallelTests::Spec::RuntimeLogger.new(f) end example = (mock(:location => "#{Dir.pwd}/spec/foo.rb:123")) logger.example_started example logger.example_passed example if options[:pending] logger.example_pending example logger.dump_pending end if options[:failed] logger.example_failed example logger.dump_failures end logger.start_dump #f.close return File.read(f.path) end end it "logs runtime with relative paths" do log_for_a_file.should =~ @clean_output end it "does not log pending" do log_for_a_file(:pending => true).should =~ @clean_output end it "does not log failures" do log_for_a_file(:failed => true).should =~ @clean_output end it "does not log if we do not run in parallel" do ENV.delete 'TEST_ENV_NUMBER' log_for_a_file.should == "" end it "appends to a given file" do result = log_for_a_file do |f| f.write 'FooBar' ParallelTests::Spec::RuntimeLogger.new(f) end result.should include('FooBar') result.should include('foo.rb') end it "overwrites a given path" do result = log_for_a_file do |f| f.write 'FooBar' ParallelTests::Spec::RuntimeLogger.new(f.path) end result.should_not include('FooBar') result.should include('foo.rb') end end
Version data entries
3 entries across 3 versions & 1 rubygems