Source: squid
Severity: normal
Version: 4.6-1

Hi,

it seems that test_zz_apparmor only passed on Debian previously
because it implicitly relied on a bug in apparmor_parser,
which used to return 0 if called on a non-existent profile.

This bug was fixed in apparmor 2.13.2-8, which broke squid's
autopkgtests:
https://ci.debian.net/data/autopkgtest/testing/amd64/s/squid/1998185/log.gz

The corresponding code is:

        # Verify it is syntactically correct
        ret, report = cmd(['apparmor_parser', '-p', self.aa_abs_profile])
        expected = 0
        result = 'Got exit code %d, expected %d\n' % (ret, expected)
        self.assertEquals(ret, expected, result + report)

… and the parser now returns exit code 2, because
/etc/apparmor.d/usr.sbin.squid does not exist. Previously the test
would happily pretend that there's a syntactically correct AppArmor
profile, while there's no such profile at all.

If I got it right, on Debian we don't ship
/etc/apparmor.d/usr.sbin.squid, so none of the tests in the
test_zz_apparmor function are meaningful in this context.
So I think this entire test case should be skipped on Debian.

Cheers,
-- 
intrigeri

Reply via email to