From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from [87.239.111.99] (localhost [127.0.0.1]) by dev.tarantool.org (Postfix) with ESMTP id D4B176465D; Sun, 7 Feb 2021 21:13:40 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org D4B176465D DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=tarantool.org; s=dev; t=1612721620; bh=l1sSuDw9COTLE4aPa5li7SwmYFnWIJkNdo3SAfVZzJM=; h=To:References:Date:In-Reply-To:Subject:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=wcNrpPit0Qtjh+RSZz2EDcQXvdZO0gY8VS1JLsV3H3UB/Nx0kjWsbxWw/0YJNQ/Pz Gh2VjIhS10YMNfYddFkiAO+W46FW7nN3TY/DLDTcUKrHEu8jGiBuM3l4sFuE+LNP0D gDbDLe/5L3omBAYC87k64oXyN2xCtNulE2Ickpb0= Received: from smtpng3.m.smailru.net (smtpng3.m.smailru.net [94.100.177.149]) (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 CFBE46EC58 for ; Sat, 6 Feb 2021 20:52:03 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org CFBE46EC58 Received: by smtpng3.m.smailru.net with esmtpa (envelope-from ) id 1l8RkX-00026v-7i; Sat, 06 Feb 2021 20:52:01 +0300 To: sergeyb@tarantool.org, tarantool-patches@dev.tarantool.org References: <3a5360daf42cd920e3ce536020a6ff2fbccc095e.1611232655.git.sergeyb@tarantool.org> <140f1c8e-dc25-3295-9bd8-e7835e2e89c8@tarantool.org> Message-ID: <935120b5-1414-d9ff-de88-4ae65f8bfdb6@tarantool.org> Date: Sat, 6 Feb 2021 18:52:00 +0100 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0) Gecko/20100101 Thunderbird/78.7.1 MIME-Version: 1.0 In-Reply-To: <140f1c8e-dc25-3295-9bd8-e7835e2e89c8@tarantool.org> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-7564579A: 646B95376F6C166E X-77F55803: 4F1203BC0FB41BD953AC099BC0052A9C4647521586BE7E637AB8B70F7375365A182A05F538085040F36DFC27124505D7A8827EF1F4A7E3C826D77DCC4651CD029A1957734478ABFB X-7FA49CB5: FF5795518A3D127A4AD6D5ED66289B5278DA827A17800CE7978947DCA0D4215FEA1F7E6F0F101C67BD4B6F7A4D31EC0BCC500DACC3FED6E28638F802B75D45FF8AA50765F7900637911538129B0A8D078638F802B75D45FF5571747095F342E8C7A0BC55FA0FE5FCA44FD8501F9B515B611EF84C2A45F8DBCDE6D1EF78CB0E87389733CBF5DBD5E913377AFFFEAFD269176DF2183F8FC7C07E7E81EEA8A9722B8941B15DA834481FCF19DD082D7633A0EF3E4896CB9E6436389733CBF5DBD5E9D5E8D9A59859A8B64854413538E1713FCC7F00164DA146DA6F5DAA56C3B73B23C77107234E2CFBA567F23339F89546C55F5C1EE8F4F765FCB9A95C41032F07D275ECD9A6C639B01BBD4B6F7A4D31EC0BC0CAF46E325F83A522CA9DD8327EE4930A3850AC1BE2E7353218473BE5707D41C4224003CC836476C0CAF46E325F83A50BF2EBBBDD9D6B0F93F060FBA3C93C613B503F486389A921A5CC5B56E945C8DA X-B7AD71C0: 6FEFE4C63DFE2D85469AD6E133326EAB664F5199923B286E81C2AD9CFA0FBF5C9C2BBA594F31363B5803BE1F3B17DC36E8F7B195E1C97831F4595E8B520C3C1AD5EE6400B98F466E X-C1DE0DAB: 0D63561A33F958A59BB5B66753D0DD93D78C3DE42C8740EAF1D4F8E88E53E7FFD59269BC5F550898D99A6476B3ADF6B47008B74DF8BB9EF7333BD3B22AA88B938A852937E12ACA75448CF9D3A7B2C848410CA545F18667F91A7EA1CDA0B5A7A0 X-C8649E89: 4E36BF7865823D7055A7F0CF078B5EC49A30900B95165D3468964757141B82E057EC2EE9CEEDE672C93F5F2DADA323CD1D4E8FFFC3A8176FD87F1011DE05EB8A1D7E09C32AA3244CBEAA672ECA4E7BC0474F5EF985FDCD2239C99C45E8D137E9729B2BEF169E0186 X-D57D3AED: 3ZO7eAau8CL7WIMRKs4sN3D3tLDjz0dLbV79QFUyzQ2Ujvy7cMT6pYYqY16iZVKkSc3dCLJ7zSJH7+u4VD18S7Vl4ZUrpaVfd2+vE6kuoey4m4VkSEu530nj6fImhcD4MUrOEAnl0W826KZ9Q+tr5ycPtXkTV4k65bRjmOUUP8cvGozZ33TWg5HZplvhhXbhDGzqmQDTd6OAevLeAnq3Ra9uf7zvY2zzsIhlcp/Y7m53TZgf2aB4JOg4gkr2biojrtzFuKLsNbyf5EwlIXR2hA== X-Mailru-Sender: 689FA8AB762F73936BC43F508A063822070A8FF983290D4D15C547402D6F4C753841015FED1DE5223CC9A89AB576DD93FB559BB5D741EB963CF37A108A312F5C27E8A8C3839CE0E267EA787935ED9F1B X-Mras: Ok Subject: Re: [Tarantool-patches] [PATCH v8 03/14] test: fix luacheck warnings W113 in test/sql-tap X-BeenThere: tarantool-patches@dev.tarantool.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Tarantool development patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: Vladislav Shpilevoy via Tarantool-patches Reply-To: Vladislav Shpilevoy Errors-To: tarantool-patches-bounces@dev.tarantool.org Sender: "Tarantool-patches" Hi! Did you see this response and some of the others? On 24.01.2021 18:33, Vladislav Shpilevoy via Tarantool-patches wrote: > Hi! Thanks for the patch! > > See 3 comments below. > > On 21.01.2021 13:49, sergeyb@tarantool.org wrote: >> From: Sergey Bronnikov >> >> W113 (Accessing an undefined global variable) >> >> Part of #5464 >> --- >> .luacheckrc | 37 +++++++++- >> test/sql-tap/badutf1.test.lua | 10 ++- >> test/sql-tap/index1.test.lua | 2 +- >> test/sql-tap/lua/sqltester.lua | 2 +- >> test/sql-tap/lua_sql.test.lua | 6 +- >> test/sql-tap/minmax2.test.lua | 2 + >> test/sql-tap/select1.test.lua | 4 ++ >> test/sql-tap/subquery.test.lua | 7 +- >> test/sql-tap/table.test.lua | 6 +- >> test/sql-tap/tkt1443.test.lua | 2 +- >> test/sql-tap/trigger9.test.lua | 1 + >> test/sql-tap/triggerC.test.lua | 1 - >> test/sql-tap/view.test.lua | 126 +++++++++++++++------------------ >> 13 files changed, 122 insertions(+), 84 deletions(-) >> >> diff --git a/.luacheckrc b/.luacheckrc >> index 81aa61a2b..eb709d6a3 100644 >> --- a/.luacheckrc >> +++ b/.luacheckrc >> @@ -124,3 +122,38 @@ files["test/box-tap/extended_error.test.lua"] = { >> "forbidden_function", >> }, >> } >> +files["test/sql-tap/analyze5.test.lua"] = { >> + ignore = { >> + "113", >> + }, >> +} >> +files["test/sql-tap/cast.test.lua"] = { >> + ignore = { >> + "113", >> + }, >> +} >> +files["test/sql-tap/func.test.lua"] = { >> + ignore = { >> + "113", >> + }, >> +} >> +files["test/sql-tap/e_expr.test.lua"] = { >> + ignore = { >> + "113", >> + }, >> +} >> +files["test/sql-tap/e_select1.test.lua"] = { >> + ignore = { >> + "113", >> + }, >> +} >> +files["test/sql-tap/misc1.test.lua"] = { >> + ignore = { >> + "113", >> + }, >> +} >> +files["test/sql-tap/sort.test.lua"] = { >> + ignore = { >> + "113", >> + }, >> +} > > 1. The commit title says "fix", but it does not look like a fix. > I suggest you to try harder to remove the warnings, not hide them. > For example, analyze5 can be fixed like this: > > ==================== > diff --git a/.luacheckrc b/.luacheckrc > index eb709d6a3..977eb2945 100644 > --- a/.luacheckrc > +++ b/.luacheckrc > @@ -122,11 +122,6 @@ files["test/box-tap/extended_error.test.lua"] = { > "forbidden_function", > }, > } > -files["test/sql-tap/analyze5.test.lua"] = { > - ignore = { > - "113", > - }, > -} > files["test/sql-tap/cast.test.lua"] = { > ignore = { > "113", > diff --git a/test/sql-tap/analyze5.test.lua b/test/sql-tap/analyze5.test.lua > index 1d6665ad0..a9eb4dd2f 100755 > --- a/test/sql-tap/analyze5.test.lua > +++ b/test/sql-tap/analyze5.test.lua > @@ -26,6 +26,8 @@ local function eqp(sql) > return test:execsql("EXPLAIN QUERY PLAN"..sql) > end > > +local X = nil > + > local function alpha(blob) > local ret = "" > for _, c in ipairs(X(37, "X!cmd", [=[["split",["blob"],""]]=])) do > @@ -155,6 +157,9 @@ test:do_test( > > -- Verify that range queries generate the correct row count estimates > -- > +local t1x = nil > +local t1y = nil > +local t1z = nil > for i, v in pairs({ > {'z>=0 AND z<=0', t1z, 400}, > {'z>=1 AND z<=1', t1z, 300}, > ==================== > > It does not make much sense, and the whole test does not make it, because > it is disabled. But it is better than just move the ignores from one > place to another. At least now they are local to the disabled places, > not to the whole file. > > Cast.test.lua: > > ==================== > diff --git a/.luacheckrc b/.luacheckrc > index eb709d6a3..15944e378 100644 > --- a/.luacheckrc > +++ b/.luacheckrc > @@ -127,11 +127,6 @@ files["test/sql-tap/analyze5.test.lua"] = { > "113", > }, > } > -files["test/sql-tap/cast.test.lua"] = { > - ignore = { > - "113", > - }, > -} > files["test/sql-tap/func.test.lua"] = { > ignore = { > "113", > diff --git a/test/sql-tap/cast.test.lua b/test/sql-tap/cast.test.lua > index 4d7c92cfc..bcee65d9b 100755 > --- a/test/sql-tap/cast.test.lua > +++ b/test/sql-tap/cast.test.lua > @@ -786,13 +786,19 @@ test:do_execsql_test( > -- Test to see if it is possible to trick sql into reading past > -- the end of a blob when converting it to a number. > if 0 > 0 then > +-- Legacy from the original code. Must be replaced with analogue > +-- functions from box. > +local sql_prepare = nil > +local sql_bind_blob = nil > +local sql_step = nil > +local sql_column_int = nil > +local STMT > test:do_test( > "cast-3.32.1", > function() > - local blob, DB, STMT > + local blob > blob = 1234567890 > - DB = sql_connection_pointer("db") > - STMT = sql_prepare(DB, "SELECT CAST(? AS NUMBER)", -1, "TAIL") > + STMT = sql_prepare("SELECT CAST(? AS NUMBER)", -1, "TAIL") > sql_bind_blob("-static", STMT, 1, blob, 5) > return sql_step(STMT) > end, { > ==================== > > Func.test.lua: > > ==================== > diff --git a/.luacheckrc b/.luacheckrc > index eb709d6a3..7608240c5 100644 > --- a/.luacheckrc > +++ b/.luacheckrc > @@ -132,11 +132,6 @@ files["test/sql-tap/cast.test.lua"] = { > "113", > }, > } > -files["test/sql-tap/func.test.lua"] = { > - ignore = { > - "113", > - }, > -} > files["test/sql-tap/e_expr.test.lua"] = { > ignore = { > "113", > diff --git a/test/sql-tap/func.test.lua b/test/sql-tap/func.test.lua > index d14eef421..a83b15fbc 100755 > --- a/test/sql-tap/func.test.lua > +++ b/test/sql-tap/func.test.lua > @@ -1048,7 +1048,8 @@ test:do_execsql_test( > -- > -- MUST_WORK_TEST testfunc not implemented > if 0 > 0 then > -local DB = sql_connection_pointer("db") > +local DB = nil > +local X = nil > X(525, "X!cmd", [=[["sql_register_test_function",["::DB"],"testfunc"]]=]) > test:do_catchsql_test( > "func-10.1", > @@ -1142,6 +1143,18 @@ end > -- > -- MUST_WORK_TEST test_destructor_count not implemented > if 0 > 0 then > +local X = nil > +-- Legacy from the original code. Must be replaced with analogue > +-- functions from box. > +local sql_prepare = nil > +local sql_bind_text = nil > +local sql_bind_blob = nil > +local sql_column_text = nil > +local sql_step = nil > +local sql_finalize = nil > +local db = nil > +local STMT > + > if X(595, "X!cmd", "[\"expr\",\"[db eval {PRAGMA encoding}]==\\\"UTF-8\\\"\"]") > then > test:do_execsql_test( > @@ -1300,10 +1313,9 @@ test:do_execsql_test( > test:do_test( > "func-13.7", > function() > - local DB, sql, STMT, res > - DB = sql_connection_pointer("db") > + local sql, STMT, res > sql = "SELECT test_auxdata( ? , a ) FROM t4;" > - STMT = sql_prepare(DB, sql, -1, "TAIL") > + STMT = sql_prepare(sql, -1, "TAIL") > sql_bind_text(STMT, 1, "hello\0", -1) > res = { } > while X(690, "X!cmd", [=[["expr"," \"sql_ROW\"==[sql_step $STMT] "]]=]) > @@ -1455,7 +1467,7 @@ test:do_test( > test:execsql([[ > CREATE TABLE tbl2(id integer primary key, a INT, b INT); > ]]) > - local STMT = sql_prepare(DB, "INSERT INTO tbl2 VALUES(1, ?, ?)", -1, "TAIL") > + local STMT = sql_prepare("INSERT INTO tbl2 VALUES(1, ?, ?)", -1, "TAIL") > sql_bind_blob(STMT, 1, "abc", 3) > sql_step(STMT) > sql_finalize(STMT) > @@ -2439,6 +2451,7 @@ test:do_execsql_test( > -- > -- MUST_WORK_TEST > if 0>0 then > +local X = nil > test:do_execsql_test( > "func-25.1", > [[ > @@ -2470,7 +2483,7 @@ test:do_test( > "func-26.2", > function() > local a = "" > - for _ in X(0, "X!for", [=[["set i 1","$i<=$::sql_MAX_FUNCTION_ARG","incr i"]]=]) do > + for i in X(0, "X!for", [=[["set i 1","$i<=$::sql_MAX_FUNCTION_ARG","incr i"]]=]) do > table.insert(a,i) > end > return test:execsql(string.format([[ > @@ -2486,7 +2499,7 @@ test:do_test( > "func-26.3", > function() > local a = "" > - for _ in X(0, "X!for", [=[["set i 1","$i<=$::sql_MAX_FUNCTION_ARG+1","incr i"]]=]) do > + for i in X(0, "X!for", [=[["set i 1","$i<=$::sql_MAX_FUNCTION_ARG+1","incr i"]]=]) do > table.insert(a,i) > end > return test:catchsql(string.format([[ > @@ -2502,7 +2515,7 @@ test:do_test( > "func-26.4", > function() > local a = "" > - for _ in X(0, "X!for", [=[["set i 1","$i<=$::sql_MAX_FUNCTION_ARG-1","incr i"]]=]) do > + for i in X(0, "X!for", [=[["set i 1","$i<=$::sql_MAX_FUNCTION_ARG-1","incr i"]]=]) do > table.insert(a,i) > end > return test:catchsql(string.format([[ > ==================== > > I am sure the other files also can be properly fixed, with stubs > and comments for legacy old functions, and with normal fixes for > the things like in the last lines of the diff above, where it was > a real bug - loop variable was not defined. > >> diff --git a/test/sql-tap/badutf1.test.lua b/test/sql-tap/badutf1.test.lua >> index 654629bf7..b7fa8ce0b 100755 >> --- a/test/sql-tap/badutf1.test.lua >> +++ b/test/sql-tap/badutf1.test.lua >> @@ -93,8 +93,12 @@ test:do_test( >> }) >> >> -- commented as it uses utf16 >> -if 0>0 then >> -sql("db2", "") >> +-- testcases are broken >> +-- https://github.com/tarantool/tarantool/issues/5743 >> +local is_gh_5743_closed = false >> +if is_gh_5743_closed then >> +sql("db2", "") -- luacheck: ignore sql >> +-- luacheck: push ignore sql_exec > > 2. Or you can use 'local sql_exec = nil', and won't need to > write 'pop'. > > The same to the other places, where you try to ignore the same > unknown variable again and again. However I don't insist on > hacks vs luacheck comments. > >> test:do_test( >> "badutf-1.10", >> function() >> @@ -206,7 +210,7 @@ test:do_test( >> -- >> }) >> end >> - >> +-- luacheck: pop >> > diff --git a/test/sql-tap/view.test.lua b/test/sql-tap/view.test.lua >> index 2f1af29b0..67f461132 100755 >> --- a/test/sql-tap/view.test.lua >> +++ b/test/sql-tap/view.test.lua >> @@ -1,6 +1,6 @@ >> #!/usr/bin/env tarantool >> local test = require("sqltester") >> -test:plan(78) >> +test:plan(83) >> >> --!./tcltestrunner.lua >> -- 2002 February 26 >> @@ -501,21 +501,18 @@ test:do_execsql_test( >> }) >> >> -- MUST_WORK_TEST > > 3. Why did you keep MUST_WORK_TEST, if it passes now? > The same in other places below. > >> -if (0 > 0) >> - then >> - test:do_test( >> - "view-7.2", >> - function() >> - return test:execsql [[ >> - SELECT * FROM test; >> - ]] >> - end, { >> - -- >> - 1, 2, 3 >> - -- >> - }) >> +test:do_test( >> + "view-7.2", >> + function() >> + return test:execsql [[ >> + SELECT * FROM test; >> + ]] >> + end, { >> + -- >> + 1, 2, 3 >> + -- >> + }) >> >> -end >> test:do_execsql_test( >> "view-7.3", >> [[ >> @@ -531,21 +528,18 @@ test:do_execsql_test( >> }) >> >> -- MUST_WORK_TEST >> -if (0 > 0) >> - then >> - test:do_test( >> - "view-7.4", >> - function() >> - return test:execsql [[ >> - SELECT * FROM test; >> - ]] >> - end, { >> - -- >> - 1, 2, 3 >> - -- >> - }) >> +test:do_test( >> + "view-7.4", >> + function() >> + return test:execsql [[ >> + SELECT * FROM test; >> + ]] >> + end, { >> + -- >> + 1, 2, 3 >> + -- >> + }) >> >> -end >> test:do_execsql_test( >> "view-7.5", >> [[ >> @@ -561,21 +555,18 @@ test:do_execsql_test( >> }) >> >> -- MUST_WORK_TEST >> -if (0 > 0) >> - then >> - test:do_test( >> - "view-7.6", >> - function() >> - return test:execsql [[ >> - SELECT * FROM test; >> - ]] >> - end, { >> - -- >> - 1, 2, 3 >> - -- >> - }) >> +test:do_test( >> + "view-7.6", >> + function() >> + return test:execsql [[ >> + SELECT * FROM test; >> + ]] >> + end, { >> + -- >> + 1, 2, 3 >> + -- >> + }) >> >> -end >> test:do_execsql_test( >> "view-8.1", >> [[ >> @@ -588,33 +579,29 @@ test:do_execsql_test( >> }) >> >> -- MUST_WORK_TEST >> -if (0 > 0) >> - then >> - test:do_test( >> - "view-8.2", >> - function() >> - return test:execsql [[ >> - SELECT * FROM v6 ORDER BY xyz; >> - ]] >> - end, { >> - -- >> - 7, 2, 13, 5, 19, 8, 27, 12 >> - -- >> - }) >> - >> - -- MUST_WORK_TEST problem with column names >> - test:do_execsql_test( >> - "view-8.3", >> - [[ >> - CREATE VIEW v7(a) AS SELECT pqr+xyz FROM v6; >> - SELECT * FROM v7 ORDER BY a; >> - ]], { >> - -- >> - 9, 18, 27, 39 >> - -- >> - }) >> +test:do_test( >> + "view-8.2", >> + function() >> + return test:execsql [[ >> + SELECT * FROM v6 ORDER BY xyz; >> + ]] >> + end, { >> + -- >> + 7, 2, 13, 5, 19, 8, 27, 12 >> + -- >> + }) >> >> -end >> +-- MUST_WORK_TEST problem with column names >> +test:do_execsql_test( >> + "view-8.3", >> + [[ >> + CREATE VIEW v7(a) AS SELECT pqr+xyz FROM v6; >> + SELECT * FROM v7 ORDER BY a; >> + ]], { >> + -- >> + 9, 18, 27, 39 >> + -- >> + }) >> >> test:do_execsql_test( >> "view-8.4",