From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp41.i.mail.ru (smtp41.i.mail.ru [94.100.177.101]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dev.tarantool.org (Postfix) with ESMTPS id 84FD14696C3 for ; Thu, 16 Apr 2020 22:07:33 +0300 (MSK) From: imeevma@tarantool.org Date: Thu, 16 Apr 2020 22:07:31 +0300 Message-Id: <1b7ea654465f9a92cb0949ce6286fee63e2be1ca.1587063872.git.imeevma@gmail.com> Subject: [Tarantool-patches] [PATCH v1 1/1] lua: fix test sql/func-recreate.test.lua List-Id: Tarantool development patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: avtikhon@tarantool.org, tarantool-patches@dev.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