fluentd 0.12.40 → 1.6.2
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.
- checksums.yaml +5 -5
- data/.github/ISSUE_TEMPLATE/bug_report.md +39 -0
- data/.github/ISSUE_TEMPLATE/feature_request.md +23 -0
- data/.github/ISSUE_TEMPLATE.md +17 -0
- data/.github/PULL_REQUEST_TEMPLATE.md +13 -0
- data/.gitignore +5 -0
- data/.gitlab/cicd-template.yaml +10 -0
- data/.gitlab-ci.yml +147 -0
- data/.travis.yml +56 -20
- data/ADOPTERS.md +5 -0
- data/CHANGELOG.md +1369 -0
- data/CONTRIBUTING.md +16 -5
- data/GOVERNANCE.md +55 -0
- data/Gemfile +5 -0
- data/GithubWorkflow.md +78 -0
- data/LICENSE +202 -0
- data/MAINTAINERS.md +7 -0
- data/README.md +23 -11
- data/Rakefile +48 -2
- data/Vagrantfile +17 -0
- data/appveyor.yml +37 -0
- data/bin/fluent-binlog-reader +7 -0
- data/bin/fluent-ca-generate +6 -0
- data/bin/fluent-plugin-config-format +5 -0
- data/bin/fluent-plugin-generate +5 -0
- data/bin/fluentd +3 -0
- data/code-of-conduct.md +3 -0
- data/example/copy_roundrobin.conf +39 -0
- data/example/counter.conf +18 -0
- data/example/in_dummy_blocks.conf +17 -0
- data/example/in_dummy_with_compression.conf +23 -0
- data/example/in_forward.conf +7 -0
- data/example/in_forward_client.conf +37 -0
- data/example/in_forward_shared_key.conf +15 -0
- data/example/in_forward_tls.conf +14 -0
- data/example/in_forward_users.conf +24 -0
- data/example/in_forward_workers.conf +21 -0
- data/example/in_http.conf +3 -1
- data/example/in_out_forward.conf +17 -0
- data/example/logevents.conf +25 -0
- data/example/multi_filters.conf +61 -0
- data/example/out_exec_filter.conf +42 -0
- data/example/out_forward.conf +13 -13
- data/example/out_forward_buf_file.conf +23 -0
- data/example/out_forward_client.conf +109 -0
- data/example/out_forward_heartbeat_none.conf +16 -0
- data/example/out_forward_shared_key.conf +36 -0
- data/example/out_forward_tls.conf +18 -0
- data/example/out_forward_users.conf +65 -0
- data/example/out_null.conf +36 -0
- data/example/secondary_file.conf +42 -0
- data/example/suppress_config_dump.conf +7 -0
- data/example/worker_section.conf +36 -0
- data/fluent.conf +29 -0
- data/fluentd.gemspec +21 -11
- data/lib/fluent/agent.rb +67 -90
- data/lib/fluent/clock.rb +62 -0
- data/lib/fluent/command/binlog_reader.rb +244 -0
- data/lib/fluent/command/ca_generate.rb +181 -0
- data/lib/fluent/command/cat.rb +42 -18
- data/lib/fluent/command/debug.rb +12 -10
- data/lib/fluent/command/fluentd.rb +153 -5
- data/lib/fluent/command/plugin_config_formatter.rb +292 -0
- data/lib/fluent/command/plugin_generator.rb +324 -0
- data/lib/fluent/compat/call_super_mixin.rb +67 -0
- data/lib/fluent/compat/detach_process_mixin.rb +33 -0
- data/lib/fluent/compat/exec_util.rb +129 -0
- data/lib/fluent/compat/file_util.rb +54 -0
- data/lib/fluent/compat/filter.rb +68 -0
- data/lib/fluent/compat/formatter.rb +111 -0
- data/lib/fluent/compat/formatter_utils.rb +85 -0
- data/lib/fluent/compat/handle_tag_and_time_mixin.rb +62 -0
- data/lib/fluent/compat/handle_tag_name_mixin.rb +53 -0
- data/lib/fluent/compat/input.rb +49 -0
- data/lib/fluent/compat/output.rb +718 -0
- data/lib/fluent/compat/output_chain.rb +60 -0
- data/lib/fluent/compat/parser.rb +310 -0
- data/lib/fluent/compat/parser_utils.rb +40 -0
- data/lib/fluent/compat/propagate_default.rb +62 -0
- data/lib/fluent/compat/record_filter_mixin.rb +34 -0
- data/lib/fluent/compat/set_tag_key_mixin.rb +50 -0
- data/lib/fluent/compat/set_time_key_mixin.rb +69 -0
- data/lib/fluent/compat/socket_util.rb +165 -0
- data/lib/fluent/compat/string_util.rb +34 -0
- data/lib/fluent/compat/structured_format_mixin.rb +26 -0
- data/lib/fluent/compat/type_converter.rb +90 -0
- data/lib/fluent/config/configure_proxy.rb +210 -62
- data/lib/fluent/config/dsl.rb +12 -5
- data/lib/fluent/config/element.rb +107 -9
- data/lib/fluent/config/literal_parser.rb +9 -3
- data/lib/fluent/config/parser.rb +4 -4
- data/lib/fluent/config/section.rb +51 -14
- data/lib/fluent/config/types.rb +28 -13
- data/lib/fluent/config/v1_parser.rb +3 -5
- data/lib/fluent/config.rb +23 -20
- data/lib/fluent/configurable.rb +79 -21
- data/lib/fluent/counter/base_socket.rb +46 -0
- data/lib/fluent/counter/client.rb +297 -0
- data/lib/fluent/counter/error.rb +86 -0
- data/lib/fluent/counter/mutex_hash.rb +163 -0
- data/lib/fluent/counter/server.rb +273 -0
- data/lib/fluent/counter/store.rb +205 -0
- data/lib/fluent/counter/validator.rb +145 -0
- data/lib/fluent/counter.rb +23 -0
- data/lib/fluent/daemon.rb +15 -0
- data/lib/fluent/engine.rb +102 -65
- data/lib/fluent/env.rb +7 -3
- data/lib/fluent/error.rb +30 -0
- data/lib/fluent/event.rb +197 -21
- data/lib/fluent/event_router.rb +93 -10
- data/lib/fluent/filter.rb +2 -50
- data/lib/fluent/formatter.rb +4 -293
- data/lib/fluent/input.rb +2 -32
- data/lib/fluent/label.rb +10 -2
- data/lib/fluent/load.rb +3 -3
- data/lib/fluent/log.rb +348 -81
- data/lib/fluent/match.rb +37 -36
- data/lib/fluent/mixin.rb +12 -176
- data/lib/fluent/msgpack_factory.rb +62 -0
- data/lib/fluent/output.rb +10 -612
- data/lib/fluent/output_chain.rb +23 -0
- data/lib/fluent/parser.rb +4 -800
- data/lib/fluent/plugin/bare_output.rb +63 -0
- data/lib/fluent/plugin/base.rb +192 -0
- data/lib/fluent/plugin/buf_file.rb +128 -174
- data/lib/fluent/plugin/buf_memory.rb +9 -92
- data/lib/fluent/plugin/buffer/chunk.rb +221 -0
- data/lib/fluent/plugin/buffer/file_chunk.rb +383 -0
- data/lib/fluent/plugin/buffer/memory_chunk.rb +90 -0
- data/lib/fluent/plugin/buffer.rb +779 -0
- data/lib/fluent/plugin/compressable.rb +92 -0
- data/lib/fluent/plugin/exec_util.rb +3 -108
- data/lib/fluent/plugin/file_util.rb +4 -34
- data/lib/fluent/plugin/file_wrapper.rb +120 -0
- data/lib/fluent/plugin/filter.rb +93 -0
- data/lib/fluent/plugin/filter_grep.rb +117 -34
- data/lib/fluent/plugin/filter_parser.rb +85 -62
- data/lib/fluent/plugin/filter_record_transformer.rb +27 -39
- data/lib/fluent/plugin/filter_stdout.rb +15 -12
- data/lib/fluent/plugin/formatter.rb +50 -0
- data/lib/fluent/plugin/formatter_csv.rb +52 -0
- data/lib/fluent/plugin/formatter_hash.rb +33 -0
- data/lib/fluent/plugin/formatter_json.rb +55 -0
- data/lib/fluent/plugin/formatter_ltsv.rb +42 -0
- data/lib/fluent/plugin/formatter_msgpack.rb +33 -0
- data/lib/fluent/plugin/formatter_out_file.rb +51 -0
- data/lib/fluent/plugin/formatter_single_value.rb +34 -0
- data/lib/fluent/plugin/formatter_stdout.rb +76 -0
- data/lib/fluent/plugin/formatter_tsv.rb +38 -0
- data/lib/fluent/plugin/in_debug_agent.rb +17 -6
- data/lib/fluent/plugin/in_dummy.rb +47 -20
- data/lib/fluent/plugin/in_exec.rb +55 -123
- data/lib/fluent/plugin/in_forward.rb +299 -216
- data/lib/fluent/plugin/in_gc_stat.rb +14 -36
- data/lib/fluent/plugin/in_http.rb +204 -91
- data/lib/fluent/plugin/in_monitor_agent.rb +186 -258
- data/lib/fluent/plugin/in_object_space.rb +13 -41
- data/lib/fluent/plugin/in_syslog.rb +112 -134
- data/lib/fluent/plugin/in_tail.rb +408 -745
- data/lib/fluent/plugin/in_tcp.rb +66 -9
- data/lib/fluent/plugin/in_udp.rb +60 -11
- data/lib/fluent/plugin/{in_stream.rb → in_unix.rb} +8 -4
- data/lib/fluent/plugin/input.rb +37 -0
- data/lib/fluent/plugin/multi_output.rb +158 -0
- data/lib/fluent/plugin/out_copy.rb +23 -35
- data/lib/fluent/plugin/out_exec.rb +67 -70
- data/lib/fluent/plugin/out_exec_filter.rb +204 -271
- data/lib/fluent/plugin/out_file.rb +267 -73
- data/lib/fluent/plugin/out_forward.rb +854 -325
- data/lib/fluent/plugin/out_null.rb +42 -9
- data/lib/fluent/plugin/out_relabel.rb +9 -5
- data/lib/fluent/plugin/out_roundrobin.rb +18 -37
- data/lib/fluent/plugin/out_secondary_file.rb +133 -0
- data/lib/fluent/plugin/out_stdout.rb +43 -10
- data/lib/fluent/plugin/out_stream.rb +7 -2
- data/lib/fluent/plugin/output.rb +1498 -0
- data/lib/fluent/plugin/owned_by_mixin.rb +42 -0
- data/lib/fluent/plugin/parser.rb +191 -0
- data/lib/fluent/plugin/parser_apache.rb +28 -0
- data/lib/fluent/plugin/parser_apache2.rb +88 -0
- data/lib/fluent/plugin/parser_apache_error.rb +26 -0
- data/lib/fluent/plugin/parser_csv.rb +39 -0
- data/lib/fluent/plugin/parser_json.rb +94 -0
- data/lib/fluent/plugin/parser_ltsv.rb +49 -0
- data/lib/fluent/plugin/parser_msgpack.rb +50 -0
- data/lib/fluent/plugin/parser_multiline.rb +106 -0
- data/lib/fluent/plugin/parser_nginx.rb +28 -0
- data/lib/fluent/plugin/parser_none.rb +36 -0
- data/lib/fluent/plugin/parser_regexp.rb +68 -0
- data/lib/fluent/plugin/parser_syslog.rb +142 -0
- data/lib/fluent/plugin/parser_tsv.rb +42 -0
- data/lib/fluent/plugin/socket_util.rb +3 -143
- data/lib/fluent/plugin/storage.rb +84 -0
- data/lib/fluent/plugin/storage_local.rb +164 -0
- data/lib/fluent/plugin/string_util.rb +3 -15
- data/lib/fluent/plugin.rb +122 -121
- data/lib/fluent/plugin_helper/cert_option.rb +178 -0
- data/lib/fluent/plugin_helper/child_process.rb +364 -0
- data/lib/fluent/plugin_helper/compat_parameters.rb +333 -0
- data/lib/fluent/plugin_helper/counter.rb +51 -0
- data/lib/fluent/plugin_helper/event_emitter.rb +93 -0
- data/lib/fluent/plugin_helper/event_loop.rb +170 -0
- data/lib/fluent/plugin_helper/extract.rb +104 -0
- data/lib/fluent/plugin_helper/formatter.rb +147 -0
- data/lib/fluent/plugin_helper/http_server/app.rb +79 -0
- data/lib/fluent/plugin_helper/http_server/compat/server.rb +81 -0
- data/lib/fluent/plugin_helper/http_server/compat/webrick_handler.rb +58 -0
- data/lib/fluent/plugin_helper/http_server/methods.rb +35 -0
- data/lib/fluent/plugin_helper/http_server/request.rb +42 -0
- data/lib/fluent/plugin_helper/http_server/router.rb +54 -0
- data/lib/fluent/plugin_helper/http_server/server.rb +87 -0
- data/lib/fluent/plugin_helper/http_server.rb +76 -0
- data/lib/fluent/plugin_helper/inject.rb +151 -0
- data/lib/fluent/plugin_helper/parser.rb +147 -0
- data/lib/fluent/plugin_helper/record_accessor.rb +210 -0
- data/lib/fluent/plugin_helper/retry_state.rb +205 -0
- data/lib/fluent/plugin_helper/server.rb +807 -0
- data/lib/fluent/plugin_helper/socket.rb +250 -0
- data/lib/fluent/plugin_helper/socket_option.rb +80 -0
- data/lib/fluent/plugin_helper/storage.rb +349 -0
- data/lib/fluent/plugin_helper/thread.rb +179 -0
- data/lib/fluent/plugin_helper/timer.rb +92 -0
- data/lib/fluent/plugin_helper.rb +73 -0
- data/lib/fluent/plugin_id.rb +80 -0
- data/lib/fluent/process.rb +3 -489
- data/lib/fluent/registry.rb +52 -10
- data/lib/fluent/root_agent.rb +204 -42
- data/lib/fluent/supervisor.rb +597 -359
- data/lib/fluent/system_config.rb +131 -42
- data/lib/fluent/test/base.rb +6 -54
- data/lib/fluent/test/driver/base.rb +224 -0
- data/lib/fluent/test/driver/base_owned.rb +70 -0
- data/lib/fluent/test/driver/base_owner.rb +135 -0
- data/lib/fluent/test/driver/event_feeder.rb +98 -0
- data/lib/fluent/test/driver/filter.rb +57 -0
- data/lib/fluent/test/driver/formatter.rb +30 -0
- data/lib/fluent/test/driver/input.rb +31 -0
- data/lib/fluent/test/driver/multi_output.rb +53 -0
- data/lib/fluent/test/driver/output.rb +102 -0
- data/lib/fluent/test/driver/parser.rb +30 -0
- data/lib/fluent/test/driver/test_event_router.rb +45 -0
- data/lib/fluent/test/filter_test.rb +0 -1
- data/lib/fluent/test/formatter_test.rb +4 -1
- data/lib/fluent/test/helpers.rb +58 -10
- data/lib/fluent/test/input_test.rb +27 -19
- data/lib/fluent/test/log.rb +79 -0
- data/lib/fluent/test/output_test.rb +28 -39
- data/lib/fluent/test/parser_test.rb +3 -1
- data/lib/fluent/test/startup_shutdown.rb +46 -0
- data/lib/fluent/test.rb +33 -1
- data/lib/fluent/time.rb +450 -1
- data/lib/fluent/timezone.rb +27 -3
- data/lib/fluent/{status.rb → unique_id.rb} +15 -24
- data/lib/fluent/version.rb +1 -1
- data/lib/fluent/winsvc.rb +85 -0
- data/templates/new_gem/Gemfile +3 -0
- data/templates/new_gem/README.md.erb +43 -0
- data/templates/new_gem/Rakefile +13 -0
- data/templates/new_gem/fluent-plugin.gemspec.erb +27 -0
- data/templates/new_gem/lib/fluent/plugin/filter.rb.erb +14 -0
- data/templates/new_gem/lib/fluent/plugin/formatter.rb.erb +14 -0
- data/templates/new_gem/lib/fluent/plugin/input.rb.erb +11 -0
- data/templates/new_gem/lib/fluent/plugin/output.rb.erb +11 -0
- data/templates/new_gem/lib/fluent/plugin/parser.rb.erb +15 -0
- data/templates/new_gem/test/helper.rb.erb +8 -0
- data/templates/new_gem/test/plugin/test_filter.rb.erb +18 -0
- data/templates/new_gem/test/plugin/test_formatter.rb.erb +18 -0
- data/templates/new_gem/test/plugin/test_input.rb.erb +18 -0
- data/templates/new_gem/test/plugin/test_output.rb.erb +18 -0
- data/templates/new_gem/test/plugin/test_parser.rb.erb +18 -0
- data/templates/plugin_config_formatter/param.md-compact.erb +25 -0
- data/templates/plugin_config_formatter/param.md.erb +34 -0
- data/templates/plugin_config_formatter/section.md.erb +12 -0
- data/test/command/test_binlog_reader.rb +346 -0
- data/test/command/test_ca_generate.rb +70 -0
- data/test/command/test_fluentd.rb +901 -0
- data/test/command/test_plugin_config_formatter.rb +276 -0
- data/test/command/test_plugin_generator.rb +92 -0
- data/test/compat/test_calls_super.rb +166 -0
- data/test/compat/test_parser.rb +92 -0
- data/test/config/test_config_parser.rb +126 -2
- data/test/config/test_configurable.rb +946 -187
- data/test/config/test_configure_proxy.rb +424 -74
- data/test/config/test_dsl.rb +11 -11
- data/test/config/test_element.rb +500 -0
- data/test/config/test_literal_parser.rb +8 -0
- data/test/config/test_plugin_configuration.rb +56 -0
- data/test/config/test_section.rb +79 -7
- data/test/config/test_system_config.rb +122 -35
- data/test/config/test_types.rb +38 -0
- data/test/counter/test_client.rb +559 -0
- data/test/counter/test_error.rb +44 -0
- data/test/counter/test_mutex_hash.rb +179 -0
- data/test/counter/test_server.rb +589 -0
- data/test/counter/test_store.rb +258 -0
- data/test/counter/test_validator.rb +137 -0
- data/test/helper.rb +89 -6
- data/test/helpers/fuzzy_assert.rb +89 -0
- data/test/plugin/test_bare_output.rb +118 -0
- data/test/plugin/test_base.rb +115 -0
- data/test/plugin/test_buf_file.rb +823 -460
- data/test/plugin/test_buf_memory.rb +32 -194
- data/test/plugin/test_buffer.rb +1233 -0
- data/test/plugin/test_buffer_chunk.rb +198 -0
- data/test/plugin/test_buffer_file_chunk.rb +844 -0
- data/test/plugin/test_buffer_memory_chunk.rb +338 -0
- data/test/plugin/test_compressable.rb +84 -0
- data/test/plugin/test_filter.rb +357 -0
- data/test/plugin/test_filter_grep.rb +540 -29
- data/test/plugin/test_filter_parser.rb +439 -452
- data/test/plugin/test_filter_record_transformer.rb +123 -166
- data/test/plugin/test_filter_stdout.rb +160 -72
- data/test/plugin/test_formatter_csv.rb +111 -0
- data/test/plugin/test_formatter_hash.rb +35 -0
- data/test/plugin/test_formatter_json.rb +51 -0
- data/test/plugin/test_formatter_ltsv.rb +62 -0
- data/test/plugin/test_formatter_msgpack.rb +28 -0
- data/test/plugin/test_formatter_out_file.rb +95 -0
- data/test/plugin/test_formatter_single_value.rb +38 -0
- data/test/plugin/test_formatter_tsv.rb +68 -0
- data/test/plugin/test_in_debug_agent.rb +24 -1
- data/test/plugin/test_in_dummy.rb +111 -18
- data/test/plugin/test_in_exec.rb +200 -113
- data/test/plugin/test_in_forward.rb +990 -387
- data/test/plugin/test_in_gc_stat.rb +10 -8
- data/test/plugin/test_in_http.rb +600 -224
- data/test/plugin/test_in_monitor_agent.rb +690 -0
- data/test/plugin/test_in_object_space.rb +24 -8
- data/test/plugin/test_in_syslog.rb +154 -215
- data/test/plugin/test_in_tail.rb +1006 -707
- data/test/plugin/test_in_tcp.rb +125 -48
- data/test/plugin/test_in_udp.rb +204 -63
- data/test/plugin/{test_in_stream.rb → test_in_unix.rb} +14 -13
- data/test/plugin/test_input.rb +126 -0
- data/test/plugin/test_metadata.rb +89 -0
- data/test/plugin/test_multi_output.rb +180 -0
- data/test/plugin/test_out_copy.rb +117 -112
- data/test/plugin/test_out_exec.rb +258 -53
- data/test/plugin/test_out_exec_filter.rb +538 -115
- data/test/plugin/test_out_file.rb +865 -178
- data/test/plugin/test_out_forward.rb +998 -210
- data/test/plugin/test_out_null.rb +105 -0
- data/test/plugin/test_out_relabel.rb +28 -0
- data/test/plugin/test_out_roundrobin.rb +36 -29
- data/test/plugin/test_out_secondary_file.rb +458 -0
- data/test/plugin/test_out_stdout.rb +135 -37
- data/test/plugin/test_out_stream.rb +18 -0
- data/test/plugin/test_output.rb +984 -0
- data/test/plugin/test_output_as_buffered.rb +2021 -0
- data/test/plugin/test_output_as_buffered_backup.rb +312 -0
- data/test/plugin/test_output_as_buffered_compress.rb +165 -0
- data/test/plugin/test_output_as_buffered_overflow.rb +250 -0
- data/test/plugin/test_output_as_buffered_retries.rb +911 -0
- data/test/plugin/test_output_as_buffered_secondary.rb +874 -0
- data/test/plugin/test_output_as_standard.rb +374 -0
- data/test/plugin/test_owned_by.rb +35 -0
- data/test/plugin/test_parser.rb +359 -0
- data/test/plugin/test_parser_apache.rb +42 -0
- data/test/plugin/test_parser_apache2.rb +47 -0
- data/test/plugin/test_parser_apache_error.rb +45 -0
- data/test/plugin/test_parser_csv.rb +103 -0
- data/test/plugin/test_parser_json.rb +138 -0
- data/test/plugin/test_parser_labeled_tsv.rb +145 -0
- data/test/plugin/test_parser_multiline.rb +100 -0
- data/test/plugin/test_parser_nginx.rb +88 -0
- data/test/plugin/test_parser_none.rb +52 -0
- data/test/plugin/test_parser_regexp.rb +289 -0
- data/test/plugin/test_parser_syslog.rb +441 -0
- data/test/plugin/test_parser_tsv.rb +122 -0
- data/test/plugin/test_storage.rb +167 -0
- data/test/plugin/test_storage_local.rb +335 -0
- data/test/plugin_helper/data/cert/cert-key.pem +27 -0
- data/test/plugin_helper/data/cert/cert-with-no-newline.pem +19 -0
- data/test/plugin_helper/data/cert/cert.pem +19 -0
- data/test/plugin_helper/http_server/test_app.rb +65 -0
- data/test/plugin_helper/http_server/test_route.rb +32 -0
- data/test/plugin_helper/test_cert_option.rb +16 -0
- data/test/plugin_helper/test_child_process.rb +794 -0
- data/test/plugin_helper/test_compat_parameters.rb +353 -0
- data/test/plugin_helper/test_event_emitter.rb +51 -0
- data/test/plugin_helper/test_event_loop.rb +52 -0
- data/test/plugin_helper/test_extract.rb +194 -0
- data/test/plugin_helper/test_formatter.rb +255 -0
- data/test/plugin_helper/test_http_server_helper.rb +205 -0
- data/test/plugin_helper/test_inject.rb +519 -0
- data/test/plugin_helper/test_parser.rb +264 -0
- data/test/plugin_helper/test_record_accessor.rb +197 -0
- data/test/plugin_helper/test_retry_state.rb +442 -0
- data/test/plugin_helper/test_server.rb +1714 -0
- data/test/plugin_helper/test_storage.rb +542 -0
- data/test/plugin_helper/test_thread.rb +164 -0
- data/test/plugin_helper/test_timer.rb +132 -0
- data/test/scripts/exec_script.rb +0 -6
- data/test/scripts/fluent/plugin/formatter1/formatter_test1.rb +7 -0
- data/test/scripts/fluent/plugin/formatter2/formatter_test2.rb +7 -0
- data/test/scripts/fluent/plugin/out_test.rb +23 -15
- data/test/scripts/fluent/plugin/out_test2.rb +80 -0
- data/test/test_clock.rb +164 -0
- data/test/test_config.rb +16 -7
- data/test/test_configdsl.rb +2 -2
- data/test/test_event.rb +360 -13
- data/test/test_event_router.rb +108 -11
- data/test/test_event_time.rb +199 -0
- data/test/test_filter.rb +48 -6
- data/test/test_formatter.rb +11 -391
- data/test/test_input.rb +1 -1
- data/test/test_log.rb +591 -31
- data/test/test_mixin.rb +1 -1
- data/test/test_output.rb +121 -185
- data/test/test_plugin.rb +251 -0
- data/test/test_plugin_classes.rb +177 -10
- data/test/test_plugin_helper.rb +81 -0
- data/test/test_plugin_id.rb +101 -0
- data/test/test_process.rb +8 -42
- data/test/test_root_agent.rb +766 -21
- data/test/test_supervisor.rb +481 -0
- data/test/test_test_drivers.rb +135 -0
- data/test/test_time_formatter.rb +282 -0
- data/test/test_time_parser.rb +231 -0
- data/test/test_unique_id.rb +47 -0
- metadata +454 -60
- data/COPYING +0 -14
- data/ChangeLog +0 -666
- data/lib/fluent/buffer.rb +0 -365
- data/lib/fluent/plugin/in_status.rb +0 -76
- data/test/plugin/test_in_status.rb +0 -38
- data/test/test_buffer.rb +0 -624
- data/test/test_parser.rb +0 -1305
data/test/test_formatter.rb
CHANGED
@@ -5,39 +5,12 @@ require 'fluent/formatter'
|
|
5
5
|
module FormatterTest
|
6
6
|
include Fluent
|
7
7
|
|
8
|
-
def time2str(time, localtime = false, format = nil)
|
9
|
-
if format
|
10
|
-
if localtime
|
11
|
-
Time.at(time).strftime(format)
|
12
|
-
else
|
13
|
-
Time.at(time).utc.strftime(format)
|
14
|
-
end
|
15
|
-
else
|
16
|
-
if localtime
|
17
|
-
Time.at(time).iso8601
|
18
|
-
else
|
19
|
-
Time.at(time).utc.iso8601
|
20
|
-
end
|
21
|
-
end
|
22
|
-
end
|
23
|
-
|
24
8
|
def tag
|
25
9
|
'tag'
|
26
10
|
end
|
27
11
|
|
28
12
|
def record
|
29
|
-
{'message' => 'awesome'}
|
30
|
-
end
|
31
|
-
|
32
|
-
def symbolic_record
|
33
|
-
{:message => :awesome}
|
34
|
-
end
|
35
|
-
|
36
|
-
def with_timezone(tz)
|
37
|
-
oldtz, ENV['TZ'] = ENV['TZ'], tz
|
38
|
-
yield
|
39
|
-
ensure
|
40
|
-
ENV['TZ'] = oldtz
|
13
|
+
{'message' => 'awesome', 'greeting' => 'hello'}
|
41
14
|
end
|
42
15
|
|
43
16
|
class BaseFormatterTest < ::Test::Unit::TestCase
|
@@ -56,7 +29,7 @@ module FormatterTest
|
|
56
29
|
include FormatterTest
|
57
30
|
|
58
31
|
def create_driver(conf={})
|
59
|
-
|
32
|
+
Fluent::Test::FormatterTestDriver.new(Formatter).configure(conf)
|
60
33
|
end
|
61
34
|
|
62
35
|
def test_call
|
@@ -141,52 +114,6 @@ module FormatterTest
|
|
141
114
|
|
142
115
|
assert_equal("#{Yajl.dump(record)}\n", formatted)
|
143
116
|
end
|
144
|
-
|
145
|
-
data('oj' => 'oj', 'yajl' => 'yajl')
|
146
|
-
def test_format_without_nl(data)
|
147
|
-
@formatter.configure('json_parser' => data, 'add_newline' => false)
|
148
|
-
formatted = @formatter.format(tag, @time, record)
|
149
|
-
|
150
|
-
assert_equal(Yajl.dump(record), formatted)
|
151
|
-
end
|
152
|
-
|
153
|
-
data('oj' => 'oj', 'yajl' => 'yajl')
|
154
|
-
def test_format_with_symbolic_record(data)
|
155
|
-
@formatter.configure('json_parser' => data)
|
156
|
-
formatted = @formatter.format(tag, @time, symbolic_record)
|
157
|
-
|
158
|
-
assert_equal("#{JSON.generate(record)}\n", formatted)
|
159
|
-
end
|
160
|
-
|
161
|
-
data('oj' => 'oj', 'yajl' => 'yajl')
|
162
|
-
def test_format_with_include_tag(data)
|
163
|
-
@formatter.configure('include_tag_key' => 'true', 'tag_key' => 'foo', 'json_parser' => data)
|
164
|
-
formatted = @formatter.format(tag, @time, record.dup)
|
165
|
-
|
166
|
-
r = record
|
167
|
-
r['foo'] = tag
|
168
|
-
assert_equal("#{Yajl.dump(r)}\n", formatted)
|
169
|
-
end
|
170
|
-
|
171
|
-
data('oj' => 'oj', 'yajl' => 'yajl')
|
172
|
-
def test_format_with_include_time(data)
|
173
|
-
@formatter.configure('include_time_key' => 'true', 'localtime' => '', 'json_parser' => data)
|
174
|
-
formatted = @formatter.format(tag, @time, record.dup)
|
175
|
-
|
176
|
-
r = record
|
177
|
-
r['time'] = time2str(@time, true)
|
178
|
-
assert_equal("#{Yajl.dump(r)}\n", formatted)
|
179
|
-
end
|
180
|
-
|
181
|
-
data('oj' => 'oj', 'yajl' => 'yajl')
|
182
|
-
def test_format_with_include_time_as_number(data)
|
183
|
-
@formatter.configure('include_time_key' => 'true', 'time_as_epoch' => 'true', 'time_key' => 'epoch', 'json_parser' => data)
|
184
|
-
formatted = @formatter.format(tag, @time, record.dup)
|
185
|
-
|
186
|
-
r = record
|
187
|
-
r['epoch'] = @time
|
188
|
-
assert_equal("#{Yajl.dump(r)}\n", formatted)
|
189
|
-
end
|
190
117
|
end
|
191
118
|
|
192
119
|
class MessagePackFormatterTest < ::Test::Unit::TestCase
|
@@ -203,33 +130,6 @@ module FormatterTest
|
|
203
130
|
|
204
131
|
assert_equal(record.to_msgpack, formatted)
|
205
132
|
end
|
206
|
-
|
207
|
-
def test_format_with_include_tag
|
208
|
-
@formatter.configure('include_tag_key' => 'true', 'tag_key' => 'foo')
|
209
|
-
formatted = @formatter.format(tag, @time, record.dup)
|
210
|
-
|
211
|
-
r = record
|
212
|
-
r['foo'] = tag
|
213
|
-
assert_equal(r.to_msgpack, formatted)
|
214
|
-
end
|
215
|
-
|
216
|
-
def test_format_with_include_time
|
217
|
-
@formatter.configure('include_time_key' => 'true', 'localtime' => '')
|
218
|
-
formatted = @formatter.format(tag, @time, record.dup)
|
219
|
-
|
220
|
-
r = record
|
221
|
-
r['time'] = time2str(@time, true)
|
222
|
-
assert_equal(r.to_msgpack, formatted)
|
223
|
-
end
|
224
|
-
|
225
|
-
def test_format_with_include_time_as_number
|
226
|
-
@formatter.configure('include_time_key' => 'true', 'time_as_epoch' => 'true', 'time_key' => 'epoch')
|
227
|
-
formatted = @formatter.format(tag, @time, record.dup)
|
228
|
-
|
229
|
-
r = record
|
230
|
-
r['epoch'] = @time
|
231
|
-
assert_equal(r.to_msgpack, formatted)
|
232
|
-
end
|
233
133
|
end
|
234
134
|
|
235
135
|
class LabeledTSVFormatterTest < ::Test::Unit::TestCase
|
@@ -257,39 +157,17 @@ module FormatterTest
|
|
257
157
|
@formatter.configure({})
|
258
158
|
formatted = @formatter.format(tag, @time, record)
|
259
159
|
|
260
|
-
assert_equal("message:awesome\n", formatted)
|
261
|
-
end
|
262
|
-
|
263
|
-
def test_format_without_nl
|
264
|
-
@formatter.configure('add_newline' => false)
|
265
|
-
formatted = @formatter.format(tag, @time, record)
|
266
|
-
|
267
|
-
assert_equal("message:awesome", formatted)
|
268
|
-
end
|
269
|
-
|
270
|
-
def test_format_with_tag
|
271
|
-
@formatter.configure('include_tag_key' => 'true')
|
272
|
-
formatted = @formatter.format(tag, @time, record)
|
273
|
-
|
274
|
-
assert_equal("message:awesome\ttag:tag\n", formatted)
|
275
|
-
end
|
276
|
-
|
277
|
-
def test_format_with_time
|
278
|
-
@formatter.configure('include_time_key' => 'true', 'time_format' => '%Y')
|
279
|
-
formatted = @formatter.format(tag, @time, record)
|
280
|
-
|
281
|
-
assert_equal("message:awesome\ttime:#{Time.now.year}\n", formatted)
|
160
|
+
assert_equal("message:awesome\tgreeting:hello\n", formatted)
|
282
161
|
end
|
283
162
|
|
284
163
|
def test_format_with_customized_delimiters
|
285
164
|
@formatter.configure(
|
286
|
-
'include_tag_key' => 'true',
|
287
165
|
'delimiter' => ',',
|
288
166
|
'label_delimiter' => '=',
|
289
167
|
)
|
290
168
|
formatted = @formatter.format(tag, @time, record)
|
291
169
|
|
292
|
-
assert_equal("message=awesome,
|
170
|
+
assert_equal("message=awesome,greeting=hello\n", formatted)
|
293
171
|
end
|
294
172
|
end
|
295
173
|
|
@@ -300,29 +178,22 @@ module FormatterTest
|
|
300
178
|
@formatter = TextFormatter::CsvFormatter.new
|
301
179
|
@time = Engine.now
|
302
180
|
end
|
303
|
-
|
181
|
+
|
304
182
|
def test_config_params
|
305
183
|
assert_equal ',', @formatter.delimiter
|
306
184
|
assert_equal true, @formatter.force_quotes
|
307
185
|
assert_nil @formatter.fields
|
308
186
|
end
|
309
187
|
|
310
|
-
data('empty array' => [],
|
311
|
-
'array including empty string' => ['', ''])
|
312
|
-
def test_empty_fields(param)
|
313
|
-
assert_raise ConfigError do
|
314
|
-
@formatter.configure('fields' => param)
|
315
|
-
end
|
316
|
-
end
|
317
|
-
|
318
188
|
data(
|
319
189
|
'tab_char' => ["\t", '\t'],
|
320
190
|
'tab_string' => ["\t", 'TAB'],
|
321
191
|
'pipe' => ['|', '|'])
|
322
192
|
def test_config_params_with_customized_delimiters(data)
|
323
193
|
expected, target = data
|
324
|
-
@formatter.configure('
|
194
|
+
@formatter.configure('delimiter' => target, 'fields' => 'a,b,c')
|
325
195
|
assert_equal expected, @formatter.delimiter
|
196
|
+
assert_equal ['a', 'b', 'c'], @formatter.fields
|
326
197
|
end
|
327
198
|
|
328
199
|
def test_format
|
@@ -334,41 +205,6 @@ module FormatterTest
|
|
334
205
|
assert_equal("\"awesome\",\"awesome2\"\n", formatted)
|
335
206
|
end
|
336
207
|
|
337
|
-
def test_format_without_nl
|
338
|
-
@formatter.configure('fields' => 'message,message2', 'add_newline' => false)
|
339
|
-
formatted = @formatter.format(tag, @time, {
|
340
|
-
'message' => 'awesome',
|
341
|
-
'message2' => 'awesome2'
|
342
|
-
})
|
343
|
-
assert_equal("\"awesome\",\"awesome2\"", formatted)
|
344
|
-
end
|
345
|
-
|
346
|
-
def test_format_with_tag
|
347
|
-
@formatter.configure(
|
348
|
-
'fields' => 'tag,message,message2',
|
349
|
-
'include_tag_key' => 'true'
|
350
|
-
)
|
351
|
-
formatted = @formatter.format(tag, @time, {
|
352
|
-
'message' => 'awesome',
|
353
|
-
'message2' => 'awesome2'
|
354
|
-
})
|
355
|
-
assert_equal("\"tag\",\"awesome\",\"awesome2\"\n", formatted)
|
356
|
-
end
|
357
|
-
|
358
|
-
def test_format_with_time
|
359
|
-
@formatter.configure(
|
360
|
-
'fields' => 'time,message,message2',
|
361
|
-
'include_time_key' => 'true',
|
362
|
-
'time_format' => '%Y'
|
363
|
-
)
|
364
|
-
formatted = @formatter.format(tag, @time, {
|
365
|
-
'message' => 'awesome',
|
366
|
-
'message2' => 'awesome2'
|
367
|
-
})
|
368
|
-
assert_equal("\"#{Time.now.year}\",\"awesome\",\"awesome2\"\n",
|
369
|
-
formatted)
|
370
|
-
end
|
371
|
-
|
372
208
|
def test_format_with_customized_delimiters
|
373
209
|
@formatter.configure(
|
374
210
|
'fields' => 'message,message2',
|
@@ -434,13 +270,13 @@ module FormatterTest
|
|
434
270
|
end
|
435
271
|
|
436
272
|
def test_format
|
437
|
-
formatter =
|
273
|
+
formatter = Fluent::Plugin.new_formatter('single_value')
|
438
274
|
formatted = formatter.format('tag', Engine.now, {'message' => 'awesome'})
|
439
275
|
assert_equal("awesome\n", formatted)
|
440
276
|
end
|
441
277
|
|
442
278
|
def test_format_without_newline
|
443
|
-
formatter =
|
279
|
+
formatter = Fluent::Plugin.new_formatter('single_value')
|
444
280
|
formatter.configure('add_newline' => 'false')
|
445
281
|
formatted = formatter.format('tag', Engine.now, {'message' => 'awesome'})
|
446
282
|
assert_equal("awesome", formatted)
|
@@ -460,7 +296,7 @@ module FormatterTest
|
|
460
296
|
|
461
297
|
def test_unknown_format
|
462
298
|
assert_raise ConfigError do
|
463
|
-
|
299
|
+
Fluent::Plugin.new_formatter('unknown')
|
464
300
|
end
|
465
301
|
end
|
466
302
|
|
@@ -468,225 +304,9 @@ module FormatterTest
|
|
468
304
|
def test_find_formatter(data)
|
469
305
|
$LOAD_PATH.unshift(File.join(File.expand_path(File.dirname(__FILE__)), 'scripts'))
|
470
306
|
assert_nothing_raised ConfigError do
|
471
|
-
|
307
|
+
Fluent::Plugin.new_formatter(data)
|
472
308
|
end
|
473
309
|
$LOAD_PATH.shift
|
474
310
|
end
|
475
311
|
end
|
476
|
-
|
477
|
-
class TimeFormatterTest < ::Test::Unit::TestCase
|
478
|
-
include FormatterTest
|
479
|
-
|
480
|
-
def setup
|
481
|
-
@time = Time.new(2014, 9, 27, 0, 0, 0, 0).to_i
|
482
|
-
@fmt = "%Y%m%d %H%M%z" # YYYYMMDD HHMM[+-]HHMM
|
483
|
-
end
|
484
|
-
|
485
|
-
def format(format, localtime, timezone)
|
486
|
-
formatter = Fluent::TimeFormatter.new(format, localtime, timezone)
|
487
|
-
formatter.format(@time)
|
488
|
-
end
|
489
|
-
|
490
|
-
def test_default_utc_nil
|
491
|
-
assert_equal("2014-09-27T00:00:00Z", format(nil, false, nil))
|
492
|
-
end
|
493
|
-
|
494
|
-
def test_default_utc_pHH_MM
|
495
|
-
assert_equal("2014-09-27T01:30:00+01:30", format(nil, false, "+01:30"))
|
496
|
-
end
|
497
|
-
|
498
|
-
def test_default_utc_nHH_MM
|
499
|
-
assert_equal("2014-09-26T22:30:00-01:30", format(nil, false, "-01:30"))
|
500
|
-
end
|
501
|
-
|
502
|
-
def test_default_utc_pHHMM
|
503
|
-
assert_equal("2014-09-27T02:30:00+02:30", format(nil, false, "+0230"))
|
504
|
-
end
|
505
|
-
|
506
|
-
def test_default_utc_nHHMM
|
507
|
-
assert_equal("2014-09-26T21:30:00-02:30", format(nil, false, "-0230"))
|
508
|
-
end
|
509
|
-
|
510
|
-
def test_default_utc_pHH
|
511
|
-
assert_equal("2014-09-27T03:00:00+03:00", format(nil, false, "+03"))
|
512
|
-
end
|
513
|
-
|
514
|
-
def test_default_utc_nHH
|
515
|
-
assert_equal("2014-09-26T21:00:00-03:00", format(nil, false, "-03"))
|
516
|
-
end
|
517
|
-
|
518
|
-
def test_default_utc_timezone_1
|
519
|
-
# Asia/Tokyo (+09:00) does not have daylight saving time.
|
520
|
-
assert_equal("2014-09-27T09:00:00+09:00", format(nil, false, "Asia/Tokyo"))
|
521
|
-
end
|
522
|
-
|
523
|
-
def test_default_utc_timezone_2
|
524
|
-
# Pacific/Honolulu (-10:00) does not have daylight saving time.
|
525
|
-
assert_equal("2014-09-26T14:00:00-10:00", format(nil, false, "Pacific/Honolulu"))
|
526
|
-
end
|
527
|
-
|
528
|
-
def test_default_utc_timezone_3
|
529
|
-
# America/Argentina/Buenos_Aires (-03:00) does not have daylight saving time.
|
530
|
-
assert_equal("2014-09-26T21:00:00-03:00", format(nil, false, "America/Argentina/Buenos_Aires"))
|
531
|
-
end
|
532
|
-
|
533
|
-
def test_default_utc_timezone_4
|
534
|
-
# Europe/Paris has daylight saving time. Its UTC offset is +01:00 and its
|
535
|
-
# UTC offset in DST is +02:00. In September, Europe/Paris is in DST.
|
536
|
-
assert_equal("2014-09-27T02:00:00+02:00", format(nil, false, "Europe/Paris"))
|
537
|
-
end
|
538
|
-
|
539
|
-
def test_default_utc_timezone_5
|
540
|
-
# Europe/Paris has daylight saving time. Its UTC offset is +01:00 and its
|
541
|
-
# UTC offset in DST is +02:00. In January, Europe/Paris is not in DST.
|
542
|
-
@time = Time.new(2014, 1, 24, 0, 0, 0, 0).to_i
|
543
|
-
assert_equal("2014-01-24T01:00:00+01:00", format(nil, false, "Europe/Paris"))
|
544
|
-
end
|
545
|
-
|
546
|
-
def test_default_utc_invalid
|
547
|
-
assert_equal("2014-09-27T00:00:00Z", format(nil, false, "Invalid"))
|
548
|
-
end
|
549
|
-
|
550
|
-
def test_default_localtime_nil_1
|
551
|
-
with_timezone("UTC-04") do
|
552
|
-
assert_equal("2014-09-27T04:00:00+04:00", format(nil, true, nil))
|
553
|
-
end
|
554
|
-
end
|
555
|
-
|
556
|
-
def test_default_localtime_nil_2
|
557
|
-
with_timezone("UTC+05") do
|
558
|
-
assert_equal("2014-09-26T19:00:00-05:00", format(nil, true, nil))
|
559
|
-
end
|
560
|
-
end
|
561
|
-
|
562
|
-
def test_default_localtime_timezone
|
563
|
-
# 'timezone' takes precedence over 'localtime'.
|
564
|
-
with_timezone("UTC-06") do
|
565
|
-
assert_equal("2014-09-27T07:00:00+07:00", format(nil, true, "+07"))
|
566
|
-
end
|
567
|
-
end
|
568
|
-
|
569
|
-
def test_specific_utc_nil
|
570
|
-
assert_equal("20140927 0000+0000", format(@fmt, false, nil))
|
571
|
-
end
|
572
|
-
|
573
|
-
def test_specific_utc_pHH_MM
|
574
|
-
assert_equal("20140927 0830+0830", format(@fmt, false, "+08:30"))
|
575
|
-
end
|
576
|
-
|
577
|
-
def test_specific_utc_nHH_MM
|
578
|
-
assert_equal("20140926 1430-0930", format(@fmt, false, "-09:30"))
|
579
|
-
end
|
580
|
-
|
581
|
-
def test_specific_utc_pHHMM
|
582
|
-
assert_equal("20140927 1030+1030", format(@fmt, false, "+1030"))
|
583
|
-
end
|
584
|
-
|
585
|
-
def test_specific_utc_nHHMM
|
586
|
-
assert_equal("20140926 1230-1130", format(@fmt, false, "-1130"))
|
587
|
-
end
|
588
|
-
|
589
|
-
def test_specific_utc_pHH
|
590
|
-
assert_equal("20140927 1200+1200", format(@fmt, false, "+12"))
|
591
|
-
end
|
592
|
-
|
593
|
-
def test_specific_utc_nHH
|
594
|
-
assert_equal("20140926 1100-1300", format(@fmt, false, "-13"))
|
595
|
-
end
|
596
|
-
|
597
|
-
def test_specific_utc_timezone_1
|
598
|
-
# Europe/Moscow (+04:00) does not have daylight saving time.
|
599
|
-
assert_equal("20140927 0400+0400", format(@fmt, false, "Europe/Moscow"))
|
600
|
-
end
|
601
|
-
|
602
|
-
def test_specific_utc_timezone_2
|
603
|
-
# Pacific/Galapagos (-06:00) does not have daylight saving time.
|
604
|
-
assert_equal("20140926 1800-0600", format(@fmt, false, "Pacific/Galapagos"))
|
605
|
-
end
|
606
|
-
|
607
|
-
def test_specific_utc_timezone_3
|
608
|
-
# America/Argentina/Buenos_Aires (-03:00) does not have daylight saving time.
|
609
|
-
assert_equal("20140926 2100-0300", format(@fmt, false, "America/Argentina/Buenos_Aires"))
|
610
|
-
end
|
611
|
-
|
612
|
-
def test_specific_utc_timezone_4
|
613
|
-
# America/Los_Angeles has daylight saving time. Its UTC offset is -08:00 and its
|
614
|
-
# UTC offset in DST is -07:00. In September, America/Los_Angeles is in DST.
|
615
|
-
assert_equal("20140926 1700-0700", format(@fmt, false, "America/Los_Angeles"))
|
616
|
-
end
|
617
|
-
|
618
|
-
def test_specific_utc_timezone_5
|
619
|
-
# America/Los_Angeles has daylight saving time. Its UTC offset is -08:00 and its
|
620
|
-
# UTC offset in DST is -07:00. In January, America/Los_Angeles is not in DST.
|
621
|
-
@time = Time.new(2014, 1, 24, 0, 0, 0, 0).to_i
|
622
|
-
assert_equal("20140123 1600-0800", format(@fmt, false, "America/Los_Angeles"))
|
623
|
-
end
|
624
|
-
|
625
|
-
def test_specific_utc_invalid
|
626
|
-
assert_equal("20140927 0000+0000", format(@fmt, false, "Invalid"))
|
627
|
-
end
|
628
|
-
|
629
|
-
def test_specific_localtime_nil_1
|
630
|
-
with_timezone("UTC-07") do
|
631
|
-
assert_equal("20140927 0700+0700", format(@fmt, true, nil))
|
632
|
-
end
|
633
|
-
end
|
634
|
-
|
635
|
-
def test_specific_localtime_nil_2
|
636
|
-
with_timezone("UTC+08") do
|
637
|
-
assert_equal("20140926 1600-0800", format(@fmt, true, nil))
|
638
|
-
end
|
639
|
-
end
|
640
|
-
|
641
|
-
def test_specific_localtime_timezone
|
642
|
-
# 'timezone' takes precedence over 'localtime'.
|
643
|
-
with_timezone("UTC-09") do
|
644
|
-
assert_equal("20140926 1400-1000", format(@fmt, true, "-10"))
|
645
|
-
end
|
646
|
-
end
|
647
|
-
end
|
648
|
-
|
649
|
-
class TimeConfigTest < ::Test::Unit::TestCase
|
650
|
-
include FormatterTest
|
651
|
-
|
652
|
-
def setup
|
653
|
-
@formatter = TextFormatter::LabeledTSVFormatter.new
|
654
|
-
@time = Time.new(2014, 9, 27, 0, 0, 0, 0).to_i
|
655
|
-
end
|
656
|
-
|
657
|
-
def format(conf)
|
658
|
-
@formatter.configure({'include_time_key' => true}.merge(conf))
|
659
|
-
formatted = @formatter.format("tag", @time, {})
|
660
|
-
# Drop the leading "time:" and the trailing "\n".
|
661
|
-
formatted[5..-2]
|
662
|
-
end
|
663
|
-
|
664
|
-
def test_none
|
665
|
-
with_timezone("UTC-01") do
|
666
|
-
# 'localtime' is true by default.
|
667
|
-
assert_equal("2014-09-27T01:00:00+01:00", format({}))
|
668
|
-
end
|
669
|
-
end
|
670
|
-
|
671
|
-
def test_utc
|
672
|
-
with_timezone("UTC-01") do
|
673
|
-
# 'utc' takes precedence over 'localtime'.
|
674
|
-
assert_equal("2014-09-27T00:00:00Z", format("utc" => true))
|
675
|
-
end
|
676
|
-
end
|
677
|
-
|
678
|
-
def test_timezone
|
679
|
-
with_timezone("UTC-01") do
|
680
|
-
# 'timezone' takes precedence over 'localtime'.
|
681
|
-
assert_equal("2014-09-27T02:00:00+02:00", format("timezone" => "+02"))
|
682
|
-
end
|
683
|
-
end
|
684
|
-
|
685
|
-
def test_utc_timezone
|
686
|
-
with_timezone("UTC-01") do
|
687
|
-
# 'timezone' takes precedence over 'utc'.
|
688
|
-
assert_equal("2014-09-27T09:00:00+09:00", format("utc" => true, "timezone" => "Asia/Tokyo"))
|
689
|
-
end
|
690
|
-
end
|
691
|
-
end
|
692
312
|
end
|
data/test/test_input.rb
CHANGED
@@ -17,7 +17,7 @@ class FluentInputTest < ::Test::Unit::TestCase
|
|
17
17
|
assert_equal Engine.root_agent.event_router, d.instance.router
|
18
18
|
|
19
19
|
d = nil
|
20
|
-
assert_nothing_raised {
|
20
|
+
assert_nothing_raised {
|
21
21
|
d = create_driver('@label @known')
|
22
22
|
}
|
23
23
|
expected = Engine.root_agent.find_label('@known').event_router
|