From e2760c86d6aa8dfcc6afb3809023b9ac8b23af5e Mon Sep 17 00:00:00 2001 From: Takuro Ashie Date: Mon, 13 Jun 2022 22:08:57 +0900 Subject: [PATCH] test_in_tail: Try to fix unstable test_shutdown_timeout Probably the cause is that recording start time is too early. Signed-off-by: Takuro Ashie --- test/plugin/test_in_tail.rb | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/test/plugin/test_in_tail.rb b/test/plugin/test_in_tail.rb index 17b9d022a9..25d9afa5ac 100644 --- a/test/plugin/test_in_tail.rb +++ b/test/plugin/test_in_tail.rb @@ -2492,6 +2492,7 @@ def test_EACCES def test_shutdown_timeout File.open("#{@tmp_dir}/tail.txt", "wb") do |f| + # Should be large enough to take too long time to consume (1024 * 1024 * 5).times do f.puts "{\"test\":\"fizzbuzz\"}" end @@ -2503,19 +2504,24 @@ def test_shutdown_timeout 'format' => 'json', 'skip_refresh_on_startup' => true, }) + shutdown_start_time = 0 + d = create_driver(config) mock.proxy(d.instance).io_handler(anything, anything) do |io_handler| + mock.proxy(io_handler).ready_to_shutdown(anything) do + shutdown_start_time = Fluent::Clock.now + end io_handler.shutdown_timeout = 0.5 io_handler end - start_time = Fluent::Clock.now assert_nothing_raised do d.run(expect_emits: 1) end - elapsed = Fluent::Clock.now - start_time - assert_true(elapsed > 0.5 && elapsed < 2.5) + elapsed = Fluent::Clock.now - shutdown_start_time + assert_true(elapsed > 0.5 && elapsed < 2.0, + "elapsed time: #{elapsed}") end sub_test_case "throttling logs at in_tail level" do