From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: From: Serge Petrenko Subject: [PATCH] test: fix app-tap/tarantoolctl sporadic failure Date: Thu, 16 Aug 2018 18:24:00 +0300 Message-Id: <20180816152400.4237-1-sergepetrenko@tarantool.org> To: vdavydov.dev@gmail.com Cc: tarantool-patches@freelists.org, Serge Petrenko List-ID: In rare cases this test failed on `tarantoolctl status` after `tarantoolctl stop` due to `tarantoolctl stop` taking too much time to unlink pid file. Fix this by waiting for pid file deletion in test. Closes #3557 --- https://github.com/tarantool/tarantool/issues/3557 https://github.com/tarantool/tarantool/tree/sp/gh-3557-tarantoolctl-test-fix test/app-tap/tarantoolctl.test.lua | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/test/app-tap/tarantoolctl.test.lua b/test/app-tap/tarantoolctl.test.lua index 6946c8312..83a8bfc37 100755 --- a/test/app-tap/tarantoolctl.test.lua +++ b/test/app-tap/tarantoolctl.test.lua @@ -34,6 +34,13 @@ local function recursive_rmdir(path) end end +local function wait_delete(path) + path = fio.abspath(path) + while fio.path.exists(path) do + fiber.sleep(0.0001) + end +end + ffi.cdef[[ typedef int32_t pid_t; int kill(pid_t pid, int sig); @@ -157,6 +164,7 @@ test:plan(6) do local dir = fio.tempdir() local code = [[ box.cfg{memtx_memory = 104857600} ]] + local pid_path = fio.pathjoin(dir, 'script.pid') create_script(dir, 'script.lua', code) local status, err = pcall(function() @@ -168,6 +176,7 @@ do check_ok(test_i, dir, 'start', 'script', 1, nil, "is already running") check_ok(test_i, dir, 'status', 'script', 0, nil, "is running") check_ok(test_i, dir, 'stop', 'script', 0, nil, "Stopping") + wait_delete(pid_path) check_ok(test_i, dir, 'status', 'script', 1, nil, "is stopped") check_ok(test_i, dir, 'stop', 'script', 0, nil, "is not running") check_ok(test_i, dir, 'status', 'script', 1, nil, "is stopped" ) -- 2.15.2 (Apple Git-101.1)