fluentd 1.17.0-x64-mingw32 → 1.18.0-x64-mingw32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (278) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +100 -0
  3. data/README.md +1 -0
  4. data/SECURITY.md +2 -2
  5. data/fluent.conf +14 -14
  6. data/lib/fluent/command/cap_ctl.rb +4 -4
  7. data/lib/fluent/command/fluentd.rb +7 -1
  8. data/lib/fluent/compat/call_super_mixin.rb +3 -3
  9. data/lib/fluent/compat/propagate_default.rb +4 -4
  10. data/lib/fluent/config/literal_parser.rb +9 -2
  11. data/lib/fluent/config/yaml_parser/parser.rb +4 -0
  12. data/lib/fluent/engine.rb +49 -33
  13. data/lib/fluent/env.rb +3 -0
  14. data/lib/fluent/event_router.rb +2 -2
  15. data/lib/fluent/log/console_adapter.rb +4 -2
  16. data/lib/fluent/plugin/filter_parser.rb +27 -51
  17. data/lib/fluent/plugin/in_exec.rb +14 -2
  18. data/lib/fluent/plugin/in_http.rb +6 -1
  19. data/lib/fluent/plugin/in_sample.rb +13 -7
  20. data/lib/fluent/plugin/in_syslog.rb +4 -0
  21. data/lib/fluent/plugin/in_tail.rb +65 -23
  22. data/lib/fluent/plugin/in_tcp.rb +4 -0
  23. data/lib/fluent/plugin/in_udp.rb +10 -1
  24. data/lib/fluent/plugin/input.rb +4 -0
  25. data/lib/fluent/plugin/out_buffer.rb +40 -0
  26. data/lib/fluent/plugin/out_copy.rb +1 -1
  27. data/lib/fluent/plugin/out_file.rb +8 -0
  28. data/lib/fluent/plugin/out_http.rb +12 -0
  29. data/lib/fluent/plugin/output.rb +2 -0
  30. data/lib/fluent/plugin/parser_json.rb +4 -12
  31. data/lib/fluent/plugin_helper/cert_option.rb +8 -0
  32. data/lib/fluent/plugin_helper/event_emitter.rb +12 -0
  33. data/lib/fluent/plugin_helper/http_server/server.rb +24 -8
  34. data/lib/fluent/plugin_helper/server.rb +9 -0
  35. data/lib/fluent/root_agent.rb +114 -19
  36. data/lib/fluent/source_only_buffer_agent.rb +102 -0
  37. data/lib/fluent/supervisor.rb +207 -34
  38. data/lib/fluent/system_config.rb +15 -3
  39. data/lib/fluent/version.rb +1 -1
  40. data/templates/new_gem/fluent-plugin.gemspec.erb +6 -5
  41. metadata +24 -483
  42. data/.github/DISCUSSION_TEMPLATE/q-a-japanese.yml +0 -50
  43. data/.github/DISCUSSION_TEMPLATE/q-a.yml +0 -47
  44. data/.github/ISSUE_TEMPLATE/bug_report.yml +0 -71
  45. data/.github/ISSUE_TEMPLATE/config.yml +0 -5
  46. data/.github/ISSUE_TEMPLATE/feature_request.yml +0 -39
  47. data/.github/ISSUE_TEMPLATE.md +0 -17
  48. data/.github/PULL_REQUEST_TEMPLATE.md +0 -14
  49. data/.github/workflows/stale-actions.yml +0 -24
  50. data/.github/workflows/test-ruby-head.yml +0 -31
  51. data/.github/workflows/test.yml +0 -32
  52. data/.gitignore +0 -30
  53. data/Gemfile +0 -9
  54. data/fluentd.gemspec +0 -62
  55. data/test/command/test_binlog_reader.rb +0 -362
  56. data/test/command/test_ca_generate.rb +0 -70
  57. data/test/command/test_cap_ctl.rb +0 -100
  58. data/test/command/test_cat.rb +0 -128
  59. data/test/command/test_ctl.rb +0 -56
  60. data/test/command/test_fluentd.rb +0 -1291
  61. data/test/command/test_plugin_config_formatter.rb +0 -397
  62. data/test/command/test_plugin_generator.rb +0 -109
  63. data/test/compat/test_calls_super.rb +0 -166
  64. data/test/compat/test_parser.rb +0 -92
  65. data/test/config/assertions.rb +0 -42
  66. data/test/config/test_config_parser.rb +0 -551
  67. data/test/config/test_configurable.rb +0 -1784
  68. data/test/config/test_configure_proxy.rb +0 -604
  69. data/test/config/test_dsl.rb +0 -415
  70. data/test/config/test_element.rb +0 -518
  71. data/test/config/test_literal_parser.rb +0 -309
  72. data/test/config/test_plugin_configuration.rb +0 -56
  73. data/test/config/test_section.rb +0 -191
  74. data/test/config/test_system_config.rb +0 -195
  75. data/test/config/test_types.rb +0 -408
  76. data/test/counter/test_client.rb +0 -563
  77. data/test/counter/test_error.rb +0 -44
  78. data/test/counter/test_mutex_hash.rb +0 -179
  79. data/test/counter/test_server.rb +0 -589
  80. data/test/counter/test_store.rb +0 -258
  81. data/test/counter/test_validator.rb +0 -137
  82. data/test/helper.rb +0 -155
  83. data/test/helpers/fuzzy_assert.rb +0 -89
  84. data/test/helpers/process_extenstion.rb +0 -33
  85. data/test/log/test_console_adapter.rb +0 -117
  86. data/test/plugin/data/2010/01/20100102-030405.log +0 -0
  87. data/test/plugin/data/2010/01/20100102-030406.log +0 -0
  88. data/test/plugin/data/2010/01/20100102.log +0 -0
  89. data/test/plugin/data/log/bar +0 -0
  90. data/test/plugin/data/log/foo/bar.log +0 -0
  91. data/test/plugin/data/log/foo/bar2 +0 -0
  92. data/test/plugin/data/log/test.log +0 -0
  93. data/test/plugin/data/log_numeric/01.log +0 -0
  94. data/test/plugin/data/log_numeric/02.log +0 -0
  95. data/test/plugin/data/log_numeric/12.log +0 -0
  96. data/test/plugin/data/log_numeric/14.log +0 -0
  97. data/test/plugin/data/sd_file/config +0 -11
  98. data/test/plugin/data/sd_file/config.json +0 -17
  99. data/test/plugin/data/sd_file/config.yaml +0 -11
  100. data/test/plugin/data/sd_file/config.yml +0 -11
  101. data/test/plugin/data/sd_file/invalid_config.yml +0 -7
  102. data/test/plugin/in_tail/test_fifo.rb +0 -121
  103. data/test/plugin/in_tail/test_io_handler.rb +0 -150
  104. data/test/plugin/in_tail/test_position_file.rb +0 -346
  105. data/test/plugin/out_forward/test_ack_handler.rb +0 -140
  106. data/test/plugin/out_forward/test_connection_manager.rb +0 -145
  107. data/test/plugin/out_forward/test_handshake_protocol.rb +0 -112
  108. data/test/plugin/out_forward/test_load_balancer.rb +0 -106
  109. data/test/plugin/out_forward/test_socket_cache.rb +0 -174
  110. data/test/plugin/test_bare_output.rb +0 -131
  111. data/test/plugin/test_base.rb +0 -247
  112. data/test/plugin/test_buf_file.rb +0 -1314
  113. data/test/plugin/test_buf_file_single.rb +0 -898
  114. data/test/plugin/test_buf_memory.rb +0 -42
  115. data/test/plugin/test_buffer.rb +0 -1493
  116. data/test/plugin/test_buffer_chunk.rb +0 -209
  117. data/test/plugin/test_buffer_file_chunk.rb +0 -871
  118. data/test/plugin/test_buffer_file_single_chunk.rb +0 -611
  119. data/test/plugin/test_buffer_memory_chunk.rb +0 -339
  120. data/test/plugin/test_compressable.rb +0 -87
  121. data/test/plugin/test_file_util.rb +0 -96
  122. data/test/plugin/test_filter.rb +0 -368
  123. data/test/plugin/test_filter_grep.rb +0 -697
  124. data/test/plugin/test_filter_parser.rb +0 -731
  125. data/test/plugin/test_filter_record_transformer.rb +0 -577
  126. data/test/plugin/test_filter_stdout.rb +0 -207
  127. data/test/plugin/test_formatter_csv.rb +0 -136
  128. data/test/plugin/test_formatter_hash.rb +0 -38
  129. data/test/plugin/test_formatter_json.rb +0 -61
  130. data/test/plugin/test_formatter_ltsv.rb +0 -70
  131. data/test/plugin/test_formatter_msgpack.rb +0 -28
  132. data/test/plugin/test_formatter_out_file.rb +0 -116
  133. data/test/plugin/test_formatter_single_value.rb +0 -44
  134. data/test/plugin/test_formatter_tsv.rb +0 -76
  135. data/test/plugin/test_in_debug_agent.rb +0 -49
  136. data/test/plugin/test_in_exec.rb +0 -261
  137. data/test/plugin/test_in_forward.rb +0 -1178
  138. data/test/plugin/test_in_gc_stat.rb +0 -62
  139. data/test/plugin/test_in_http.rb +0 -1124
  140. data/test/plugin/test_in_monitor_agent.rb +0 -922
  141. data/test/plugin/test_in_object_space.rb +0 -66
  142. data/test/plugin/test_in_sample.rb +0 -190
  143. data/test/plugin/test_in_syslog.rb +0 -505
  144. data/test/plugin/test_in_tail.rb +0 -3429
  145. data/test/plugin/test_in_tcp.rb +0 -328
  146. data/test/plugin/test_in_udp.rb +0 -296
  147. data/test/plugin/test_in_unix.rb +0 -181
  148. data/test/plugin/test_input.rb +0 -137
  149. data/test/plugin/test_metadata.rb +0 -89
  150. data/test/plugin/test_metrics.rb +0 -294
  151. data/test/plugin/test_metrics_local.rb +0 -96
  152. data/test/plugin/test_multi_output.rb +0 -204
  153. data/test/plugin/test_out_copy.rb +0 -308
  154. data/test/plugin/test_out_exec.rb +0 -312
  155. data/test/plugin/test_out_exec_filter.rb +0 -606
  156. data/test/plugin/test_out_file.rb +0 -1038
  157. data/test/plugin/test_out_forward.rb +0 -1349
  158. data/test/plugin/test_out_http.rb +0 -557
  159. data/test/plugin/test_out_null.rb +0 -105
  160. data/test/plugin/test_out_relabel.rb +0 -28
  161. data/test/plugin/test_out_roundrobin.rb +0 -146
  162. data/test/plugin/test_out_secondary_file.rb +0 -458
  163. data/test/plugin/test_out_stdout.rb +0 -205
  164. data/test/plugin/test_out_stream.rb +0 -103
  165. data/test/plugin/test_output.rb +0 -1334
  166. data/test/plugin/test_output_as_buffered.rb +0 -2024
  167. data/test/plugin/test_output_as_buffered_backup.rb +0 -363
  168. data/test/plugin/test_output_as_buffered_compress.rb +0 -179
  169. data/test/plugin/test_output_as_buffered_overflow.rb +0 -250
  170. data/test/plugin/test_output_as_buffered_retries.rb +0 -966
  171. data/test/plugin/test_output_as_buffered_secondary.rb +0 -882
  172. data/test/plugin/test_output_as_standard.rb +0 -374
  173. data/test/plugin/test_owned_by.rb +0 -34
  174. data/test/plugin/test_parser.rb +0 -399
  175. data/test/plugin/test_parser_apache.rb +0 -42
  176. data/test/plugin/test_parser_apache2.rb +0 -47
  177. data/test/plugin/test_parser_apache_error.rb +0 -45
  178. data/test/plugin/test_parser_csv.rb +0 -200
  179. data/test/plugin/test_parser_json.rb +0 -244
  180. data/test/plugin/test_parser_labeled_tsv.rb +0 -160
  181. data/test/plugin/test_parser_msgpack.rb +0 -127
  182. data/test/plugin/test_parser_multiline.rb +0 -111
  183. data/test/plugin/test_parser_nginx.rb +0 -88
  184. data/test/plugin/test_parser_none.rb +0 -52
  185. data/test/plugin/test_parser_regexp.rb +0 -284
  186. data/test/plugin/test_parser_syslog.rb +0 -650
  187. data/test/plugin/test_parser_tsv.rb +0 -122
  188. data/test/plugin/test_sd_file.rb +0 -228
  189. data/test/plugin/test_sd_srv.rb +0 -230
  190. data/test/plugin/test_storage.rb +0 -166
  191. data/test/plugin/test_storage_local.rb +0 -335
  192. data/test/plugin/test_string_util.rb +0 -26
  193. data/test/plugin_helper/data/cert/cert-key.pem +0 -27
  194. data/test/plugin_helper/data/cert/cert-with-CRLF.pem +0 -19
  195. data/test/plugin_helper/data/cert/cert-with-no-newline.pem +0 -19
  196. data/test/plugin_helper/data/cert/cert.pem +0 -19
  197. data/test/plugin_helper/data/cert/cert_chains/ca-cert-key.pem +0 -27
  198. data/test/plugin_helper/data/cert/cert_chains/ca-cert.pem +0 -20
  199. data/test/plugin_helper/data/cert/cert_chains/cert-key.pem +0 -27
  200. data/test/plugin_helper/data/cert/cert_chains/cert.pem +0 -40
  201. data/test/plugin_helper/data/cert/empty.pem +0 -0
  202. data/test/plugin_helper/data/cert/generate_cert.rb +0 -125
  203. data/test/plugin_helper/data/cert/with_ca/ca-cert-key-pass.pem +0 -30
  204. data/test/plugin_helper/data/cert/with_ca/ca-cert-key.pem +0 -27
  205. data/test/plugin_helper/data/cert/with_ca/ca-cert-pass.pem +0 -20
  206. data/test/plugin_helper/data/cert/with_ca/ca-cert.pem +0 -20
  207. data/test/plugin_helper/data/cert/with_ca/cert-key-pass.pem +0 -30
  208. data/test/plugin_helper/data/cert/with_ca/cert-key.pem +0 -27
  209. data/test/plugin_helper/data/cert/with_ca/cert-pass.pem +0 -21
  210. data/test/plugin_helper/data/cert/with_ca/cert.pem +0 -21
  211. data/test/plugin_helper/data/cert/without_ca/cert-key-pass.pem +0 -30
  212. data/test/plugin_helper/data/cert/without_ca/cert-key.pem +0 -27
  213. data/test/plugin_helper/data/cert/without_ca/cert-pass.pem +0 -20
  214. data/test/plugin_helper/data/cert/without_ca/cert.pem +0 -20
  215. data/test/plugin_helper/http_server/test_app.rb +0 -65
  216. data/test/plugin_helper/http_server/test_route.rb +0 -32
  217. data/test/plugin_helper/service_discovery/test_manager.rb +0 -93
  218. data/test/plugin_helper/service_discovery/test_round_robin_balancer.rb +0 -21
  219. data/test/plugin_helper/test_cert_option.rb +0 -25
  220. data/test/plugin_helper/test_child_process.rb +0 -862
  221. data/test/plugin_helper/test_compat_parameters.rb +0 -358
  222. data/test/plugin_helper/test_event_emitter.rb +0 -80
  223. data/test/plugin_helper/test_event_loop.rb +0 -52
  224. data/test/plugin_helper/test_extract.rb +0 -194
  225. data/test/plugin_helper/test_formatter.rb +0 -255
  226. data/test/plugin_helper/test_http_server_helper.rb +0 -372
  227. data/test/plugin_helper/test_inject.rb +0 -561
  228. data/test/plugin_helper/test_metrics.rb +0 -137
  229. data/test/plugin_helper/test_parser.rb +0 -264
  230. data/test/plugin_helper/test_record_accessor.rb +0 -238
  231. data/test/plugin_helper/test_retry_state.rb +0 -1006
  232. data/test/plugin_helper/test_server.rb +0 -1895
  233. data/test/plugin_helper/test_service_discovery.rb +0 -165
  234. data/test/plugin_helper/test_socket.rb +0 -146
  235. data/test/plugin_helper/test_storage.rb +0 -542
  236. data/test/plugin_helper/test_thread.rb +0 -164
  237. data/test/plugin_helper/test_timer.rb +0 -130
  238. data/test/scripts/exec_script.rb +0 -32
  239. data/test/scripts/fluent/plugin/formatter1/formatter_test1.rb +0 -7
  240. data/test/scripts/fluent/plugin/formatter2/formatter_test2.rb +0 -7
  241. data/test/scripts/fluent/plugin/formatter_known.rb +0 -8
  242. data/test/scripts/fluent/plugin/out_test.rb +0 -81
  243. data/test/scripts/fluent/plugin/out_test2.rb +0 -80
  244. data/test/scripts/fluent/plugin/parser_known.rb +0 -4
  245. data/test/test_capability.rb +0 -74
  246. data/test/test_clock.rb +0 -164
  247. data/test/test_config.rb +0 -369
  248. data/test/test_configdsl.rb +0 -148
  249. data/test/test_daemonizer.rb +0 -91
  250. data/test/test_engine.rb +0 -203
  251. data/test/test_event.rb +0 -531
  252. data/test/test_event_router.rb +0 -348
  253. data/test/test_event_time.rb +0 -199
  254. data/test/test_file_wrapper.rb +0 -53
  255. data/test/test_filter.rb +0 -121
  256. data/test/test_fluent_log_event_router.rb +0 -99
  257. data/test/test_formatter.rb +0 -369
  258. data/test/test_input.rb +0 -31
  259. data/test/test_log.rb +0 -1076
  260. data/test/test_match.rb +0 -148
  261. data/test/test_mixin.rb +0 -351
  262. data/test/test_msgpack_factory.rb +0 -50
  263. data/test/test_oj_options.rb +0 -55
  264. data/test/test_output.rb +0 -278
  265. data/test/test_plugin.rb +0 -251
  266. data/test/test_plugin_classes.rb +0 -370
  267. data/test/test_plugin_helper.rb +0 -81
  268. data/test/test_plugin_id.rb +0 -119
  269. data/test/test_process.rb +0 -14
  270. data/test/test_root_agent.rb +0 -951
  271. data/test/test_static_config_analysis.rb +0 -177
  272. data/test/test_supervisor.rb +0 -821
  273. data/test/test_test_drivers.rb +0 -136
  274. data/test/test_time_formatter.rb +0 -301
  275. data/test/test_time_parser.rb +0 -362
  276. data/test/test_tls.rb +0 -65
  277. data/test/test_unique_id.rb +0 -47
  278. data/test/test_variable_store.rb +0 -65
