From: Vladislav Shpilevoy via Tarantool-patches <tarantool-patches@dev.tarantool.org> To: sergeyb@tarantool.org, tarantool-patches@dev.tarantool.org Subject: Re: [Tarantool-patches] [PATCH v8 03/14] test: fix luacheck warnings W113 in test/sql-tap Date: Sun, 24 Jan 2021 18:33:17 +0100 [thread overview] Message-ID: <140f1c8e-dc25-3295-9bd8-e7835e2e89c8@tarantool.org> (raw) In-Reply-To: <3a5360daf42cd920e3ce536020a6ff2fbccc095e.1611232655.git.sergeyb@tarantool.org> Hi! Thanks for the patch! See 3 comments below. On 21.01.2021 13:49, sergeyb@tarantool.org wrote: > From: Sergey Bronnikov <sergeyb@tarantool.org> > > 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( > -- </badutf-1.20> > }) > 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, { > - -- <view-7.2> > - 1, 2, 3 > - -- </view-7.2> > - }) > +test:do_test( > + "view-7.2", > + function() > + return test:execsql [[ > + SELECT * FROM test; > + ]] > + end, { > + -- <view-7.2> > + 1, 2, 3 > + -- </view-7.2> > + }) > > -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, { > - -- <view-7.4> > - 1, 2, 3 > - -- </view-7.4> > - }) > +test:do_test( > + "view-7.4", > + function() > + return test:execsql [[ > + SELECT * FROM test; > + ]] > + end, { > + -- <view-7.4> > + 1, 2, 3 > + -- </view-7.4> > + }) > > -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, { > - -- <view-7.6> > - 1, 2, 3 > - -- </view-7.6> > - }) > +test:do_test( > + "view-7.6", > + function() > + return test:execsql [[ > + SELECT * FROM test; > + ]] > + end, { > + -- <view-7.6> > + 1, 2, 3 > + -- </view-7.6> > + }) > > -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, { > - -- <view-8.2> > - 7, 2, 13, 5, 19, 8, 27, 12 > - -- </view-8.2> > - }) > - > - -- 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; > - ]], { > - -- <view-8.3> > - 9, 18, 27, 39 > - -- </view-8.3> > - }) > +test:do_test( > + "view-8.2", > + function() > + return test:execsql [[ > + SELECT * FROM v6 ORDER BY xyz; > + ]] > + end, { > + -- <view-8.2> > + 7, 2, 13, 5, 19, 8, 27, 12 > + -- </view-8.2> > + }) > > -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; > + ]], { > + -- <view-8.3> > + 9, 18, 27, 39 > + -- </view-8.3> > + }) > > test:do_execsql_test( > "view-8.4",
next prev parent reply other threads:[~2021-01-24 17:33 UTC|newest] Thread overview: 47+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-01-21 12:49 [Tarantool-patches] [PATCH v8 00/14] Fix luacheck warnings in test/sql and test/sql-tap Sergey Bronnikov via Tarantool-patches 2021-01-21 12:49 ` [Tarantool-patches] [PATCH v8 01/14] test: fix luacheck warnings in test/sql Sergey Bronnikov via Tarantool-patches 2021-01-21 12:49 ` [Tarantool-patches] [PATCH v8 02/14] test: remove functions to open and close SQL connection Sergey Bronnikov via Tarantool-patches 2021-01-21 12:49 ` [Tarantool-patches] [PATCH v8 03/14] test: fix luacheck warnings W113 in test/sql-tap Sergey Bronnikov via Tarantool-patches 2021-01-24 17:33 ` Vladislav Shpilevoy via Tarantool-patches [this message] 2021-02-06 17:52 ` Vladislav Shpilevoy via Tarantool-patches 2021-02-16 12:02 ` Sergey Bronnikov via Tarantool-patches 2021-02-23 21:25 ` Vladislav Shpilevoy via Tarantool-patches 2021-02-25 10:39 ` Sergey Bronnikov via Tarantool-patches 2021-02-26 23:42 ` Vladislav Shpilevoy via Tarantool-patches 2021-02-27 17:53 ` Sergey Bronnikov via Tarantool-patches 2021-02-28 15:30 ` Vladislav Shpilevoy via Tarantool-patches 2021-03-01 13:26 ` Sergey Bronnikov via Tarantool-patches 2021-01-21 12:49 ` [Tarantool-patches] [PATCH v8 04/14] test: fix luacheck warnings W211 " Sergey Bronnikov via Tarantool-patches 2021-01-24 17:34 ` Vladislav Shpilevoy via Tarantool-patches 2021-02-16 14:09 ` Sergey Bronnikov via Tarantool-patches 2021-02-23 21:26 ` Vladislav Shpilevoy via Tarantool-patches 2021-02-25 11:02 ` Sergey Bronnikov via Tarantool-patches 2021-02-26 23:42 ` Vladislav Shpilevoy via Tarantool-patches 2021-02-27 17:09 ` Sergey Bronnikov via Tarantool-patches 2021-02-28 15:30 ` Vladislav Shpilevoy via Tarantool-patches 2021-03-01 13:46 ` Sergey Bronnikov via Tarantool-patches 2021-03-01 21:27 ` Vladislav Shpilevoy via Tarantool-patches 2021-03-02 8:05 ` Sergey Bronnikov via Tarantool-patches 2021-01-21 12:50 ` [Tarantool-patches] [PATCH v8 05/14] test: fix luacheck warnings W212 " Sergey Bronnikov via Tarantool-patches 2021-01-21 12:50 ` [Tarantool-patches] [PATCH v8 06/14] test: fix laucheck warnings W213 " Sergey Bronnikov via Tarantool-patches 2021-01-24 17:35 ` Vladislav Shpilevoy via Tarantool-patches 2021-01-29 16:32 ` Sergey Bronnikov via Tarantool-patches 2021-01-21 12:50 ` [Tarantool-patches] [PATCH v8 07/14] test: fix luacheck warnings W231 " Sergey Bronnikov via Tarantool-patches 2021-01-24 17:35 ` Vladislav Shpilevoy via Tarantool-patches 2021-01-29 22:39 ` Sergey Bronnikov via Tarantool-patches 2021-01-21 12:50 ` [Tarantool-patches] [PATCH v8 08/14] test: fix luacheck warnings W311 " Sergey Bronnikov via Tarantool-patches 2021-01-21 12:50 ` [Tarantool-patches] [PATCH v8 09/14] test: fix luacheck warnings W511 " Sergey Bronnikov via Tarantool-patches 2021-01-21 12:50 ` [Tarantool-patches] [PATCH v8 10/14] test: fix luacheck warnings W512 " Sergey Bronnikov via Tarantool-patches 2021-01-21 12:50 ` [Tarantool-patches] [PATCH v8 11/14] test: fix luacheck warnings W542 " Sergey Bronnikov via Tarantool-patches 2021-01-21 12:50 ` [Tarantool-patches] [PATCH v8 12/14] test: fix luacheck warnings W612, W613, W614 " Sergey Bronnikov via Tarantool-patches 2021-01-24 17:36 ` Vladislav Shpilevoy via Tarantool-patches 2021-01-29 16:23 ` Sergey Bronnikov via Tarantool-patches 2021-01-29 21:50 ` Sergey Bronnikov via Tarantool-patches 2021-01-21 12:50 ` [Tarantool-patches] [PATCH v8 13/14] test: fix luacheck warnings W621 " Sergey Bronnikov via Tarantool-patches 2021-01-24 17:37 ` Vladislav Shpilevoy via Tarantool-patches 2021-01-29 16:11 ` Sergey Bronnikov via Tarantool-patches 2021-01-21 12:50 ` [Tarantool-patches] [PATCH v8 14/14] luacheck: add issues for suppressed warnings Sergey Bronnikov via Tarantool-patches 2021-01-24 17:37 ` Vladislav Shpilevoy via Tarantool-patches 2021-01-29 16:13 ` Sergey Bronnikov via Tarantool-patches 2021-03-01 21:37 ` [Tarantool-patches] [PATCH v8 00/14] Fix luacheck warnings in test/sql and test/sql-tap Vladislav Shpilevoy via Tarantool-patches 2021-03-02 9:47 ` Kirill Yukhin via Tarantool-patches
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=140f1c8e-dc25-3295-9bd8-e7835e2e89c8@tarantool.org \ --to=tarantool-patches@dev.tarantool.org \ --cc=sergeyb@tarantool.org \ --cc=v.shpilevoy@tarantool.org \ --subject='Re: [Tarantool-patches] [PATCH v8 03/14] test: fix luacheck warnings W113 in test/sql-tap' \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox