@@ -0,0 +1,1413 @@
+#!/usr/bin/env python3%0A# This script lists the GNU failing tests by size%0A# Just like with util/run-gnu-test.sh, we expect the gnu sources%0A# to be in ../%0Aimport urllib.request%0A%0Aimport urllib%0Aimport os%0Aimport glob%0Aimport json%0A%0Abase = %22../gnu/tests/%22%0Aurllib.request.urlretrieve(%0A    %22https://raw.githubusercontent.com/uutils/coreutils-tracking/main/gnu-full-result.json%22,%0A    %22result.json%22,%0A)%0A%0Atests = glob.glob(base + %22/*/*.sh%22)%0Atests_pl = glob.glob(base + %22/*/*.pl%22)%0Atests_xpl = glob.glob(base + %22/*/*.xpl%22)%0Atests = tests + tests_pl + tests_xpl%0A%0A# sort by size%0Alist_of_files = sorted(tests, key=lambda x: os.stat(x).st_size)%0A%0Awith open(%22result.json%22, %22r%22) as json_file:%0A    data = json.load(json_file)%0A%0Afor d in data:%0A    for e in data%5Bd%5D:%0A        # Not all the tests are .sh files, rename them if not.%0A        script = e.replace(%22.log%22, %22.sh%22)%0A        a = %22%25s%25s/%25s%22 %25 (base, d, script)%0A        if not os.path.exists(a):%0A            a = a.replace(%22.sh%22, %22.pl%22)%0A            if not os.path.exists(a):%0A                a = a.replace(%22.pl%22, %22.xpl%22)%0A%0A        # the tests pass, we don't care anymore%0A        if data%5Bd%5D%5Be%5D == %22PASS%22:%0A            list_of_files.remove(a)%0A%0A# Remove the factor tests and reverse the list (bigger first)%0Atests = list(filter(lambda k: %22factor%22 not in k, list_of_files))%0A%0Afor f in reversed(tests):%0A    print(%22%25s: %25s%22 %25 (f, os.stat(f).st_size))%0Aprint(%22%22)%0Aprint(%22%25s tests remaining%22 %25 len(tests))%0A

add a script to list the failing tests and sort them by size: (the smaller, the easier to fix in general)