@@ -1,370 +0,0 @@
1
- require_relative 'helper'
2
- require 'fluent/plugin/input'
3
- require 'fluent/plugin/output'
4
- require 'fluent/plugin/bare_output'
5
- require 'fluent/plugin/filter'
6
-
7
- module FluentTest
8
- class FluentTestCounterMetrics < Fluent::Plugin::Metrics
9
- Fluent::Plugin.register_metrics('test_counter', self)
10
-
11
- attr_reader :data
12
-
13
- def initialize
14
- super
15
- @data = 0
16
- end
17
- def get
18
- @data
19
- end
20
- def inc
21
- @data +=1
22
- end
23
- def add(value)
24
- @data += value
25
- end
26
- def set(value)
27
- @data = value
28
- end
29
- def close
30
- @data = 0
31
- super
32
- end
33
- end
34
-
35
- class FluentTestGaugeMetrics < Fluent::Plugin::Metrics
36
- Fluent::Plugin.register_metrics('test_gauge', self)
37
-
38
- attr_reader :data
39
-
40
- def initialize
41
- super
42
- @data = 0
43
- end
44
- def get
45
- @data
46
- end
47
- def inc
48
- @data += 1
49
- end
50
- def dec
51
- @data -=1
52
- end
53
- def add(value)
54
- @data += value
55
- end
56
- def sub(value)
57
- @data -= value
58
- end
59
- def set(value)
60
- @data = value
61
- end
62
- def close
63
- @data = 0
64
- super
65
- end
66
- end
67
-
68
- class FluentTestInput < ::Fluent::Plugin::Input
69
- ::Fluent::Plugin.register_input('test_in', self)
70
-
71
- attr_reader :started
72
-
73
- def initialize
74
- super
75
- # stub metrics instances
76
- @emit_records_metrics = FluentTest::FluentTestCounterMetrics.new
77
- @emit_size_metrics = FluentTest::FluentTestCounterMetrics.new
78
- end
79
-
80
- def start
81
- super
82
- @started = true
83
- end
84
-
85
- def shutdown
86
- @started = false
87
- super
88
- end
89
- end
90
-
91
- class FluentTestGenInput < ::Fluent::Plugin::Input
92
- ::Fluent::Plugin.register_input('test_in_gen', self)
93
-
94
- attr_reader :started
95
-
96
- config_param :num, :integer, default: 10000
97
-
98
- def initialize
99
- super
100
- # stub metrics instances
101
- @emit_records_metrics = FluentTest::FluentTestCounterMetrics.new
102
- @emit_size_metrics = FluentTest::FluentTestCounterMetrics.new
103
- end
104
-
105
- def start
106
- super
107
- @started = true
108
-
109
- @num.times { |i|
110
- router.emit("test.evet", Fluent::EventTime.now, {'message' => 'Hello!', 'key' => "value#{i}", 'num' => i})
111
- }
112
- end
113
-
114
- def shutdown
115
- @started = false
116
- super
117
- end
118
- end
119
-
120
- class FluentTestOutput < ::Fluent::Plugin::Output
121
- ::Fluent::Plugin.register_output('test_out', self)
122
-
123
- def initialize
124
- super
125
- @events = Hash.new { |h, k| h[k] = [] }
126
- # stub metrics instances
127
- @num_errors_metrics = FluentTest::FluentTestCounterMetrics.new
128
- @emit_count_metrics = FluentTest::FluentTestCounterMetrics.new
129
- @emit_records_metrics = FluentTest::FluentTestCounterMetrics.new
130
- @emit_size_metrics = FluentTest::FluentTestCounterMetrics.new
131
- @write_count_metrics = FluentTest::FluentTestCounterMetrics.new
132
- @rollback_count_metrics = FluentTest::FluentTestCounterMetrics.new
133
- @flush_time_count_metrics = FluentTest::FluentTestCounterMetrics.new
134
- @slow_flush_count_metrics = FluentTest::FluentTestCounterMetrics.new
135
- end
136
-
137
- attr_reader :events
138
- attr_reader :started
139
-
140
- def start
141
- super
142
- @started = true
143
- end
144
-
145
- def shutdown
146
- @started = false
147
- super
148
- end
149
-
150
- def process(tag, es)
151
- es.each do |time, record|
152
- @events[tag] << record
153
- end
154
- end
155
- end
156
-
157
- class FluentTestDynamicOutput < ::Fluent::Plugin::BareOutput
158
- ::Fluent::Plugin.register_output('test_dynamic_out', self)
159
-
160
- attr_reader :child
161
- attr_reader :started
162
-
163
- def start
164
- super
165
- @started = true
166
- @child = Fluent::Plugin.new_output('copy')
167
- conf = config_element('DYNAMIC', '', {}, [
168
- config_element('store', '', {'@type' => 'test_out', '@id' => 'dyn_out1'}),
169
- config_element('store', '', {'@type' => 'test_out', '@id' => 'dyn_out2'}),
170
- ])
171
- @child.configure(conf)
172
- @child.start
173
- end
174
-
175
- def after_start
176
- super
177
- @child.after_start
178
- end
179
-
180
- def stop
181
- super
182
- @child.stop
183
- end
184
-
185
- def before_shutdown
186
- super
187
- @child.before_shutdown
188
- end
189
-
190
- def shutdown
191
- @started = false
192
- super
193
- @child.shutdown
194
- end
195
-
196
- def after_shutdown
197
- super
198
- @child.after_shutdown
199
- end
200
-
201
- def close
202
- super
203
- @child.close
204
- end
205
-
206
- def terminate
207
- super
208
- @child.terminate
209
- end
210
-
211
- def process(tag, es)
212
- es.each do |time, record|
213
- @events[tag] << record
214
- end
215
- end
216
- end
217
-
218
- class FluentTestBufferedOutput < ::Fluent::Plugin::Output
219
- ::Fluent::Plugin.register_output('test_out_buffered', self)
220
-
221
- attr_reader :started
222
-
223
- def start
224
- super
225
- @started = true
226
- end
227
-
228
- def shutdown
229
- @started = false
230
- super
231
- end
232
-
233
- def write(chunk)
234
- # drop everything
235
- end
236
- end
237
-
238
- class FluentTestEmitOutput < ::Fluent::Plugin::Output
239
- ::Fluent::Plugin.register_output('test_out_emit', self)
240
- helpers :event_emitter
241
- def write(chunk)
242
- tag = chunk.metadata.tag || 'test'
243
- array = []
244
- chunk.each do |time, record|
245
- array << [time, record]
246
- end
247
- router.emit_array(tag, array)
248
- end
249
- end
250
-
251
- class FluentTestErrorOutput < ::Fluent::Plugin::Output
252
- ::Fluent::Plugin.register_output('test_out_error', self)
253
-
254
- def initialize
255
- super
256
- # stub metrics instances
257
- @num_errors_metrics = FluentTest::FluentTestCounterMetrics.new
258
- @emit_count_metrics = FluentTest::FluentTestCounterMetrics.new
259
- @emit_records_metrics = FluentTest::FluentTestCounterMetrics.new
260
- @emit_size_metrics = FluentTest::FluentTestCounterMetrics.new
261
- @write_count_metrics = FluentTest::FluentTestCounterMetrics.new
262
- @rollback_count_metrics = FluentTest::FluentTestCounterMetrics.new
263
- @flush_time_count_metrics = FluentTest::FluentTestCounterMetrics.new
264
- @slow_flush_count_metrics = FluentTest::FluentTestCounterMetrics.new
265
- end
266
-
267
- def format(tag, time, record)
268
- raise "emit error!"
269
- end
270
-
271
- def write(chunk)
272
- raise "chunk error!"
273
- end
274
- end
275
-
276
- class FluentCompatTestFilter < ::Fluent::Filter
277
- ::Fluent::Plugin.register_filter('test_compat_filter', self)
278
-
279
- def initialize(field = '__test__')
280
- super()
281
- @num = 0
282
- @field = field
283
- # stub metrics instances
284
- @emit_records_metrics = FluentTest::FluentTestCounterMetrics.new
285
- @emit_size_metrics = FluentTest::FluentTestCounterMetrics.new
286
- end
287
-
288
- attr_reader :num
289
- attr_reader :started
290
-
291
- def start
292
- super
293
- @started = true
294
- end
295
-
296
- def shutdown
297
- @started = false
298
- super
299
- end
300
-
301
- def filter(tag, time, record)
302
- record[@field] = @num
303
- @num += 1
304
- record
305
- end
306
- end
307
-
308
- class FluentTestFilter < ::Fluent::Plugin::Filter
309
- ::Fluent::Plugin.register_filter('test_filter', self)
310
-
311
- def initialize(field = '__test__')
312
- super()
313
- @num = 0
314
- @field = field
315
- # stub metrics instances
316
- @emit_records_metrics = FluentTest::FluentTestCounterMetrics.new
317
- @emit_size_metrics = FluentTest::FluentTestCounterMetrics.new
318
- end
319
-
320
- attr_reader :num
321
- attr_reader :started
322
-
323
- def start
324
- super
325
- @started = true
326
- end
327
-
328
- def shutdown
329
- @started = false
330
- super
331
- end
332
-
333
- def filter(tag, time, record)
334
- record[@field] = @num
335
- @num += 1
336
- record
337
- end
338
- end
339
-
340
- class FluentTestBuffer < Fluent::Plugin::Buffer
341
- ::Fluent::Plugin.register_buffer('test_buffer', self)
342
-
343
- def resume
344
- return {}, []
345
- end
346
-
347
- def generate_chunk(metadata)
348
- end
349
-
350
- def multi_workers_ready?
351
- false
352
- end
353
- end
354
-
355
- class TestEmitErrorHandler
356
- def initialize
357
- @events = Hash.new { |h, k| h[k] = [] }
358
- end
359
-
360
- attr_reader :events
361
-
362
- def handle_emit_error(tag, time, record, error)
363
- @events[tag] << record
364
- end
365
-
366
- def handle_emits_error(tag, es, error)
367
- es.each { |time,record| handle_emit_error(tag, time, record, error) }
368
- end
369
- end
370
- end
@@ -1,81 +0,0 @@
1
- require_relative 'helper'
2
- require 'fluent/plugin_helper'
3
- require 'fluent/plugin/base'
4
-
5
- class ConfigTest < Test::Unit::TestCase
6
- module FluentTest; end
7
-
8
- sub_test_case 'Fluent::Plugin::Base.helpers method works as shortcut to include helper modules' do
9
- class FluentTest::PluginTest1 < Fluent::Plugin::TestBase
10
- helpers :event_emitter
11
- end
12
- class FluentTest::PluginTest2 < Fluent::Plugin::TestBase
13
- helpers :thread
14
- end
15
- class FluentTest::PluginTest3 < Fluent::Plugin::TestBase
16
- helpers :event_loop
17
- end
18
- class FluentTest::PluginTest4 < Fluent::Plugin::TestBase
19
- helpers :timer
20
- end
21
- class FluentTest::PluginTest5 < Fluent::Plugin::TestBase
22
- helpers :child_process
23
- end
24
- class FluentTest::PluginTest6 < Fluent::Plugin::TestBase
25
- helpers :retry_state
26
- end
27
- class FluentTest::PluginTest0 < Fluent::Plugin::TestBase
28
- helpers :event_emitter, :thread, :event_loop, :timer, :child_process, :retry_state
29
- end
30
-
31
- test 'plugin can include helper event_emitter' do
32
- assert FluentTest::PluginTest1.include?(Fluent::PluginHelper::EventEmitter)
33
- p1 = FluentTest::PluginTest1.new
34
- assert p1.respond_to?(:has_router?)
35
- assert p1.has_router?
36
- end
37
-
38
- test 'plugin can include helper thread' do
39
- assert FluentTest::PluginTest2.include?(Fluent::PluginHelper::Thread)
40
- p2 = FluentTest::PluginTest2.new
41
- assert p2.respond_to?(:thread_current_running?)
42
- assert p2.respond_to?(:thread_create)
43
- end
44
-
45
- test 'plugin can include helper event_loop' do
46
- assert FluentTest::PluginTest3.include?(Fluent::PluginHelper::EventLoop)
47
- p3 = FluentTest::PluginTest3.new
48
- assert p3.respond_to?(:event_loop_attach)
49
- assert p3.respond_to?(:event_loop_running?)
50
- end
51
-
52
- test 'plugin can include helper timer' do
53
- assert FluentTest::PluginTest4.include?(Fluent::PluginHelper::Timer)
54
- p4 = FluentTest::PluginTest4.new
55
- assert p4.respond_to?(:timer_execute)
56
- end
57
-
58
- test 'plugin can include helper child_process' do
59
- assert FluentTest::PluginTest5.include?(Fluent::PluginHelper::ChildProcess)
60
- p5 = FluentTest::PluginTest5.new
61
- assert p5.respond_to?(:child_process_execute)
62
- end
63
-
64
- test 'plugin can 2 or more helpers at once' do
65
- assert FluentTest::PluginTest0.include?(Fluent::PluginHelper::EventEmitter)
66
- assert FluentTest::PluginTest0.include?(Fluent::PluginHelper::Thread)
67
- assert FluentTest::PluginTest0.include?(Fluent::PluginHelper::EventLoop)
68
- assert FluentTest::PluginTest0.include?(Fluent::PluginHelper::Timer)
69
- assert FluentTest::PluginTest0.include?(Fluent::PluginHelper::ChildProcess)
70
-
71
- p0 = FluentTest::PluginTest0.new
72
- assert p0.respond_to?(:child_process_execute)
73
- assert p0.respond_to?(:timer_execute)
74
- assert p0.respond_to?(:event_loop_attach)
75
- assert p0.respond_to?(:event_loop_running?)
76
- assert p0.respond_to?(:thread_current_running?)
77
- assert p0.respond_to?(:thread_create)
78
- assert p0.respond_to?(:has_router?)
79
- end
80
- end
81
- end
@@ -1,119 +0,0 @@
1
- require_relative 'helper'
2
- require 'fluent/plugin/base'
3
- require 'fluent/system_config'
4
- require 'fileutils'
5
-
6
- class PluginIdTest < Test::Unit::TestCase
7
- TMP_DIR = File.expand_path(File.dirname(__FILE__) + "/tmp/plugin_id/#{ENV['TEST_ENV_NUMBER']}")
8
-
9
- class MyPlugin < Fluent::Plugin::Base
10
- include Fluent::PluginId
11
- end
12
-
13
- setup do
14
- @p = MyPlugin.new
15
- end
16
-
17
- sub_test_case '#plugin_id_for_test?' do
18
- test 'returns true always in test files' do
19
- assert @p.plugin_id_for_test?
20
- end
21
-
22
- test 'returns false always out of test files' do
23
- # TODO: no good way to write this test....
24
- end
25
- end
26
-
27
- sub_test_case 'configured without @id' do
28
- setup do
29
- @p.configure(config_element())
30
- end
31
-
32
- test '#plugin_id_configured? returns false' do
33
- assert_false @p.plugin_id_configured?
34
- end
35
-
36
- test '#plugin_id returns object_id based string' do
37
- assert_kind_of String, @p.plugin_id
38
- assert @p.plugin_id =~ /^object:[0-9a-f]+/
39
- end
40
-
41
- test '#plugin_root_dir returns nil' do
42
- assert_nil @p.plugin_root_dir
43
- end
44
- end
45
-
46
- sub_test_case 'configured with @id' do
47
- setup do
48
- FileUtils.rm_rf(TMP_DIR)
49
- FileUtils.mkdir_p(TMP_DIR)
50
- @p.configure(config_element('ROOT', '', {'@id' => 'testing_plugin_id'}))
51
- end
52
-
53
- test '#plugin_id_configured? returns true' do
54
- assert @p.plugin_id_configured?
55
- end
56
-
57
- test '#plugin_id returns the configured value' do
58
- assert_equal 'testing_plugin_id', @p.plugin_id
59
- end
60
-
61
- test '#plugin_root_dir returns nil without system root directory configuration' do
62
- assert_nil @p.plugin_root_dir
63
- end
64
-
65
- test '#plugin_root_dir returns an existing directory path frozen String' do
66
- root_dir = Fluent::SystemConfig.overwrite_system_config('root_dir' => File.join(TMP_DIR, "myroot")) do
67
- @p.plugin_root_dir
68
- end
69
- assert_kind_of String, root_dir
70
- assert Dir.exist?(root_dir)
71
- assert root_dir =~ %r!/worker0/!
72
- assert root_dir.frozen?
73
- end
74
-
75
- test '#plugin_root_dir returns the same value for 2nd or more call' do
76
- root_dir = Fluent::SystemConfig.overwrite_system_config('root_dir' => File.join(TMP_DIR, "myroot")) do
77
- @p.plugin_root_dir
78
- end
79
- twice = Fluent::SystemConfig.overwrite_system_config('root_dir' => File.join(TMP_DIR, "myroot")) do
80
- @p.plugin_root_dir
81
- end
82
- assert_equal root_dir.object_id, twice.object_id
83
- end
84
-
85
- test '#plugin_root_dir referres SERVERENGINE_WORKER_ID environment path to create it' do
86
- prev_env_val = ENV['SERVERENGINE_WORKER_ID']
87
- begin
88
- ENV['SERVERENGINE_WORKER_ID'] = '7'
89
- root_dir = Fluent::SystemConfig.overwrite_system_config('root_dir' => File.join(TMP_DIR, "myroot")) do
90
- @p.plugin_root_dir
91
- end
92
- assert_kind_of String, root_dir
93
- assert Dir.exist?(root_dir)
94
- assert root_dir =~ %r!/worker7/!
95
- assert root_dir.frozen?
96
- ensure
97
- ENV['SERVERENGINE_WORKER_ID'] = prev_env_val
98
- end
99
- end
100
-
101
- test '#plugin_root_dir create dirctory with specify mode if not exists ' do
102
- omit "NTFS doesn't support UNIX like permissions" if Fluent.windows?
103
-
104
- root_dir = Fluent::SystemConfig.overwrite_system_config({ 'root_dir' => File.join(TMP_DIR, "myroot"), 'dir_permission' => '0777' }) do
105
- @p.plugin_root_dir
106
- end
107
-
108
- assert_equal '777', File.stat(root_dir).mode.to_s(8)[-3, 3]
109
- end
110
-
111
- test '#plugin_root_dir create dirctory with default permission if not exists ' do
112
- root_dir = Fluent::SystemConfig.overwrite_system_config({ 'root_dir' => File.join(TMP_DIR, "myroot") }) do
113
- @p.plugin_root_dir
114
- end
115
-
116
- assert_equal '755', File.stat(root_dir).mode.to_s(8)[-3, 3]
117
- end
118
- end
119
- end
data/test/test_process.rb DELETED
@@ -1,14 +0,0 @@
1
- require_relative 'helper'
2
- require 'fluent/process'
3
-
4
- class ProcessCompatibilityTest < ::Test::Unit::TestCase
5
- test 'DetachProcessMixin is defined' do
6
- assert defined?(::Fluent::DetachProcessMixin)
7
- assert_equal ::Fluent::DetachProcessMixin, ::Fluent::Compat::DetachProcessMixin
8
- end
9
-
10
- test 'DetachMultiProcessMixin is defined' do
11
- assert defined?(::Fluent::DetachMultiProcessMixin)
12
- assert_equal ::Fluent::DetachMultiProcessMixin, ::Fluent::Compat::DetachMultiProcessMixin
13
- end
14
- end