systemd/debian/tests
Dan Streetman 1d407ce943 d/t/upstream: change BLACKLIST env var into per-test file that upstream can control
Currently, the 'upstream' test runs all upstream-provided tests at tests/TEST-*,
except for any that are in a hardcoded list contained in this test.

Any change to the hardcoded blacklist involves patching the debian repo, which is
not an ideal way for upstream systemd to manage a hopefully temporary blacklist of
problematic tests.

There was discussion around making the blacklist entirely provided by an upstream
env var, configured in the upstream webhooks that control the Ubuntu CI tests,
but that results in 2 problems; 1) Debian would no longer be able to easily
control its own blacklist, and 2) upstream would only have an all-or-none control
over the blacklist, meaning that it could only enable or disable any specific
test for all PRs; it could not enable a test for only a specific PR that was
attempting to fix the flaky test (for example).

This approach moves blacklist control into the systemd tests themselves, by changing
the 'upstream' test to look for a file in the test directory, and skipping the test
if such file is found.  This way, Debian (and Ubuntu and other Debian derivatives)
can continue to manage their own blacklist, but also upstream can control
the blacklist for individual tests on a per-PR basis.

For example, if upstream has the file 'tests/TEST-01-BASIC/blacklist-ubuntu-ci'
in its repo, Ubuntu CI will skip this test for all PRs opened.  Then, a PR can
be opened that both fixes the test, as well as removes this file.  The Ubuntu CI
will then run the test, but only for the PR that attempts to fix it.  Once that
PR is merged, all future tests will then run the fixed test.

The specific naming of the per-test blacklist file, for tests run from the
upstream repo, is either "blacklist-ubuntu-ci" to completely blacklist the test
on all archs, or "blacklist-ubuntu-ci-$DPKGARCH" to blacklist the test only
for a specific arch, for example "blacklist-ubuntu-ci-amd64".  For tests run
from Debian (or Ubuntu), which are run without the TEST_UPSTREAM param set,
the blacklist filename is 'blacklist-upstream-ci[-$DPKGARCH]'.

Note that the $DPKGARCH is specified as the value returned by
'dpkg --print-architecture', not the value returned from 'uname -m' (e.g.
to blacklist a test for intel 64-bit, 'amd64' should be used, not 'x86_64').
This naming matches the title of the ubuntu tests, such as 'bionic-amd64',
'bionic-arm64', etc.
2019-10-17 06:00:36 -04:00
..
assert.sh debian/tests/timedated: Check enabling/disabling NTP 2019-03-10 20:52:27 +01:00
boot-and-services d/t/boot-and-services: check for any kernel message, not just first kernel message 2019-06-27 14:42:20 -04:00
boot-smoke d/t/boot-smoke: check for NetworkManager instead of D-Bus activated polkitd 2019-08-21 00:11:44 +02:00
build-login build-login autopkgtest: Build against libsystemd, not libsystemd-login any more 2014-12-17 09:51:33 +01:00
control d/t/control: install seabios for upstream test 2019-08-30 23:18:55 +00:00
fsck autopkgtest: Ship/use mock fsck from debian/tests, as it's missing in the 220 tarball 2015-05-26 07:22:45 +02:00
hostnamed autopkgtests: Factorize out "assert.sh" utility functions 2015-02-24 16:00:22 +01:00
lidswitch.evemu logind autopkgtest: Add test for suspending on lid switch close 2015-04-18 16:57:51 +01:00
localed-locale debian/tests/localed-locale: Adjust for testing upstream builds 2016-01-31 22:10:29 +01:00
localed-x11-keymap debian/tests/localed-x11-keymap: Deal with absence of /etc/default/keyboard more gracefully 2018-07-17 12:04:00 +02:00
logind Merge logind-kill-off autopkgtest into logind test 2017-09-14 23:03:27 +02:00
process-killer Add autopkgtests for systemd-fsckd 2015-03-03 15:13:49 +01:00
root-unittests test: Use installed catalogs when test-catalog is not located at build dir 2018-09-12 19:07:08 +02:00
storage d/t/storage: fail if socket info not in ask_password contents 2019-07-25 11:54:45 -04:00
systemd-fsckd autopkgtests: Replace obsolete $ADT_* variables 2019-03-01 09:17:36 +01:00
timedated d/t/timedated: replace systemctl is-active with systemctl show 2019-07-17 20:45:06 -04:00
udev udev autopkgtest: no longer install test-udev binary manually 2017-07-12 22:28:57 +02:00
unit-config Revert "debian/tests/unit-config: Tolerate path variations" 2019-03-14 13:29:49 +01:00
upstream d/t/upstream: change BLACKLIST env var into per-test file that upstream can control 2019-10-17 06:00:36 -04:00