fluentd 1.17.0-x86-mingw32 → 1.17.1-x86-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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +46 -0
- data/README.md +1 -0
- data/SECURITY.md +2 -2
- data/fluent.conf +14 -14
- data/lib/fluent/command/cap_ctl.rb +4 -4
- data/lib/fluent/compat/call_super_mixin.rb +3 -3
- data/lib/fluent/compat/propagate_default.rb +4 -4
- data/lib/fluent/config/yaml_parser/parser.rb +4 -0
- data/lib/fluent/log/console_adapter.rb +4 -2
- data/lib/fluent/plugin/in_exec.rb +14 -2
- data/lib/fluent/plugin/in_http.rb +1 -1
- data/lib/fluent/plugin/in_sample.rb +13 -7
- data/lib/fluent/plugin/in_tail.rb +65 -23
- data/lib/fluent/plugin/out_copy.rb +1 -1
- data/lib/fluent/plugin/out_file.rb +8 -0
- data/lib/fluent/plugin/out_http.rb +12 -0
- data/lib/fluent/plugin/parser_json.rb +4 -12
- data/lib/fluent/plugin_helper/http_server/server.rb +1 -1
- data/lib/fluent/version.rb +1 -1
- data/templates/new_gem/fluent-plugin.gemspec.erb +6 -5
- metadata +25 -472
- data/.github/DISCUSSION_TEMPLATE/q-a-japanese.yml +0 -50
- data/.github/DISCUSSION_TEMPLATE/q-a.yml +0 -47
- data/.github/ISSUE_TEMPLATE/bug_report.yml +0 -71
- data/.github/ISSUE_TEMPLATE/config.yml +0 -5
- data/.github/ISSUE_TEMPLATE/feature_request.yml +0 -39
- data/.github/ISSUE_TEMPLATE.md +0 -17
- data/.github/PULL_REQUEST_TEMPLATE.md +0 -14
- data/.github/workflows/stale-actions.yml +0 -24
- data/.github/workflows/test-ruby-head.yml +0 -31
- data/.github/workflows/test.yml +0 -32
- data/.gitignore +0 -30
- data/Gemfile +0 -9
- data/fluentd.gemspec +0 -62
- data/test/command/test_binlog_reader.rb +0 -362
- data/test/command/test_ca_generate.rb +0 -70
- data/test/command/test_cap_ctl.rb +0 -100
- data/test/command/test_cat.rb +0 -128
- data/test/command/test_ctl.rb +0 -56
- data/test/command/test_fluentd.rb +0 -1291
- data/test/command/test_plugin_config_formatter.rb +0 -397
- data/test/command/test_plugin_generator.rb +0 -109
- data/test/compat/test_calls_super.rb +0 -166
- data/test/compat/test_parser.rb +0 -92
- data/test/config/assertions.rb +0 -42
- data/test/config/test_config_parser.rb +0 -551
- data/test/config/test_configurable.rb +0 -1784
- data/test/config/test_configure_proxy.rb +0 -604
- data/test/config/test_dsl.rb +0 -415
- data/test/config/test_element.rb +0 -518
- data/test/config/test_literal_parser.rb +0 -309
- data/test/config/test_plugin_configuration.rb +0 -56
- data/test/config/test_section.rb +0 -191
- data/test/config/test_system_config.rb +0 -195
- data/test/config/test_types.rb +0 -408
- data/test/counter/test_client.rb +0 -563
- data/test/counter/test_error.rb +0 -44
- data/test/counter/test_mutex_hash.rb +0 -179
- data/test/counter/test_server.rb +0 -589
- data/test/counter/test_store.rb +0 -258
- data/test/counter/test_validator.rb +0 -137
- data/test/helper.rb +0 -155
- data/test/helpers/fuzzy_assert.rb +0 -89
- data/test/helpers/process_extenstion.rb +0 -33
- data/test/log/test_console_adapter.rb +0 -117
- data/test/plugin/data/2010/01/20100102-030405.log +0 -0
- data/test/plugin/data/2010/01/20100102-030406.log +0 -0
- data/test/plugin/data/2010/01/20100102.log +0 -0
- data/test/plugin/data/log/bar +0 -0
- data/test/plugin/data/log/foo/bar.log +0 -0
- data/test/plugin/data/log/foo/bar2 +0 -0
- data/test/plugin/data/log/test.log +0 -0
- data/test/plugin/data/log_numeric/01.log +0 -0
- data/test/plugin/data/log_numeric/02.log +0 -0
- data/test/plugin/data/log_numeric/12.log +0 -0
- data/test/plugin/data/log_numeric/14.log +0 -0
- data/test/plugin/data/sd_file/config +0 -11
- data/test/plugin/data/sd_file/config.json +0 -17
- data/test/plugin/data/sd_file/config.yaml +0 -11
- data/test/plugin/data/sd_file/config.yml +0 -11
- data/test/plugin/data/sd_file/invalid_config.yml +0 -7
- data/test/plugin/in_tail/test_fifo.rb +0 -121
- data/test/plugin/in_tail/test_io_handler.rb +0 -150
- data/test/plugin/in_tail/test_position_file.rb +0 -346
- data/test/plugin/out_forward/test_ack_handler.rb +0 -140
- data/test/plugin/out_forward/test_connection_manager.rb +0 -145
- data/test/plugin/out_forward/test_handshake_protocol.rb +0 -112
- data/test/plugin/out_forward/test_load_balancer.rb +0 -106
- data/test/plugin/out_forward/test_socket_cache.rb +0 -174
- data/test/plugin/test_bare_output.rb +0 -131
- data/test/plugin/test_base.rb +0 -247
- data/test/plugin/test_buf_file.rb +0 -1314
- data/test/plugin/test_buf_file_single.rb +0 -898
- data/test/plugin/test_buf_memory.rb +0 -42
- data/test/plugin/test_buffer.rb +0 -1493
- data/test/plugin/test_buffer_chunk.rb +0 -209
- data/test/plugin/test_buffer_file_chunk.rb +0 -871
- data/test/plugin/test_buffer_file_single_chunk.rb +0 -611
- data/test/plugin/test_buffer_memory_chunk.rb +0 -339
- data/test/plugin/test_compressable.rb +0 -87
- data/test/plugin/test_file_util.rb +0 -96
- data/test/plugin/test_filter.rb +0 -368
- data/test/plugin/test_filter_grep.rb +0 -697
- data/test/plugin/test_filter_parser.rb +0 -731
- data/test/plugin/test_filter_record_transformer.rb +0 -577
- data/test/plugin/test_filter_stdout.rb +0 -207
- data/test/plugin/test_formatter_csv.rb +0 -136
- data/test/plugin/test_formatter_hash.rb +0 -38
- data/test/plugin/test_formatter_json.rb +0 -61
- data/test/plugin/test_formatter_ltsv.rb +0 -70
- data/test/plugin/test_formatter_msgpack.rb +0 -28
- data/test/plugin/test_formatter_out_file.rb +0 -116
- data/test/plugin/test_formatter_single_value.rb +0 -44
- data/test/plugin/test_formatter_tsv.rb +0 -76
- data/test/plugin/test_in_debug_agent.rb +0 -49
- data/test/plugin/test_in_exec.rb +0 -261
- data/test/plugin/test_in_forward.rb +0 -1178
- data/test/plugin/test_in_gc_stat.rb +0 -62
- data/test/plugin/test_in_http.rb +0 -1124
- data/test/plugin/test_in_monitor_agent.rb +0 -922
- data/test/plugin/test_in_object_space.rb +0 -66
- data/test/plugin/test_in_sample.rb +0 -190
- data/test/plugin/test_in_syslog.rb +0 -505
- data/test/plugin/test_in_tail.rb +0 -3429
- data/test/plugin/test_in_tcp.rb +0 -328
- data/test/plugin/test_in_udp.rb +0 -296
- data/test/plugin/test_in_unix.rb +0 -181
- data/test/plugin/test_input.rb +0 -137
- data/test/plugin/test_metadata.rb +0 -89
- data/test/plugin/test_metrics.rb +0 -294
- data/test/plugin/test_metrics_local.rb +0 -96
- data/test/plugin/test_multi_output.rb +0 -204
- data/test/plugin/test_out_copy.rb +0 -308
- data/test/plugin/test_out_exec.rb +0 -312
- data/test/plugin/test_out_exec_filter.rb +0 -606
- data/test/plugin/test_out_file.rb +0 -1038
- data/test/plugin/test_out_forward.rb +0 -1349
- data/test/plugin/test_out_http.rb +0 -557
- data/test/plugin/test_out_null.rb +0 -105
- data/test/plugin/test_out_relabel.rb +0 -28
- data/test/plugin/test_out_roundrobin.rb +0 -146
- data/test/plugin/test_out_secondary_file.rb +0 -458
- data/test/plugin/test_out_stdout.rb +0 -205
- data/test/plugin/test_out_stream.rb +0 -103
- data/test/plugin/test_output.rb +0 -1334
- data/test/plugin/test_output_as_buffered.rb +0 -2024
- data/test/plugin/test_output_as_buffered_backup.rb +0 -363
- data/test/plugin/test_output_as_buffered_compress.rb +0 -179
- data/test/plugin/test_output_as_buffered_overflow.rb +0 -250
- data/test/plugin/test_output_as_buffered_retries.rb +0 -966
- data/test/plugin/test_output_as_buffered_secondary.rb +0 -882
- data/test/plugin/test_output_as_standard.rb +0 -374
- data/test/plugin/test_owned_by.rb +0 -34
- data/test/plugin/test_parser.rb +0 -399
- data/test/plugin/test_parser_apache.rb +0 -42
- data/test/plugin/test_parser_apache2.rb +0 -47
- data/test/plugin/test_parser_apache_error.rb +0 -45
- data/test/plugin/test_parser_csv.rb +0 -200
- data/test/plugin/test_parser_json.rb +0 -244
- data/test/plugin/test_parser_labeled_tsv.rb +0 -160
- data/test/plugin/test_parser_msgpack.rb +0 -127
- data/test/plugin/test_parser_multiline.rb +0 -111
- data/test/plugin/test_parser_nginx.rb +0 -88
- data/test/plugin/test_parser_none.rb +0 -52
- data/test/plugin/test_parser_regexp.rb +0 -284
- data/test/plugin/test_parser_syslog.rb +0 -650
- data/test/plugin/test_parser_tsv.rb +0 -122
- data/test/plugin/test_sd_file.rb +0 -228
- data/test/plugin/test_sd_srv.rb +0 -230
- data/test/plugin/test_storage.rb +0 -166
- data/test/plugin/test_storage_local.rb +0 -335
- data/test/plugin/test_string_util.rb +0 -26
- data/test/plugin_helper/data/cert/cert-key.pem +0 -27
- data/test/plugin_helper/data/cert/cert-with-CRLF.pem +0 -19
- data/test/plugin_helper/data/cert/cert-with-no-newline.pem +0 -19
- data/test/plugin_helper/data/cert/cert.pem +0 -19
- data/test/plugin_helper/data/cert/cert_chains/ca-cert-key.pem +0 -27
- data/test/plugin_helper/data/cert/cert_chains/ca-cert.pem +0 -20
- data/test/plugin_helper/data/cert/cert_chains/cert-key.pem +0 -27
- data/test/plugin_helper/data/cert/cert_chains/cert.pem +0 -40
- data/test/plugin_helper/data/cert/empty.pem +0 -0
- data/test/plugin_helper/data/cert/generate_cert.rb +0 -125
- data/test/plugin_helper/data/cert/with_ca/ca-cert-key-pass.pem +0 -30
- data/test/plugin_helper/data/cert/with_ca/ca-cert-key.pem +0 -27
- data/test/plugin_helper/data/cert/with_ca/ca-cert-pass.pem +0 -20
- data/test/plugin_helper/data/cert/with_ca/ca-cert.pem +0 -20
- data/test/plugin_helper/data/cert/with_ca/cert-key-pass.pem +0 -30
- data/test/plugin_helper/data/cert/with_ca/cert-key.pem +0 -27
- data/test/plugin_helper/data/cert/with_ca/cert-pass.pem +0 -21
- data/test/plugin_helper/data/cert/with_ca/cert.pem +0 -21
- data/test/plugin_helper/data/cert/without_ca/cert-key-pass.pem +0 -30
- data/test/plugin_helper/data/cert/without_ca/cert-key.pem +0 -27
- data/test/plugin_helper/data/cert/without_ca/cert-pass.pem +0 -20
- data/test/plugin_helper/data/cert/without_ca/cert.pem +0 -20
- data/test/plugin_helper/http_server/test_app.rb +0 -65
- data/test/plugin_helper/http_server/test_route.rb +0 -32
- data/test/plugin_helper/service_discovery/test_manager.rb +0 -93
- data/test/plugin_helper/service_discovery/test_round_robin_balancer.rb +0 -21
- data/test/plugin_helper/test_cert_option.rb +0 -25
- data/test/plugin_helper/test_child_process.rb +0 -862
- data/test/plugin_helper/test_compat_parameters.rb +0 -358
- data/test/plugin_helper/test_event_emitter.rb +0 -80
- data/test/plugin_helper/test_event_loop.rb +0 -52
- data/test/plugin_helper/test_extract.rb +0 -194
- data/test/plugin_helper/test_formatter.rb +0 -255
- data/test/plugin_helper/test_http_server_helper.rb +0 -372
- data/test/plugin_helper/test_inject.rb +0 -561
- data/test/plugin_helper/test_metrics.rb +0 -137
- data/test/plugin_helper/test_parser.rb +0 -264
- data/test/plugin_helper/test_record_accessor.rb +0 -238
- data/test/plugin_helper/test_retry_state.rb +0 -1006
- data/test/plugin_helper/test_server.rb +0 -1895
- data/test/plugin_helper/test_service_discovery.rb +0 -165
- data/test/plugin_helper/test_socket.rb +0 -146
- data/test/plugin_helper/test_storage.rb +0 -542
- data/test/plugin_helper/test_thread.rb +0 -164
- data/test/plugin_helper/test_timer.rb +0 -130
- data/test/scripts/exec_script.rb +0 -32
- data/test/scripts/fluent/plugin/formatter1/formatter_test1.rb +0 -7
- data/test/scripts/fluent/plugin/formatter2/formatter_test2.rb +0 -7
- data/test/scripts/fluent/plugin/formatter_known.rb +0 -8
- data/test/scripts/fluent/plugin/out_test.rb +0 -81
- data/test/scripts/fluent/plugin/out_test2.rb +0 -80
- data/test/scripts/fluent/plugin/parser_known.rb +0 -4
- data/test/test_capability.rb +0 -74
- data/test/test_clock.rb +0 -164
- data/test/test_config.rb +0 -369
- data/test/test_configdsl.rb +0 -148
- data/test/test_daemonizer.rb +0 -91
- data/test/test_engine.rb +0 -203
- data/test/test_event.rb +0 -531
- data/test/test_event_router.rb +0 -348
- data/test/test_event_time.rb +0 -199
- data/test/test_file_wrapper.rb +0 -53
- data/test/test_filter.rb +0 -121
- data/test/test_fluent_log_event_router.rb +0 -99
- data/test/test_formatter.rb +0 -369
- data/test/test_input.rb +0 -31
- data/test/test_log.rb +0 -1076
- data/test/test_match.rb +0 -148
- data/test/test_mixin.rb +0 -351
- data/test/test_msgpack_factory.rb +0 -50
- data/test/test_oj_options.rb +0 -55
- data/test/test_output.rb +0 -278
- data/test/test_plugin.rb +0 -251
- data/test/test_plugin_classes.rb +0 -370
- data/test/test_plugin_helper.rb +0 -81
- data/test/test_plugin_id.rb +0 -119
- data/test/test_process.rb +0 -14
- data/test/test_root_agent.rb +0 -951
- data/test/test_static_config_analysis.rb +0 -177
- data/test/test_supervisor.rb +0 -821
- data/test/test_test_drivers.rb +0 -136
- data/test/test_time_formatter.rb +0 -301
- data/test/test_time_parser.rb +0 -362
- data/test/test_tls.rb +0 -65
- data/test/test_unique_id.rb +0 -47
- data/test/test_variable_store.rb +0 -65
data/test/test_plugin_classes.rb
DELETED
@@ -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
|
data/test/test_plugin_helper.rb
DELETED
@@ -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
|
data/test/test_plugin_id.rb
DELETED
@@ -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
|