Comment 4 for bug 2009436

Revision history for this message
Roxana Nicolescu (roxanan) wrote :

Hi Paride. The error you mention is in both logs and I don't think it's the issue here.

By accident, I discovered that when the new kernel is submitted to proposed and adt test is triggered, the result is as expected.
But then, is a user retries manually the test (like I did) then the status is PASS (supperficial).

After looking at the artifacts between the two triggers (I attached them but you can also check them here https://autopkgtest.ubuntu.com/packages/d/digimend-dkms/jammy/amd64 -- version 5.15.0.1030), I noticed that ADT_TEST_TRIGGERS is different.
1. When the build is done, ADT_TEST_TRIGGERS is `linux-meta-kvm/5.15.0.1030.26 linux-kvm/5.15.0-1030.35 linux-signed-kvm/5.15.0-1030.35`
2. When the build is ignored, ADT_TEST_TRIGGERS is `linux-meta-kvm/5.15.0.1030.26`.

If I check the code in /usr/lib/dkms/dkms-autopkgtest, right after `Testing binary package digimend-dkms`, the last line we see in both logs:

    echo "I: Testing binary package $pkg"

    dkms_pkg=$(bash -c ". $dkms_conf > /dev/null; echo \$PACKAGE_NAME" 2>/dev/null)
    dkms_ver=$(bash -c ". $dkms_conf > /dev/null; echo \$PACKAGE_VERSION" 2>/dev/null)

    for k in /lib/modules/*/build
    do
        test -d "$k" || continue
        kver="${k%/build}"
        kver="${kver#/lib/modules/}"

        # If any linux-meta is in triggers, only test abistems that
        # match triggers otherwise continue. This helps integration
        # with adt-matrix which specifically requests test results
        # against each individual linux-meta and tracks unique results
        # per kernel abi.
        abistem=$(echo $kver | sed 's/-[a-z]*$//')
  ## abistem is 5.15.0-130
        case "${ADT_TEST_TRIGGERS-}" in
            *linux-meta*)
                case "$ADT_TEST_TRIGGERS" in
                    *"$abistem"*)
                        ;;
                    *)
                        continue
                        ;;
                esac
        esac

I think the issue is in the switch case in the for loop. When build is ignored, it never gets passed that because
abistem=$(echo $kver | sed 's/-[a-z]*$//') is 5.15.0-1030. Notice the difference, it is not 5.15.0.1030 therefore when ADT_TEST_TRIGGERS is only linux-meta-kvm/5.15.0.1030.26 it won't match.

Do you know why ADT_TEST_TRIGGERS is different when a manual trigger is done?