[Tarantool-patches] [PATCH v1 1/1] lua: fix test sql/func-recreate.test.lua

Alexander Tikhonov avtikhon at tarantool.org
Thu Apr 16 22:33:00 MSK 2020




  
>Четверг, 16 апреля 2020, 22:18 +03:00 от Nikita Pettik <korablev at tarantool.org>:
> 
>On 16 Apr 22:09, Alexander Tikhonov wrote:
>>
>> Hi Mergen, thanks for the patch, I’ve checked it on 2.2 and it runs fine, patch LGTM.
>>
>
>Did you verify that modified test still reproduces initial problem?
>I hope so, but ask just in case.
Sure, I’ve checked this test before the fix and reproduced the needed issue just before the fix. With the current fix flaky fail resolved and checking error in the test became stable.
>  
>> >Четверг, 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
>>   
 
 
--
Alexander Tikhonov
 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.tarantool.org/pipermail/tarantool-patches/attachments/20200416/a6ae26ab/attachment.html>


More information about the Tarantool-patches mailing list