fluent-plugin-tail-ex 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -13,7 +13,7 @@ Gem::Specification.new do |gem|
13
13
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
14
14
  gem.name = "fluent-plugin-tail-ex"
15
15
  gem.require_paths = ["lib"]
16
- gem.version = "0.1.0"
16
+ gem.version = "0.1.1"
17
17
 
18
18
  requires = ['fluentd', 'fluent-mixin-config-placeholders']
19
19
  requires.each {|name| gem.add_runtime_dependency name}
@@ -13,6 +13,7 @@ module Fluent
13
13
 
14
14
  def initialize
15
15
  super
16
+ @ready = false
16
17
  end
17
18
 
18
19
  def configure(conf)
@@ -84,9 +85,13 @@ module Fluent
84
85
  end
85
86
 
86
87
  def start
87
- @loop = Coolio::Loop.new
88
+ paths, @paths = @paths, []
89
+ super
90
+ @thread.join
91
+ @paths = paths
88
92
  refresh_watchers
89
93
  @refresh_trigger.attach(@loop)
94
+ @ready = true
90
95
  @thread = Thread.new(&method(:run))
91
96
  end
92
97
 
@@ -98,6 +103,13 @@ module Fluent
98
103
  @pf_file.close if @pf_file
99
104
  end
100
105
 
106
+ def run
107
+ # don't run unless ready to avoid coolio error
108
+ if @ready
109
+ super
110
+ end
111
+ end
112
+
101
113
  class TailExWatcher < TailWatcher
102
114
  def initialize(path, rotate_wait, pe, &receive_lines)
103
115
  @parent_receive_lines = receive_lines
@@ -9,7 +9,7 @@ class TailExInputTest < Test::Unit::TestCase
9
9
  tag tail_ex
10
10
  path test/plugin/*/%Y/%m/%Y%m%d-%H%M%S.log,test/plugin/data/log/**/*.log
11
11
  format /^(?<message>.*)$/
12
- pos_file /var/tmp/fluentd.pos
12
+ pos_file test-pos-file
13
13
  refresh_interval 30
14
14
  ]
15
15
  PATHS = [
@@ -26,6 +26,23 @@ refresh_interval 30
26
26
  assert_nothing_raised { create_driver }
27
27
  end
28
28
 
29
+ def test_posfile_creation
30
+ flexstub(Thread) do |threadclass|
31
+ threadclass.should_receive(:new).once.and_return do
32
+ flexmock('Thread') {|t| t.should_receive(:join).once }
33
+ end
34
+ threadclass.should_receive(:new).once
35
+
36
+ plugin = create_driver.instance
37
+ plugin.start
38
+ pf = nil
39
+ plugin.instance_eval do
40
+ pf = @pf
41
+ end
42
+ assert_instance_of Fluent::TailInput::PositionFile, pf
43
+ end
44
+ end
45
+
29
46
  def test_expand_paths
30
47
  plugin = create_driver.instance
31
48
  flexstub(Time) do |timeclass|
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluent-plugin-tail-ex
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-10-07 00:00:00.000000000 Z
12
+ date: 2013-11-10 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: fluentd
16
- requirement: &70240843162660 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,15 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70240843162660
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: '0'
25
30
  - !ruby/object:Gem::Dependency
26
31
  name: fluent-mixin-config-placeholders
27
- requirement: &70240843161320 !ruby/object:Gem::Requirement
32
+ requirement: !ruby/object:Gem::Requirement
28
33
  none: false
29
34
  requirements:
30
35
  - - ! '>='
@@ -32,10 +37,15 @@ dependencies:
32
37
  version: '0'
33
38
  type: :runtime
34
39
  prerelease: false
35
- version_requirements: *70240843161320
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
36
46
  - !ruby/object:Gem::Dependency
37
47
  name: fluentd
38
- requirement: &70240843160000 !ruby/object:Gem::Requirement
48
+ requirement: !ruby/object:Gem::Requirement
39
49
  none: false
40
50
  requirements:
41
51
  - - ! '>='
@@ -43,10 +53,15 @@ dependencies:
43
53
  version: '0'
44
54
  type: :development
45
55
  prerelease: false
46
- version_requirements: *70240843160000
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
47
62
  - !ruby/object:Gem::Dependency
48
63
  name: fluent-mixin-config-placeholders
49
- requirement: &70240843157000 !ruby/object:Gem::Requirement
64
+ requirement: !ruby/object:Gem::Requirement
50
65
  none: false
51
66
  requirements:
52
67
  - - ! '>='
@@ -54,10 +69,15 @@ dependencies:
54
69
  version: '0'
55
70
  type: :development
56
71
  prerelease: false
57
- version_requirements: *70240843157000
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
58
78
  - !ruby/object:Gem::Dependency
59
79
  name: rake
60
- requirement: &70240843155180 !ruby/object:Gem::Requirement
80
+ requirement: !ruby/object:Gem::Requirement
61
81
  none: false
62
82
  requirements:
63
83
  - - ! '>='
@@ -65,10 +85,15 @@ dependencies:
65
85
  version: '0'
66
86
  type: :development
67
87
  prerelease: false
68
- version_requirements: *70240843155180
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ! '>='
92
+ - !ruby/object:Gem::Version
93
+ version: '0'
69
94
  - !ruby/object:Gem::Dependency
70
95
  name: flexmock
71
- requirement: &70240843152680 !ruby/object:Gem::Requirement
96
+ requirement: !ruby/object:Gem::Requirement
72
97
  none: false
73
98
  requirements:
74
99
  - - ! '>='
@@ -76,7 +101,12 @@ dependencies:
76
101
  version: '0'
77
102
  type: :development
78
103
  prerelease: false
79
- version_requirements: *70240843152680
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
80
110
  description: Extended tail input plugin
81
111
  email:
82
112
  - yt.hisa@gmail.com
@@ -120,7 +150,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
120
150
  version: '0'
121
151
  requirements: []
122
152
  rubyforge_project:
123
- rubygems_version: 1.8.17
153
+ rubygems_version: 1.8.23
124
154
  signing_key:
125
155
  specification_version: 3
126
156
  summary: Extended tail input plugin