[Tarantool-patches] [PATCH v1 1/1] lua: fix test sql/func-recreate.test.lua
Alexander Tikhonov
avtikhon at tarantool.org
Thu Apr 16 22:09:29 MSK 2020
Hi Mergen, thanks for the patch, I’ve checked it on 2.2 and it runs fine, patch LGTM.
>Четверг, 16 апреля 2020, 22:07 +03:00 от imeevma at tarantool.org:
>
>Closes #4384
>---
>https://github.com/tarantool/tarantool/issues/4384
>https://github.com/tarantool/tarantool/tree/imeevma/gh-4384-fix-test-func-recreate
>
>@ChangeLog
> - Fixed flaky test sql/func-recreate.test.lua (gh-4384).
>
> test/sql/func-recreate.result | 19 +++++++++++--------
> test/sql/func-recreate.test.lua | 11 ++++++-----
> test/sql/suite.ini | 1 -
> 3 files changed, 17 insertions(+), 14 deletions(-)
>
>diff --git a/test/sql/func-recreate.result b/test/sql/func-recreate.result
>index 73fb03c..470ce5a 100644
>--- a/test/sql/func-recreate.result
>+++ b/test/sql/func-recreate.result
>@@ -12,31 +12,34 @@ box.execute('pragma sql_default_engine=\''..engine..'\'')
> fiber = require('fiber')
> ---
> ...
>-box.internal.sql_create_function('WAITFOR', 'INT', function (n) fiber.sleep(n) return n end)
>+flag = true
> ---
> ...
>-ch = fiber.channel(1)
>+box.internal.sql_create_function('WAITFOR', 'INT', function () while flag do fiber.sleep(0.01) end return 0 end)
> ---
> ...
>-_ = fiber.create(function () ch:put(box.execute('select WAITFOR(0.2)')) end)
>+ch = fiber.channel(1)
> ---
> ...
>-fiber.sleep(0.1)
>+_ = fiber.create(function () ch:put(box.execute('select WAITFOR()')) end)
> ---
> ...
>-box.internal.sql_create_function('WAITFOR', 'INT', function (n) require('fiber').sleep(n) return n end)
>+box.internal.sql_create_function('WAITFOR', 'INT', function () while flag do fiber.sleep(0.01) end return 0 end)
> ---
> - error: 'Failed to create function ''WAITFOR'': unable to create function due to
> active statements'
> ...
>+flag = false
>+---
>+...
> ch:get()
> ---
> - metadata:
>- - name: WAITFOR(0.2)
>+ - name: WAITFOR()
> type: integer
> rows:
>- - [0.2]
>+ - [0]
> ...
>-box.internal.sql_create_function('WAITFOR', 'INT', function (n) require('fiber').sleep(n) return n end)
>+box.internal.sql_create_function('WAITFOR', 'INT', function () while flag do fiber.sleep(0.01) end return 0 end)
> ---
> ...
>diff --git a/test/sql/func-recreate.test.lua b/test/sql/func-recreate.test.lua
>index 753e9ca..d482fa9 100644
>--- a/test/sql/func-recreate.test.lua
>+++ b/test/sql/func-recreate.test.lua
>@@ -4,14 +4,15 @@ box.execute('pragma sql_default_engine=\''..engine..'\'')
>
> -- Check errors during function create process
> fiber = require('fiber')
>-box.internal.sql_create_function('WAITFOR', 'INT', function (n) fiber.sleep(n) return n end)
>+flag = true
>+box.internal.sql_create_function('WAITFOR', 'INT', function () while flag do fiber.sleep(0.01) end return 0 end)
>
> ch = fiber.channel(1)
>
>-_ = fiber.create(function () ch:put(box.execute('select WAITFOR(0.2)')) end)
>-fiber.sleep(0.1)
>+_ = fiber.create(function () ch:put(box.execute('select WAITFOR()')) end)
>
>-box.internal.sql_create_function('WAITFOR', 'INT', function (n) require('fiber').sleep(n) return n end)
>+box.internal.sql_create_function('WAITFOR', 'INT', function () while flag do fiber.sleep(0.01) end return 0 end)
>+flag = false
> ch:get()
>-box.internal.sql_create_function('WAITFOR', 'INT', function (n) require('fiber').sleep(n) return n end)
>+box.internal.sql_create_function('WAITFOR', 'INT', function () while flag do fiber.sleep(0.01) end return 0 end)
>
>diff --git a/test/sql/suite.ini b/test/sql/suite.ini
>index a8664c5..cc1d641 100644
>--- a/test/sql/suite.ini
>+++ b/test/sql/suite.ini
>@@ -11,4 +11,3 @@ release_disabled = errinj.test.lua view_delayed_wal.test.lua sql-debug.test.lua
> disabled = sql-statN-index-drop.test.lua
> pretest_clean = True
> fragile = dll.test.lua ; gh-4427
>- func-recreate.test.lua ; gh-4384
>--
>2.7.4
>
--
Alexander Tikhonov
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.tarantool.org/pipermail/tarantool-patches/attachments/20200416/5f228503/attachment.html>
More information about the Tarantool-patches
mailing list