[PATCH] test: fix box/on_shutdown flakiness

Serge Petrenko sergepetrenko at tarantool.org
Wed Jun 26 19:04:14 MSK 2019


Resend for the mailing list
--
Serge Petrenko
sergepetrenko at tarantool.org




> 26 июня 2019 г., в 19:02, Serge Petrenko <sergepetrenko at tarantool.org> написал(а):
> 
> Replace prints that indicate on_shutdown trigger execution with
> log.warn, which is more reliable. This eliminates occasional test
> failures. Also instead of waiting for the server to start and executing
> grep_log, wait for the desired log entries to appear with wait_log.
> 
> Closes #4134
> ---
> https://github.com/tarantool/tarantool/issues/4134
> https://github.com/tarantool/tarantool/tree/sp/gh-4134-on-shutdown-test
> 
> test/box/on_shutdown.result   | 20 +++++++++++++-------
> test/box/on_shutdown.test.lua | 16 +++++++++-------
> 2 files changed, 22 insertions(+), 14 deletions(-)
> 
> diff --git a/test/box/on_shutdown.result b/test/box/on_shutdown.result
> index 4992b7de6..ccbdf45cb 100644
> --- a/test/box/on_shutdown.result
> +++ b/test/box/on_shutdown.result
> @@ -1,19 +1,22 @@
> env = require('test_run')
> ---
> ...
> +log = require('log')
> +---
> +...
> test_run = env.new()
> ---
> ...
> --
> -- gh-1607: on_shutdown triggers.
> --
> -f = function() print('on_shutdown 1') end
> +f = function() log.warn('on_shutdown 1') end
> ---
> ...
> -g = function() print('on_shutdown 2') end
> +g = function() log.warn('on_shutdown 2') end
> ---
> ...
> -h = function() print('on_shutdown 3') end
> +h = function() log.warn('on_shutdown 3') end
> ---
> ...
> -- Check that on_shutdown triggers may yield
> @@ -31,7 +34,7 @@ trig = function()
>     box.schema.space.create("shutdown")
>     box.space.shutdown:create_index("pk")
>     box.space.shutdown:insert{1,2,3}
> -    print('on_shutdown 4')
> +    log.warn('on_shutdown 4')
> end;
> ---
> ...
> @@ -52,8 +55,8 @@ _ = box.ctl.on_shutdown(h, g)
> _ = box.ctl.on_shutdown(trig)
> ---
> ...
> -test_run:cmd('restart server default')
> -test_run:grep_log('default', 'on_shutdown 1', nil, {noreset=true})
> +test_run:cmd('restart server default with wait=False')
> +test_run:wait_log('default', 'on_shutdown 1', nil, 30, {noreset=true})
> ---
> - on_shutdown 1
> ...
> @@ -108,7 +111,10 @@ test_run:cmd("switch test")
> ---
> - true
> ...
> -_ = box.ctl.on_shutdown(function() print("on_shutdown 5") end)
> +log = require('log')
> +---
> +...
> +_ = box.ctl.on_shutdown(function() log.warn("on_shutdown 5") end)
> ---
> ...
> -- Check that we don't hang infinitely after os.exit()
> diff --git a/test/box/on_shutdown.test.lua b/test/box/on_shutdown.test.lua
> index 9c3726dce..2a9143404 100644
> --- a/test/box/on_shutdown.test.lua
> +++ b/test/box/on_shutdown.test.lua
> @@ -1,12 +1,13 @@
> env = require('test_run')
> +log = require('log')
> test_run = env.new()
> 
> --
> -- gh-1607: on_shutdown triggers.
> --
> -f = function() print('on_shutdown 1') end
> -g = function() print('on_shutdown 2') end
> -h = function() print('on_shutdown 3') end
> +f = function() log.warn('on_shutdown 1') end
> +g = function() log.warn('on_shutdown 2') end
> +h = function() log.warn('on_shutdown 3') end
> -- Check that on_shutdown triggers may yield
> -- and perform some complicated actions.
> fiber = require('fiber')
> @@ -17,7 +18,7 @@ trig = function()
>     box.schema.space.create("shutdown")
>     box.space.shutdown:create_index("pk")
>     box.space.shutdown:insert{1,2,3}
> -    print('on_shutdown 4')
> +    log.warn('on_shutdown 4')
> end;
> test_run:cmd("setopt delimiter ''");
> _ = box.ctl.on_shutdown(f)
> @@ -25,8 +26,8 @@ _ = box.ctl.on_shutdown(g)
> -- Check that replacing triggers works
> _ = box.ctl.on_shutdown(h, g)
> _ = box.ctl.on_shutdown(trig)
> -test_run:cmd('restart server default')
> -test_run:grep_log('default', 'on_shutdown 1', nil, {noreset=true})
> +test_run:cmd('restart server default with wait=False')
> +test_run:wait_log('default', 'on_shutdown 1', nil, 30, {noreset=true})
> test_run:grep_log('default', 'on_shutdown 2', nil, {noreset=true})
> test_run:grep_log('default', 'on_shutdown 3', nil, {noreset=true})
> test_run:grep_log('default', 'on_shutdown 4', nil, {noreset=true})
> @@ -43,7 +44,8 @@ test_run:cmd("stop server test")
> require("fio").unlink(logfile)
> test_run:cmd("start server test")
> test_run:cmd("switch test")
> -_ = box.ctl.on_shutdown(function() print("on_shutdown 5") end)
> +log = require('log')
> +_ = box.ctl.on_shutdown(function() log.warn("on_shutdown 5") end)
> -- Check that we don't hang infinitely after os.exit()
> -- even if the following code doesn't yield.
> fiber = require("fiber")
> -- 
> 2.20.1 (Apple Git-117)
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.tarantool.org/pipermail/tarantool-patches/attachments/20190626/08d22372/attachment.html>


More information about the Tarantool-patches mailing list