.gitlab/ci/warnings_filter.py | 31 +++++++++++++++++++++++++++++++ tests/compat-test | 2 +- 2 files changed, 32 insertions(+), 1 deletion(-) diff --git a/.gitlab/ci/warnings_filter.py b/.gitlab/ci/warnings_filter.py new file mode 100755 index 00000000..f9d275d2 --- /dev/null +++ b/.gitlab/ci/warnings_filter.py @@ -0,0 +1,31 @@ +#!/usr/bin/python3 + +import sys +import json +import linecache + +if __name__ == "__main__": + json_string = sys.stdin.read() + if json_string in [None, ""]: + sys.exit(0) + + parsed = json.loads(json_string) + #print(json.dumps(parsed, indent=4, sort_keys=True)) + + r = 0 + + for o in parsed: + kind = o["kind"] + + start = o["locations"][0]["caret"] + l = linecache.getline(start["file"], int(start["line"])) + + ignored = "json_object_object_foreach" in l + + print(f"{o['kind']} {'ignored' if ignored else 'FOUND'} in {start['file']}:{start['line']}:{start['column']} {o['message']}") + print(f"line contains:\n\t{l}", end="") + + if not ignored: + r = 1 + + sys.exit(r) diff --git a/tests/compat-test b/tests/compat-test index 6dc80041..ad8f3426 100755 --- a/tests/compat-test +++ b/tests/compat-test @@ -20,7 +20,7 @@ KEY1=key1 KEY2=key2 KEY5=key5 KEYE=keye -PWD0="compatkey" +PWD0="compatkey2Y" PWD1="93R4P4pIqAH8" PWD2="mymJeD8ivEhE" PWD3="ocMakf3fAcQO"