diff options
author | João Valverde <j@v6e.pt> | 2022-05-17 21:08:36 +0100 |
---|---|---|
committer | A Wireshark GitLab Utility <gerald+gitlab-utility@wireshark.org> | 2022-05-26 10:09:13 +0000 |
commit | e6da2cd8de6002d231247f72ff32cede424880e9 (patch) | |
tree | a1011c67b82fcf6502b6ae84794e49745d3444d4 /test/lua/glib_sets.lua | |
parent | 7ab343e7d6012dc9c5bb74d1e71d0e775291467a (diff) |
Lua: Remove on-life-support GRegex bindings
This code has been unmaintained and does not pass the lrexlib test
suite. GRegex itself has been obsolescent for some time, although GNOME
has recently restarted trying to move it to PCRE2.
Remove it in preparation for a move to lrexlib-pcre2.
Diffstat (limited to 'test/lua/glib_sets.lua')
-rw-r--r-- | test/lua/glib_sets.lua | 204 |
1 files changed, 0 insertions, 204 deletions
diff --git a/test/lua/glib_sets.lua b/test/lua/glib_sets.lua deleted file mode 100644 index 0c3f38a483..0000000000 --- a/test/lua/glib_sets.lua +++ /dev/null @@ -1,204 +0,0 @@ --- See Copyright Notice in the file LICENSE - -local pat2pcre = require "pat2pcre" -local luatest = require "luatest" -local N = luatest.NT - -local function norm(a) return a==nil and N or a end - -local function fill (n, m) - local t = {} - for i = n, m, -1 do table.insert (t, i) end - return t -end - - --- glib doesn't do partial matching return of matches, nor --- does it support ovecsize being set through the API -local function set_m_dfa_exec (lib, flg) - return { - Name = "Method dfa_exec for glib", - Method = "dfa_exec", ---{patt,cf,lo}, {subj,st,ef,os,ws} { results } - { {".+"}, {"abcd"}, {1,{4,3,2,1},4} }, -- [none] - { {".+"}, {"abcd",2}, {2,{4,3,2}, 3} }, -- positive st - { {".+"}, {"abcd",-2}, {3,{4,3}, 2} }, -- negative st - { {".+"}, {"abcd",5}, {N } }, -- failing st - { {".*"}, {"abcd"}, {1,{4,3,2,1,0},5}}, -- [none] - { {".*?"}, {"abcd"}, {1,{4,3,2,1,0},5}}, -- non-greedy - { {"aBC",flg.CASELESS}, {"abc"}, {1,{3},1} }, -- cf - { {"aBC","i" }, {"abc"}, {1,{3},1} }, -- cf - { {"bc"}, {"abc"}, {2,{3},1} }, -- [none] - { {"bc",flg.ANCHORED}, {"abc"}, {N } }, -- cf - { {"bc"}, {"abc",N, flg.ANCHORED}, {N } }, -- ef - { { "(.)b.(d)"}, {"abcd"}, {1,{4},1} }, --[captures] - { {"abc"}, {"ab"}, {N } }, - { {"abc"}, {"abc",N,flg.PARTIAL}, {1,{3},1} }, - { {"abc*"}, {"abcc",N,flg.PARTIAL}, {1,{4,3,2},3} }, - { {"abc"}, {"ab",N,flg.PARTIAL}, {true} }, - { {"bc"}, {"ab",N,flg.PARTIAL}, {true} }, -} -end - -local function get_gsub (lib) - return lib.gsub or - function (subj, pattern, repl, n) - return lib.new (pattern) : gsub (subj, repl, n) - end -end - --- sadly, glib *always* sets the PCRE_UCP compilation flag, regardless --- of REGEX_RAW being set - this is, frankly, a bug in my opinion --- but anyway, it means things like '[:alpha:]' and '\w' match things that Lua's --- '%a' does not match -local function set_f_gsub7 (lib, flg) - local subj = "" - for i = 0, 255 do - subj = subj .. string.char (i) - end - - -- This set requires calling prepare_set before calling gsub_test - local set = { - Name = "Function gsub, set7 for glib", - Func = get_gsub (lib), - --{ s, p, f, n, }, - { {subj, "[a-zA-Z]", "" }, }, - { {subj, "[^a-zA-Z]", "" }, }, - { {subj, "%c", "" }, }, - { {subj, "%C", "" }, }, - { {subj, "[a-z]", "" }, }, - { {subj, "[^a-z]", "" }, }, - { {subj, "%d", "" }, }, - { {subj, "%D", "" }, }, - { {subj, "%p", "" }, }, - { {subj, "%P", "" }, }, --- { {subj, "%s", "" }, }, --- { {subj, "%S", "" }, }, - { {subj, "[A-Z]", "" }, }, - { {subj, "[^A-Z]", "" }, }, -- 10 - { {subj, "[a-zA-Z0-9]", "" }, }, - { {subj, "[^a-zA-Z0-9]", "" }, }, - { {subj, "%x", "" }, }, - { {subj, "%X", "" }, }, - { {subj, "%z", "" }, }, - { {subj, "%Z", "" }, }, - --- { {subj, "[%a]", "" }, }, --- { {subj, "[%A]", "" }, }, - { {subj, "[%c]", "" }, }, - { {subj, "[%C]", "" }, }, - { {subj, "[%d]", "" }, }, - { {subj, "[%D]", "" }, }, --- { {subj, "[%l]", "" }, }, --- { {subj, "[%L]", "" }, }, - { {subj, "[%p]", "" }, }, - { {subj, "[%P]", "" }, }, --- { {subj, "[%u]", "" }, }, --- { {subj, "[%U]", "" }, }, --- { {subj, "[%w]", "" }, }, --- { {subj, "[%W]", "" }, }, - { {subj, "[%x]", "" }, }, - { {subj, "[%X]", "" }, }, - { {subj, "[%z]", "" }, }, - { {subj, "[%Z]", "" }, }, - --- { {subj, "[%a_]", "" }, }, --- { {subj, "[%A_]", "" }, }, - { {subj, "[%c_]", "" }, }, - { {subj, "[%C_]", "" }, }, --- { {subj, "[%l_]", "" }, }, --- { {subj, "[%L_]", "" }, }, - { {subj, "[%p_]", "" }, }, - { {subj, "[%P_]", "" }, }, --- { {subj, "[%u_]", "" }, }, --- { {subj, "[%U_]", "" }, }, --- { {subj, "[%w_]", "" }, }, --- { {subj, "[%W_]", "" }, }, - { {subj, "[%x_]", "" }, }, - { {subj, "[%X_]", "" }, }, - { {subj, "[%z_]", "" }, }, - { {subj, "[%Z_]", "" }, }, - --- { {subj, "[%a%d]", "" }, }, --- { {subj, "[%A%d]", "" }, }, - { {subj, "[%c%d]", "" }, }, - { {subj, "[%C%d]", "" }, }, --- { {subj, "[%l%d]", "" }, }, --- { {subj, "[%L%d]", "" }, }, - { {subj, "[%p%d]", "" }, }, - { {subj, "[%P%d]", "" }, }, --- { {subj, "[%u%d]", "" }, }, --- { {subj, "[%U%d]", "" }, }, --- { {subj, "[%w%d]", "" }, }, --- { {subj, "[%W%d]", "" }, }, - { {subj, "[%x%d]", "" }, }, - { {subj, "[%X%d]", "" }, }, - { {subj, "[%z%d]", "" }, }, - { {subj, "[%Z%d]", "" }, }, - --- { {subj, "[^%a%d]", "" }, }, --- { {subj, "[^%A%d]", "" }, }, - { {subj, "[^%c%d]", "" }, }, - { {subj, "[^%C%d]", "" }, }, --- { {subj, "[^%l%d]", "" }, }, --- { {subj, "[^%L%d]", "" }, }, - { {subj, "[^%p%d]", "" }, }, - { {subj, "[^%P%d]", "" }, }, --- { {subj, "[^%u%d]", "" }, }, --- { {subj, "[^%U%d]", "" }, }, --- { {subj, "[^%w%d]", "" }, }, --- { {subj, "[^%W%d]", "" }, }, - { {subj, "[^%x%d]", "" }, }, - { {subj, "[^%X%d]", "" }, }, - { {subj, "[^%z%d]", "" }, }, - { {subj, "[^%Z%d]", "" }, }, - --- { {subj, "[^%a_]", "" }, }, --- { {subj, "[^%A_]", "" }, }, - { {subj, "[^%c_]", "" }, }, - { {subj, "[^%C_]", "" }, }, --- { {subj, "[^%l_]", "" }, }, --- { {subj, "[^%L_]", "" }, }, - { {subj, "[^%p_]", "" }, }, - { {subj, "[^%P_]", "" }, }, --- { {subj, "[^%u_]", "" }, }, --- { {subj, "[^%U_]", "" }, }, --- { {subj, "[^%w_]", "" }, }, --- { {subj, "[^%W_]", "" }, }, - { {subj, "[^%x_]", "" }, }, - { {subj, "[^%X_]", "" }, }, - { {subj, "[^%z_]", "" }, }, - { {subj, "[^%Z_]", "" }, }, - - { {subj, "\100", "" }, }, - { {subj, "[\100]", "" }, }, - { {subj, "[^\100]", "" }, }, - { {subj, "[\100-\200]", "" }, }, - { {subj, "[^\100-\200]", "" }, }, - { {subj, "\100a", "" }, }, - { {subj, "[\100a]", "" }, }, - { {subj, "[^\100a]", "" }, }, - { {subj, "[\100-\200a]", "" }, }, - { {subj, "[^\100-\200a]", "" }, }, - } - -- fill in reference results - for _,v in ipairs(set) do - local r0, r1, r2 = pcall (string.gsub, unpack (v[1])) - v[2] = r0 and { r1, r2, r2 } or { r0, r1 } - end - -- convert patterns: lua -> pcre - for _, test in ipairs (set) do - test[1][2] = pat2pcre (test[1][2]) - end - return set -end - -return function (libname, isglobal) - local lib = isglobal and _G[libname] or require (libname) - local flags = lib.flags and lib.flags () - local sets = { - set_m_dfa_exec (lib, flags), - set_f_gsub7 (lib, flags) - } - return sets -end |