fluentd 1.6.3 → 1.7.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of fluentd might be problematic. Click here for more details.

Files changed (79) hide show
  1. checksums.yaml +4 -4
  2. data/.drone.yml +35 -0
  3. data/.github/ISSUE_TEMPLATE/bug_report.md +2 -0
  4. data/CHANGELOG.md +58 -0
  5. data/README.md +5 -1
  6. data/fluentd.gemspec +1 -1
  7. data/lib/fluent/clock.rb +4 -0
  8. data/lib/fluent/compat/output.rb +3 -3
  9. data/lib/fluent/compat/socket_util.rb +1 -1
  10. data/lib/fluent/config/element.rb +3 -3
  11. data/lib/fluent/config/literal_parser.rb +1 -1
  12. data/lib/fluent/config/section.rb +4 -1
  13. data/lib/fluent/error.rb +4 -0
  14. data/lib/fluent/event.rb +28 -24
  15. data/lib/fluent/event_router.rb +2 -1
  16. data/lib/fluent/log.rb +1 -1
  17. data/lib/fluent/msgpack_factory.rb +8 -0
  18. data/lib/fluent/plugin/bare_output.rb +4 -4
  19. data/lib/fluent/plugin/buf_file_single.rb +211 -0
  20. data/lib/fluent/plugin/buffer.rb +62 -63
  21. data/lib/fluent/plugin/buffer/chunk.rb +21 -3
  22. data/lib/fluent/plugin/buffer/file_chunk.rb +37 -12
  23. data/lib/fluent/plugin/buffer/file_single_chunk.rb +314 -0
  24. data/lib/fluent/plugin/buffer/memory_chunk.rb +2 -1
  25. data/lib/fluent/plugin/compressable.rb +10 -6
  26. data/lib/fluent/plugin/filter_grep.rb +2 -2
  27. data/lib/fluent/plugin/formatter_csv.rb +10 -6
  28. data/lib/fluent/plugin/in_syslog.rb +10 -3
  29. data/lib/fluent/plugin/in_tail.rb +7 -2
  30. data/lib/fluent/plugin/in_tcp.rb +34 -7
  31. data/lib/fluent/plugin/multi_output.rb +4 -4
  32. data/lib/fluent/plugin/out_exec_filter.rb +1 -0
  33. data/lib/fluent/plugin/out_file.rb +13 -3
  34. data/lib/fluent/plugin/out_forward.rb +126 -588
  35. data/lib/fluent/plugin/out_forward/ack_handler.rb +161 -0
  36. data/lib/fluent/plugin/out_forward/connection_manager.rb +113 -0
  37. data/lib/fluent/plugin/out_forward/error.rb +28 -0
  38. data/lib/fluent/plugin/out_forward/failure_detector.rb +84 -0
  39. data/lib/fluent/plugin/out_forward/handshake_protocol.rb +121 -0
  40. data/lib/fluent/plugin/out_forward/load_balancer.rb +111 -0
  41. data/lib/fluent/plugin/out_forward/socket_cache.rb +138 -0
  42. data/lib/fluent/plugin/out_http.rb +231 -0
  43. data/lib/fluent/plugin/output.rb +29 -35
  44. data/lib/fluent/plugin/parser.rb +77 -0
  45. data/lib/fluent/plugin/parser_csv.rb +75 -0
  46. data/lib/fluent/plugin_helper/server.rb +1 -1
  47. data/lib/fluent/plugin_helper/thread.rb +1 -0
  48. data/lib/fluent/root_agent.rb +1 -1
  49. data/lib/fluent/time.rb +4 -2
  50. data/lib/fluent/timezone.rb +21 -7
  51. data/lib/fluent/version.rb +1 -1
  52. data/test/command/test_fluentd.rb +1 -1
  53. data/test/command/test_plugin_generator.rb +18 -2
  54. data/test/config/test_configurable.rb +78 -40
  55. data/test/counter/test_store.rb +1 -1
  56. data/test/helper.rb +1 -0
  57. data/test/helpers/process_extenstion.rb +33 -0
  58. data/test/plugin/out_forward/test_ack_handler.rb +101 -0
  59. data/test/plugin/out_forward/test_connection_manager.rb +145 -0
  60. data/test/plugin/out_forward/test_handshake_protocol.rb +103 -0
  61. data/test/plugin/out_forward/test_load_balancer.rb +60 -0
  62. data/test/plugin/out_forward/test_socket_cache.rb +139 -0
  63. data/test/plugin/test_buf_file.rb +118 -2
  64. data/test/plugin/test_buf_file_single.rb +734 -0
  65. data/test/plugin/test_buffer.rb +4 -48
  66. data/test/plugin/test_buffer_file_chunk.rb +19 -1
  67. data/test/plugin/test_buffer_file_single_chunk.rb +620 -0
  68. data/test/plugin/test_formatter_csv.rb +16 -0
  69. data/test/plugin/test_in_syslog.rb +56 -6
  70. data/test/plugin/test_in_tail.rb +1 -1
  71. data/test/plugin/test_in_tcp.rb +25 -0
  72. data/test/plugin/test_out_forward.rb +75 -201
  73. data/test/plugin/test_out_http.rb +352 -0
  74. data/test/plugin/test_output_as_buffered.rb +27 -24
  75. data/test/plugin/test_parser.rb +40 -0
  76. data/test/plugin/test_parser_csv.rb +83 -0
  77. data/test/plugin_helper/test_record_accessor.rb +1 -1
  78. data/test/test_time_formatter.rb +140 -121
  79. metadata +33 -4
