From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: 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 B868F4696C3 for ; Sat, 4 Apr 2020 22:02:48 +0300 (MSK) References: From: Vladislav Shpilevoy Message-ID: <3903e055-5853-6606-7fd1-87b5a4c60662@tarantool.org> Date: Sat, 4 Apr 2020 21:02:47 +0200 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Subject: Re: [Tarantool-patches] [PATCH 2/3] Add a black list of the tarantoolctl options List-Id: Tarantool development patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Leonid Vasiliev Cc: tarantool-patches@dev.tarantool.org Thanks for the patch! See 3 comments below. On 25/03/2020 22:50, Leonid Vasiliev wrote: > Luarocks code style has been used 1. This message does not give any useful info. Better explain, why did you add the list to the luarocks instead of to tarantoolctl. > --- > src/luarocks/util.lua | 14 ++++++++++++++ > 1 file changed, 14 insertions(+) > > diff --git a/src/luarocks/util.lua b/src/luarocks/util.lua > index 8ccda27..0172d08 100644 > --- a/src/luarocks/util.lua > +++ b/src/luarocks/util.lua > @@ -171,6 +171,14 @@ local supported_flags = { > ["version"] = true, > } > > +-- The tarantool unsupported arguments list. > +local tarantool_black_list = { > + ["global"] = true, > + ["local"] = true, > + ["lua-version"] = true, > + ["lua-dir"] = true, 2. Why can't you just remove these flags from 'supported_flags'? Or make them false there? > +} > + > --- Extract flags from an arguments list. > -- Given string arguments, extract flag arguments into a flags set. > -- For example, given "foo", "--tux=beep", "--bla", "bar", "--baz", > @@ -189,6 +197,9 @@ function util.parse_flags(...) > elseif state == "initial" and flag then > local var,val = flag:match("([a-z_%-]*)=(.*)") > if val then > + if tarantool_black_list[var] then > + return { ERROR = "Invalid argument: flag --"..var.." is not supported by tarantoolctl roks." } 3. Probably 'rocks' instead of 'roks'? The same below. > + end > local vartype = supported_flags[var] > if type(vartype) == "string" then > if val == "" and vartype:sub(1,1) ~= '"' then > @@ -204,6 +215,9 @@ function util.parse_flags(...) > end > else > local var = flag > + if tarantool_black_list[var] then > + return { ERROR = "Invalid argument: flag --"..var.." is not supported by tarantoolctl roks." } > + end > local vartype = supported_flags[var] > if type(vartype) == "string" then > i = i + 1 >