[igt-dev] [PATCH i-g-t 2/2] gitlab-ci: Verify blacklist files with verify-blacklist.sh

Arkadiusz Hiler arkadiusz.hiler at intel.com
Fri Jun 12 12:52:47 UTC 2020


On Fri, Jun 12, 2020 at 11:57:14AM +0300, Petri Latvala wrote:
> On Fri, Jun 12, 2020 at 11:51:35AM +0300, Petri Latvala wrote:
> > Signed-off-by: Petri Latvala <petri.latvala at intel.com>
> > Cc: Arkadiusz Hiler <arkadiusz.hiler at intel.com>
> 
> FYI: https://gitlab.freedesktop.org/adrinael/igt-gpu-tools/-/jobs/3073434
> 
> Verifying took 5 minutes on gitlab, but that's parallelized with the
> other test-stage executions.

But it's also the slowest step of that stage by far. Even the qemu
cross-testing is ~5x faster.

Doing:
> if ! "$RUNNER" --list-all --include-tests "$test" "$BINDIR" >/dev/null 2>/dev/null; then
for each blacklist entry is a bit expensive. It execs all the test
binaries each time.

Something like this should be faster:

TESTLIST="$("$RUNNER" --list-all "$BINDIR")"

cat "$BLFILE" | while read line; do
    blentry=$(echo "$line" | sed 's/#.*//' | tr -d '[:space:]')
    if [ "$blentry" = "" ]; then continue; fi

    if ! (echo "$TESTLIST" | grep -q "$blentry") >/dev/null 2>/dev/null; then
        echo Useless blacklist entry: "$blentry"
       STATUS=1
    fi
done

This may be not exactly the same as runner is using glib's regex, but if
you switch it to PCRE then 'grep -P' should be close enough.



Another observation - we don't assert beginning/end off line with ^$,
but yet we have patterns like:
> igt at i915_pm_rpm@universal-planes(-dpms)?

Which will kill any universal-planes-definitely-not-dpms subtest too.

-- 
Cheers,
Arek


More information about the igt-dev mailing list