@@ -100,4 +100,87 @@ class CSVParserTest < ::Test::Unit::TestCase
100
100
  assert_equal record['c'], '789'
101
101
  end
102
102
  end
103
+
104
+ sub_test_case 'parser' do
105
+ data('normal' => 'normal',
106
+ 'fast' => 'fast')
107
+ def test_compatibility_between_normal_and_fast_parser(param)
108
+ d = create_driver(
109
+ 'keys' => 'time,key1,key2,key3,key4,key5',
110
+ 'time_key' => 'time',
111
+ 'time_format' => "%d/%b/%Y:%H:%M:%S %z",
112
+ 'keep_time_key' => 'false',
113
+ 'parser_type' => param
114
+ )
115
+
116
+ # non quoted
117
+ text = '28/Feb/2013:12:00:00 +0900,value1,value2,value3,value4,value5'
118
+ expected = {'key1' => 'value1', 'key2' => 'value2', 'key3' => "value3",
119
+ 'key4' => 'value4', 'key5' => "value5"}
120
+ d.instance.parse(text) do |time, record|
121
+ assert_equal(event_time("28/Feb/2013:12:00:00 +0900", format: '%d/%b/%Y:%H:%M:%S %z'), time)
122
+ assert_equal expected, record
123
+ end
124
+
125
+ # quoted
126
+ text = '28/Feb/2013:12:00:00 +0900,"value1","val,ue2","va,lu,e3","val ue4",""'
127
+ expected = {'key1' => 'value1', 'key2' => 'val,ue2', 'key3' => "va,lu,e3",
128
+ 'key4' => 'val ue4', 'key5' => ""}
129
+ d.instance.parse(text) do |time, record|
130
+ assert_equal(event_time("28/Feb/2013:12:00:00 +0900", format: '%d/%b/%Y:%H:%M:%S %z'), time)
131
+ assert_equal expected, record
132
+ end
133
+
134
+ # mixed
135
+ text = '28/Feb/2013:12:00:00 +0900,message,"mes,sage","me,ssa,ge",mess age,""'
136
+ expected = {'key1' => 'message', 'key2' => 'mes,sage', 'key3' => "me,ssa,ge",
137
+ 'key4' => 'mess age', 'key5' => ""}
138
+ d.instance.parse(text) do |time, record|
139
+ assert_equal(event_time("28/Feb/2013:12:00:00 +0900", format: '%d/%b/%Y:%H:%M:%S %z'), time)
140
+ assert_equal expected, record
141
+ end
142
+
143
+ # escaped
144
+ text = '28/Feb/2013:12:00:00 +0900,"message","mes""sage","""message""",,""""""'
145
+ expected = {'key1' => 'message', 'key2' => 'mes"sage', 'key3' => '"message"',
146
+ 'key4' => nil, 'key5' => '""'}
147
+ d.instance.parse(text) do |time, record|
148
+ assert_equal(event_time("28/Feb/2013:12:00:00 +0900", format: '%d/%b/%Y:%H:%M:%S %z'), time)
149
+ assert_equal expected, record
150
+ end
151
+ end
152
+
153
+ def test_incompatibility_between_normal_and_fast_parser
154
+ normal = create_driver(
155
+ 'keys' => 'key1,key2',
156
+ 'parser_type' => 'normal'
157
+ )
158
+ fast = create_driver(
159
+ 'keys' => 'key1,key2',
160
+ 'parser_type' => 'fast'
161
+ )
162
+
163
+ # unexpected quote position
164
+ text = 'a"b,"a"""c"'
165
+ assert_raise(CSV::MalformedCSVError) {
166
+ normal.instance.parse(text) { |t, r| }
167
+ }
168
+ assert_nothing_raised {
169
+ # generate broken record
170
+ fast.instance.parse(text) { |t, r| }
171
+ }
172
+
173
+ # incorrect the number of column
174
+ text = 'a,b,c'
175
+ expected = {"key1" => 'a', "key2" => 'b'}
176
+ normal.instance.parse(text) { |t, r|
177
+ assert_equal expected, r
178
+ }
179
+ fast.instance.parse(text) { |t, r|
180
+ assert_not_equal expected, r
181
+ }
182
+
183
+ # And more...
184
+ end
185
+ end
103
186
  end
