Ruby on Rails | Screencasts | Download | Documentation | Weblog | Community | Source

root/tools/gauge/test/log_reader_test.rb

Revision 2462, 0.9 kB (checked in by minam, 3 years ago)

gauge: make the log reader really work

Line 
1 require "#{File.dirname(__FILE__)}/test_setup"
2 require 'gauge/log_reader'
3 require 'stringio'
4
5 class LogReaderTest < Test::Unit::TestCase
6   FIXTURES = "#{File.dirname(__FILE__)}/fixtures"
7
8   def test_when_log_file_absent
9     reader = nil
10     assert_nothing_raised do
11       reader = Gauge::LogReader.new(:bogus, "#{FIXTURES}/logger/pristine",
12         :number => 0)
13     end
14     assert_nil reader.next_record
15   end
16
17   def test_read_record
18     now = Time.now
19     data = record(now)
20     io = StringIO.new(data)
21     reader = Gauge::LogReader.new(:test, io)
22     record = reader.next_record
23     assert_not_nil record
24     assert_equal now.to_f, record.time
25     assert_equal $$, record.pid
26     assert_equal :test, record.name
27     assert_equal "demo", record.data
28     assert_nil reader.next_record
29   end
30
31   private
32
33     def record(now = Time.now)
34       [21, now.to_f, $$, 4, "test", "demo"].pack("NGNCa*a*")
35     end
36 end
Note: See TracBrowser for help on using the browser.