@@ -141,7 +141,7 @@ class RecordAccessorHelperTest < Test::Unit::TestCase
141
141
 
142
142
  data("missing ']'" => "$['key1'",
143
143
  "missing array index with dot" => "$.hello[]",
144
- "missing array index with braket" => "$['hello'][]",
144
+ "missing array index with bracket" => "$['hello'][]",
145
145
  "whitespace char included key in dot notation" => "$.key[0].ke y",
146
146
  "more chars" => "$.key1[0]foo",
147
147
  "empty keys with dot" => "$.",
@@ -3,9 +3,8 @@ require 'fluent/test'
3
3
  require 'fluent/time'
4
4
 
5
5
  class TimeFormatterTest < ::Test::Unit::TestCase
6
- def setup
7
- @time = Time.new(2014, 9, 27, 0, 0, 0, 0).to_i
8
- @fmt = "%Y%m%d %H%M%z" # YYYYMMDD HHMM[+-]HHMM
6
+ setup do
7
+ @fmt ="%Y%m%d %H%M%z" # YYYYMMDD HHMM[+-]HHMM
9
8
  end
10
9
 
11
10
  def format(format, localtime, timezone)
@@ -13,166 +12,186 @@ class TimeFormatterTest < ::Test::Unit::TestCase
13
12
  formatter.format(@time)
14
13
  end
15
14
 
16
- def test_default_utc_nil
17
- assert_equal("2014-09-27T00:00:00Z", format(nil, false, nil))
18
- end
15
+ module TestLists
16
+ def test_default_utc_nil
17
+ assert_equal("2014-09-27T00:00:00Z", format(nil, false, nil))
18
+ end
19
19
 
20
- def test_default_utc_pHH_MM
21
- assert_equal("2014-09-27T01:30:00+01:30", format(nil, false, "+01:30"))
22
- end
20
+ def test_default_utc_pHH_MM
21
+ assert_equal("2014-09-27T01:30:00+01:30", format(nil, false, "+01:30"))
22
+ end
23
23
 
24
- def test_default_utc_nHH_MM
25
- assert_equal("2014-09-26T22:30:00-01:30", format(nil, false, "-01:30"))
26
- end
24
+ def test_default_utc_nHH_MM
25
+ assert_equal("2014-09-26T22:30:00-01:30", format(nil, false, "-01:30"))
26
+ end
27
27
 
28
- def test_default_utc_pHHMM
29
- assert_equal("2014-09-27T02:30:00+02:30", format(nil, false, "+0230"))
30
- end
28
+ def test_default_utc_pHHMM
29
+ assert_equal("2014-09-27T02:30:00+02:30", format(nil, false, "+0230"))
30
+ end
31
31
 
32
- def test_default_utc_nHHMM
33
- assert_equal("2014-09-26T21:30:00-02:30", format(nil, false, "-0230"))
34
- end
32
+ def test_default_utc_nHHMM
33
+ assert_equal("2014-09-26T21:30:00-02:30", format(nil, false, "-0230"))
34
+ end
35
35
 
36
- def test_default_utc_pHH
37
- assert_equal("2014-09-27T03:00:00+03:00", format(nil, false, "+03"))
38
- end
36
+ def test_default_utc_pHH
37
+ assert_equal("2014-09-27T03:00:00+03:00", format(nil, false, "+03"))
38
+ end
39
39
 
40
- def test_default_utc_nHH
41
- assert_equal("2014-09-26T21:00:00-03:00", format(nil, false, "-03"))
42
- end
40
+ def test_default_utc_nHH
41
+ assert_equal("2014-09-26T21:00:00-03:00", format(nil, false, "-03"))
42
+ end
43
43
 
44
- def test_default_utc_timezone_1
45
- # Asia/Tokyo (+09:00) does not have daylight saving time.
46
- assert_equal("2014-09-27T09:00:00+09:00", format(nil, false, "Asia/Tokyo"))
47
- end
44
+ def test_default_utc_timezone_1
45
+ # Asia/Tokyo (+09:00) does not have daylight saving time.
46
+ assert_equal("2014-09-27T09:00:00+09:00", format(nil, false, "Asia/Tokyo"))
47
+ end
48
48
 
49
- def test_default_utc_timezone_2
50
- # Pacific/Honolulu (-10:00) does not have daylight saving time.
51
- assert_equal("2014-09-26T14:00:00-10:00", format(nil, false, "Pacific/Honolulu"))
52
- end
49
+ def test_default_utc_timezone_2
50
+ # Pacific/Honolulu (-10:00) does not have daylight saving time.
51
+ assert_equal("2014-09-26T14:00:00-10:00", format(nil, false, "Pacific/Honolulu"))
52
+ end
53
53
 
54
- def test_default_utc_timezone_3
55
- # America/Argentina/Buenos_Aires (-03:00) does not have daylight saving time.
56
- assert_equal("2014-09-26T21:00:00-03:00", format(nil, false, "America/Argentina/Buenos_Aires"))
57
- end
54
+ def test_default_utc_timezone_3
55
+ # America/Argentina/Buenos_Aires (-03:00) does not have daylight saving time.
56
+ assert_equal("2014-09-26T21:00:00-03:00", format(nil, false, "America/Argentina/Buenos_Aires"))
57
+ end
58
58
 
59
- def test_default_utc_timezone_4
60
- # Europe/Paris has daylight saving time. Its UTC offset is +01:00 and its
61
- # UTC offset in DST is +02:00. In September, Europe/Paris is in DST.
62
- assert_equal("2014-09-27T02:00:00+02:00", format(nil, false, "Europe/Paris"))
63
- end
59
+ def test_default_utc_timezone_4
60
+ # Europe/Paris has daylight saving time. Its UTC offset is +01:00 and its
61
+ # UTC offset in DST is +02:00. In September, Europe/Paris is in DST.
62
+ assert_equal("2014-09-27T02:00:00+02:00", format(nil, false, "Europe/Paris"))
63
+ end
64
64
 
65
- def test_default_utc_timezone_5
66
- # Europe/Paris has daylight saving time. Its UTC offset is +01:00 and its
67
- # UTC offset in DST is +02:00. In January, Europe/Paris is not in DST.
68
- @time = Time.new(2014, 1, 24, 0, 0, 0, 0).to_i
69
- assert_equal("2014-01-24T01:00:00+01:00", format(nil, false, "Europe/Paris"))
70
- end
65
+ def test_default_utc_timezone_5
66
+ # Europe/Paris has daylight saving time. Its UTC offset is +01:00 and its
67
+ # UTC offset in DST is +02:00. In January, Europe/Paris is not in DST.
68
+ @time = Time.new(2014, 1, 24, 0, 0, 0, 0).to_i
69
+ assert_equal("2014-01-24T01:00:00+01:00", format(nil, false, "Europe/Paris"))
70
+ end
71
71
 
72
- def test_default_utc_invalid
73
- assert_equal("2014-09-27T00:00:00Z", format(nil, false, "Invalid"))
74
- end
72
+ def test_default_utc_invalid
73
+ assert_equal("2014-09-27T00:00:00Z", format(nil, false, "Invalid"))
74
+ end
75
75
 
76
- def test_default_localtime_nil_1
77
- with_timezone("UTC-04") do
78
- assert_equal("2014-09-27T04:00:00+04:00", format(nil, true, nil))
76
+ def test_default_localtime_nil_1
77
+ with_timezone("UTC-04") do
78
+ assert_equal("2014-09-27T04:00:00+04:00", format(nil, true, nil))
79
+ end
79
80
  end
80
- end
81
81
 
82
- def test_default_localtime_nil_2
83
- with_timezone("UTC+05") do
84
- assert_equal("2014-09-26T19:00:00-05:00", format(nil, true, nil))
82
+ def test_default_localtime_nil_2
83
+ with_timezone("UTC+05") do
84
+ assert_equal("2014-09-26T19:00:00-05:00", format(nil, true, nil))
85
+ end
85
86
  end
86
- end
87
87
 
88
- def test_default_localtime_timezone
89
- # 'timezone' takes precedence over 'localtime'.
90
- with_timezone("UTC-06") do
91
- assert_equal("2014-09-27T07:00:00+07:00", format(nil, true, "+07"))
88
+ def test_default_localtime_timezone
89
+ # 'timezone' takes precedence over 'localtime'.
90
+ with_timezone("UTC-06") do
91
+ assert_equal("2014-09-27T07:00:00+07:00", format(nil, true, "+07"))
92
+ end
92
93
  end
93
- end
94
94
 
95
- def test_specific_utc_nil
96
- assert_equal("20140927 0000+0000", format(@fmt, false, nil))
97
- end
95
+ def test_specific_utc_nil
96
+ assert_equal("20140927 0000+0000", format(@fmt, false, nil))
97
+ end
98
98
 
99
- def test_specific_utc_pHH_MM
100
- assert_equal("20140927 0830+0830", format(@fmt, false, "+08:30"))
101
- end
99
+ def test_specific_utc_pHH_MM
100
+ assert_equal("20140927 0830+0830", format(@fmt, false, "+08:30"))
101
+ end
102
102
 
103
- def test_specific_utc_nHH_MM
104
- assert_equal("20140926 1430-0930", format(@fmt, false, "-09:30"))
105
- end
103
+ def test_specific_utc_nHH_MM
104
+ assert_equal("20140926 1430-0930", format(@fmt, false, "-09:30"))
105
+ end
106
106
 
107
- def test_specific_utc_pHHMM
108
- assert_equal("20140927 1030+1030", format(@fmt, false, "+1030"))
109
- end
107
+ def test_specific_utc_pHHMM
108
+ assert_equal("20140927 1030+1030", format(@fmt, false, "+1030"))
109
+ end
110
110
 
111
- def test_specific_utc_nHHMM
112
- assert_equal("20140926 1230-1130", format(@fmt, false, "-1130"))
113
- end
111
+ def test_specific_utc_nHHMM
112
+ assert_equal("20140926 1230-1130", format(@fmt, false, "-1130"))
113
+ end
114
114
 
115
- def test_specific_utc_pHH
116
- assert_equal("20140927 1200+1200", format(@fmt, false, "+12"))
117
- end
115
+ def test_specific_utc_pHH
116
+ assert_equal("20140927 1200+1200", format(@fmt, false, "+12"))
117
+ end
118
118
 
119
- def test_specific_utc_nHH
120
- assert_equal("20140926 1100-1300", format(@fmt, false, "-13"))
121
- end
119
+ def test_specific_utc_nHH
120
+ assert_equal("20140926 1100-1300", format(@fmt, false, "-13"))
121
+ end
122
122
 
123
- def test_specific_utc_timezone_1
124
- # Europe/Moscow (+04:00) does not have daylight saving time.
125
- assert_equal("20140927 0400+0400", format(@fmt, false, "Europe/Moscow"))
126
- end
123
+ def test_specific_utc_timezone_1
124
+ # Europe/Moscow (+04:00) does not have daylight saving time.
125
+ assert_equal("20140927 0400+0400", format(@fmt, false, "Europe/Moscow"))
126
+ end
127
127
 
128
- def test_specific_utc_timezone_2
129
- # Pacific/Galapagos (-06:00) does not have daylight saving time.
130
- assert_equal("20140926 1800-0600", format(@fmt, false, "Pacific/Galapagos"))
131
- end
128
+ def test_specific_utc_timezone_2
129
+ # Pacific/Galapagos (-06:00) does not have daylight saving time.
130
+ assert_equal("20140926 1800-0600", format(@fmt, false, "Pacific/Galapagos"))
131
+ end
132
132
 
133
- def test_specific_utc_timezone_3
134
- # America/Argentina/Buenos_Aires (-03:00) does not have daylight saving time.
135
- assert_equal("20140926 2100-0300", format(@fmt, false, "America/Argentina/Buenos_Aires"))
136
- end
133
+ def test_specific_utc_timezone_3
134
+ # America/Argentina/Buenos_Aires (-03:00) does not have daylight saving time.
135
+ assert_equal("20140926 2100-0300", format(@fmt, false, "America/Argentina/Buenos_Aires"))
136
+ end
137
137
 
138
- def test_specific_utc_timezone_4
139
- # America/Los_Angeles has daylight saving time. Its UTC offset is -08:00 and its
140
- # UTC offset in DST is -07:00. In September, America/Los_Angeles is in DST.
141
- assert_equal("20140926 1700-0700", format(@fmt, false, "America/Los_Angeles"))
142
- end
138
+ def test_specific_utc_timezone_4
139
+ # America/Los_Angeles has daylight saving time. Its UTC offset is -08:00 and its
140
+ # UTC offset in DST is -07:00. In September, America/Los_Angeles is in DST.
141
+ assert_equal("20140926 1700-0700", format(@fmt, false, "America/Los_Angeles"))
142
+ end
143
143
 
144
- def test_specific_utc_timezone_5
145
- # America/Los_Angeles has daylight saving time. Its UTC offset is -08:00 and its
146
- # UTC offset in DST is -07:00. In January, America/Los_Angeles is not in DST.
147
- @time = Time.new(2014, 1, 24, 0, 0, 0, 0).to_i
148
- assert_equal("20140123 1600-0800", format(@fmt, false, "America/Los_Angeles"))
149
- end
144
+ def test_specific_utc_timezone_5
145
+ # America/Los_Angeles has daylight saving time. Its UTC offset is -08:00 and its
146
+ # UTC offset in DST is -07:00. In January, America/Los_Angeles is not in DST.
147
+ @time = Time.new(2014, 1, 24, 0, 0, 0, 0).to_i
148
+ assert_equal("20140123 1600-0800", format(@fmt, false, "America/Los_Angeles"))
149
+ end
150
150
 
151
- def test_specific_utc_invalid
152
- assert_equal("20140927 0000+0000", format(@fmt, false, "Invalid"))
153
- end
151
+ def test_specific_utc_invalid
152
+ assert_equal("20140927 0000+0000", format(@fmt, false, "Invalid"))
153
+ end
154
+
155
+ def test_specific_localtime_nil_1
156
+ with_timezone("UTC-07") do
157
+ assert_equal("20140927 0700+0700", format(@fmt, true, nil))
158
+ end
159
+ end
160
+
161
+ def test_specific_localtime_nil_2
162
+ with_timezone("UTC+08") do
163
+ assert_equal("20140926 1600-0800", format(@fmt, true, nil))
164
+ end
165
+ end
154
166
 
155
- def test_specific_localtime_nil_1
156
- with_timezone("UTC-07") do
157
- assert_equal("20140927 0700+0700", format(@fmt, true, nil))
167
+ def test_specific_localtime_timezone
168
+ # 'timezone' takes precedence over 'localtime'.
169
+ with_timezone("UTC-09") do
170
+ assert_equal("20140926 1400-1000", format(@fmt, true, "-10"))
171
+ end
158
172
  end
159
173
  end
160
174
 
161
- def test_specific_localtime_nil_2
162
- with_timezone("UTC+08") do
163
- assert_equal("20140926 1600-0800", format(@fmt, true, nil))
175
+ sub_test_case 'Fluent::EventTime time' do
176
+ setup do
177
+ @time = Fluent::EventTime.from_time(Time.new(2014, 9, 27, 0, 0, 0, 0))
164
178
  end
179
+
180
+ include TestLists
165
181
  end
166
182
 
167
- def test_specific_localtime_timezone
168
- # 'timezone' takes precedence over 'localtime'.
169
- with_timezone("UTC-09") do
170
- assert_equal("20140926 1400-1000", format(@fmt, true, "-10"))
183
+ # for v0.12 compatibility
184
+ sub_test_case 'Integer time' do
185
+ setup do
186
+ @time = Time.new(2014, 9, 27, 0, 0, 0, 0).to_i
171
187
  end
188
+
189
+ include TestLists
172
190
  end
173
191
 
174
192
  def test_format_with_subsec
175
- time = Fluent::EventTime.new(@time)
193
+ time = Time.new(2014, 9, 27, 0, 0, 0, 0).to_i
194
+ time = Fluent::EventTime.new(time)
176
195
  formatter = Fluent::TimeFormatter.new("%Y%m%d %H%M.%N", false, nil)
177
196
  assert_equal("20140927 0000.000000000", formatter.format(time))
178
197
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluentd
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.6.3
4
+ version: 1.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sadayuki Furuhashi
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-07-29 00:00:00.000000000 Z
11
+ date: 2019-08-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: msgpack
@@ -124,14 +124,14 @@ dependencies:
124
124
  requirements:
125
125
  - - "~>"
126
126
  - !ruby/object:Gem::Version
127
- version: '1.0'
127
+ version: '2.0'
128
128
  type: :runtime
129
129
  prerelease: false
130
130
  version_requirements: !ruby/object:Gem::Requirement
131
131
  requirements:
132
132
  - - "~>"
133
133
  - !ruby/object:Gem::Version
134
- version: '1.0'
134
+ version: '2.0'
135
135
  - !ruby/object:Gem::Dependency
136
136
  name: tzinfo-data
137
137
  requirement: !ruby/object:Gem::Requirement
@@ -328,6 +328,7 @@ executables:
328
328
  extensions: []
329
329
  extra_rdoc_files: []
330
330
  files:
331
+ - ".drone.yml"
331
332
  - ".github/ISSUE_TEMPLATE.md"
332
333
  - ".github/ISSUE_TEMPLATE/bug_report.md"
333
334
  - ".github/ISSUE_TEMPLATE/feature_request.md"
@@ -469,10 +470,12 @@ files:
469
470
  - lib/fluent/plugin/bare_output.rb
470
471
  - lib/fluent/plugin/base.rb
471
472
  - lib/fluent/plugin/buf_file.rb
473
+ - lib/fluent/plugin/buf_file_single.rb
472
474
  - lib/fluent/plugin/buf_memory.rb
473
475
  - lib/fluent/plugin/buffer.rb
474
476
  - lib/fluent/plugin/buffer/chunk.rb
475
477
  - lib/fluent/plugin/buffer/file_chunk.rb
478
+ - lib/fluent/plugin/buffer/file_single_chunk.rb
476
479
  - lib/fluent/plugin/buffer/memory_chunk.rb
477
480
  - lib/fluent/plugin/compressable.rb
478
481
  - lib/fluent/plugin/exec_util.rb
@@ -513,6 +516,14 @@ files:
513
516
  - lib/fluent/plugin/out_exec_filter.rb
514
517
  - lib/fluent/plugin/out_file.rb
515
518
  - lib/fluent/plugin/out_forward.rb
519
+ - lib/fluent/plugin/out_forward/ack_handler.rb
520
+ - lib/fluent/plugin/out_forward/connection_manager.rb
521
+ - lib/fluent/plugin/out_forward/error.rb
522
+ - lib/fluent/plugin/out_forward/failure_detector.rb
523
+ - lib/fluent/plugin/out_forward/handshake_protocol.rb
524
+ - lib/fluent/plugin/out_forward/load_balancer.rb
525
+ - lib/fluent/plugin/out_forward/socket_cache.rb
526
+ - lib/fluent/plugin/out_http.rb
516
527
  - lib/fluent/plugin/out_null.rb
517
528
  - lib/fluent/plugin/out_relabel.rb
518
529
  - lib/fluent/plugin/out_roundrobin.rb
@@ -643,6 +654,7 @@ files:
643
654
  - test/counter/test_validator.rb
644
655
  - test/helper.rb
645
656
  - test/helpers/fuzzy_assert.rb
657
+ - test/helpers/process_extenstion.rb
646
658
  - test/plugin/data/2010/01/20100102-030405.log
647
659
  - test/plugin/data/2010/01/20100102-030406.log
648
660
  - test/plugin/data/2010/01/20100102.log
@@ -650,13 +662,20 @@ files:
650
662
  - test/plugin/data/log/foo/bar.log
651
663
  - test/plugin/data/log/foo/bar2
652
664
  - test/plugin/data/log/test.log
665
+ - test/plugin/out_forward/test_ack_handler.rb
666
+ - test/plugin/out_forward/test_connection_manager.rb
667
+ - test/plugin/out_forward/test_handshake_protocol.rb
668
+ - test/plugin/out_forward/test_load_balancer.rb
669
+ - test/plugin/out_forward/test_socket_cache.rb
653
670
  - test/plugin/test_bare_output.rb
654
671
  - test/plugin/test_base.rb
655
672
  - test/plugin/test_buf_file.rb
673
+ - test/plugin/test_buf_file_single.rb
656
674
  - test/plugin/test_buf_memory.rb
657
675
  - test/plugin/test_buffer.rb
658
676
  - test/plugin/test_buffer_chunk.rb
659
677
  - test/plugin/test_buffer_file_chunk.rb
678
+ - test/plugin/test_buffer_file_single_chunk.rb
660
679
  - test/plugin/test_buffer_memory_chunk.rb
661
680
  - test/plugin/test_compressable.rb
662
681
  - test/plugin/test_file_util.rb
@@ -694,6 +713,7 @@ files:
694
713
  - test/plugin/test_out_exec_filter.rb
695
714
  - test/plugin/test_out_file.rb
696
715
  - test/plugin/test_out_forward.rb
716
+ - test/plugin/test_out_http.rb
697
717
  - test/plugin/test_out_null.rb
698
718
  - test/plugin/test_out_relabel.rb
699
719
  - test/plugin/test_out_roundrobin.rb
@@ -827,6 +847,7 @@ test_files:
827
847
  - test/counter/test_validator.rb
828
848
  - test/helper.rb
829
849
  - test/helpers/fuzzy_assert.rb
850
+ - test/helpers/process_extenstion.rb
830
851
  - test/plugin/data/2010/01/20100102-030405.log
831
852
  - test/plugin/data/2010/01/20100102-030406.log
832
853
  - test/plugin/data/2010/01/20100102.log
@@ -834,13 +855,20 @@ test_files:
834
855
  - test/plugin/data/log/foo/bar.log
835
856
  - test/plugin/data/log/foo/bar2
836
857
  - test/plugin/data/log/test.log
858
+ - test/plugin/out_forward/test_ack_handler.rb
859
+ - test/plugin/out_forward/test_connection_manager.rb
860
+ - test/plugin/out_forward/test_handshake_protocol.rb
861
+ - test/plugin/out_forward/test_load_balancer.rb
862
+ - test/plugin/out_forward/test_socket_cache.rb
837
863
  - test/plugin/test_bare_output.rb
838
864
  - test/plugin/test_base.rb
839
865
  - test/plugin/test_buf_file.rb
866
+ - test/plugin/test_buf_file_single.rb
840
867
  - test/plugin/test_buf_memory.rb
841
868
  - test/plugin/test_buffer.rb
842
869
  - test/plugin/test_buffer_chunk.rb
843
870
  - test/plugin/test_buffer_file_chunk.rb
871
+ - test/plugin/test_buffer_file_single_chunk.rb
844
872
  - test/plugin/test_buffer_memory_chunk.rb
845
873
  - test/plugin/test_compressable.rb
846
874
  - test/plugin/test_file_util.rb
@@ -878,6 +906,7 @@ test_files:
878
906
  - test/plugin/test_out_exec_filter.rb
879
907
  - test/plugin/test_out_file.rb
880
908
  - test/plugin/test_out_forward.rb
909
+ - test/plugin/test_out_http.rb
881
910
  - test/plugin/test_out_null.rb
882
911
  - test/plugin/test_out_relabel.rb
883
912
  - test/plugin/test_out_roundrobin.rb