Commit Graph

32 Commits

Author SHA1 Message Date
Dan Streetman
ae1129ecd0 d/t/upstream: use NO_BUILD=1
Also don't bother sed-modifying test-functions file, as the NO_BUILD
changes remove the need for that.
2021-05-07 12:23:58 +02:00
Dan Streetman
3d97be7786 Slight adjustments to previous patch for deny/black-list naming
Also add in two vars used by the integration runner script
2021-05-07 12:23:58 +02:00
Zbigniew Jędrzejewski-Szmek
de959cc3ea Let "upstream" test use upstream test runner 2021-05-07 12:23:58 +02:00
Dan Streetman
89b1131248 d/t/upstream: convert 'blacklist' term to 'deny-list'
Support transition for upstream-ci from
https://github.com/systemd/systemd/pull/16262
2020-11-12 21:22:59 +01:00
Dan Streetman
1300eeb4be d/t/upstream: use --directory or --file param for journalctl
properly tell journalctl if the journal to parse is a dir or file
2020-07-05 19:21:46 +02:00
Dan Streetman
35bde17b60 d/t/upstream: capture new merged 'system.journal' from tests
This was changed with the upstream PR:
https://github.com/systemd/systemd/pull/15281
2020-07-05 19:21:35 +02:00
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
Dan Streetman
bf96c9cb34 d/t/upstream: always cleanup after (and before) each test
run the 'clean' target before setup/run, to match the upstream
'all' target's behavior; also the clean (again) target must be
run separately, as the failure of setup or run will stop make,
and cleanup won't be done if called in the same make line.
2019-07-17 20:46:10 -04:00
Dan Streetman
7806ce8dde d/t/upstream: add TEST-30, TEST-34 to blacklist
Unfortunately, these tests are failing on i386 builds, very
intermittently; this causes headaches for upstream systemd
maintainers and submitters, when the Ubuntu CI fails, because
the failure isn't related to the PRs the tests are running for,
and determining that from the Ubuntu CI log file and other artifacts
is very time-consuming.

This just blacklists the tests for now, until we can figure out why
they are failing and fix them.

TEST-30 is discussed:
https://github.com/systemd/systemd/issues/12268

TEST-34 is discussed:
https://github.com/systemd/systemd/issues/12932
2019-07-08 20:55:06 -04:00
Dimitri John Ledkov
f93b9e46b5
Blacklist TEST-10-ISSUE-2467 #11706 2019-02-13 00:38:21 +00:00
Dimitri John Ledkov
a106d9c60b
debian/tests/upstream: Mark TEST-13-NSPAWN-SMOKE as flakey. 2019-01-28 13:49:08 +00:00
Martin Pitt
1eb1439867 tests: Disable flaky TEST-17-UDEV-WANTS upstream test
See https://github.com/systemd/systemd/issues/11195
2018-12-21 12:10:44 +01:00
Martin Pitt
2c194b155b tests: Disable some flaky upstream tests
See https://github.com/systemd/systemd/issues/11195
2018-12-19 08:30:18 +01:00
Michael Biebl
675c1ed011 debian/tests/upstream: Clean up after each test run
Otherwise the loopback images used by qemu are not properly released and
we might run out of disk space.
2018-10-18 02:52:59 +02:00
Michael Biebl
dbb29f1369 autopkgtest: Drop no-longer needed workaround from upstream test 2018-07-16 11:17:41 +02:00
Dimitri John Ledkov
cb3c4f8f91 Run all upstream tests, and then report all that failed. 2018-06-12 20:44:12 +00:00
Evgeny Vereshchagin
368160993f upstream autopkgtest: Copy journal subdirectories
Otherwise logs are missing on failures:

   cp: -r not specified; omitting directory '/var/tmp/systemd-test.Nq2jqR/journal/59852163a37d458f9d238b65f279b6fa'
2018-04-10 21:45:49 +02:00
Martin Pitt
4f8eb632e6 debian/tests/upstream: Only show ≥ warning in journal dumps
Showing the entire debug log is too hard to scan visually, and most of
the time the warnings and errors are sufficient to explain a failure.
Put the journal files into the artifacts though, in case the debug
information is necessary.
2017-11-24 17:17:02 +01:00
Evgeny Vereshchagin
22a7c0558f debian/tests/upstream: Disable check for ninja executable
_ninja_bin was added in https://github.com/systemd/systemd/pull/6544 in
order to make the tests work on CentOS. As we don't actually do a "ninja
install" and ninja is not available, replace the check with a dummy
value.
2017-08-07 08:37:09 +02:00
Martin Pitt
602ca961b4 debian/tests/upstream: Fix Makefile.guess failure
Makefile.guess tries to find the build directory if $BUILD_DIR is not
set. This doesn't always exist for an autopkgtest, thus fix it to ".";
it is not actually being used anyway. Adjust the sed for using the
system-installed nspawn binary accordingly.
2017-07-30 09:51:43 +02:00
Martin Pitt
43566b4f93 debian/tests/upstream: Fix for ninja migration
Generalize the sed match to not only catch "make install" but also
"ninja install", by just matching onlines which specify "DESTDIR" and
"install". This fixes the "upstream" test after
https://github.com/systemd/systemd/commit/209f4b9e33

See https://github.com/systemd/systemd/issues/6474

Gbp-Dch: Short
2017-07-28 12:21:50 +02:00
Evgeny Vereshchagin
9a11f52bb4 debian/tests/upstream: Print all journal files
We don't print all journal files. This is misleading a bit:
https://github.com/systemd/systemd/pull/4331#issuecomment-252830790
https://github.com/systemd/systemd/pull/4395#discussion_r87948836
2016-11-18 10:00:50 +01:00
Martin Pitt
fa9a5e33a0 debian/tests/upstream: Fix clobbering of merged-/usr symlinks
"dpkg-deb -x" replaces the "/bin -> usr/bin" symlinks with directories, as
that's tar's default. Call tar manually with --dereference to keep the links.

https://github.com/systemd/systemd/issues/4630

Gbp-Dch: short
2016-11-09 12:56:04 +01:00
Martin Pitt
f142ef34c1 debian/tests/upstream: Run tests via Makefile
This avoids replicating the logic and also takes building helper binaries into
account.

The current Makefiles call "make all" on the entire upstream tree which we need
to disable -- first, we don't actually want/need to do that for testing .debs,
and second the build should not happen as root.
2016-10-18 08:46:22 +02:00
Martin Pitt
068efe4aac debian/tests/upstream: Stop specifying initrd
Since https://github.com/systemd/systemd/commit/61fea35e14d8 this is being
autodetected on Debian correctly.
2016-10-18 08:14:22 +02:00
Martin Pitt
20f60ac579 debian/tests/upstream: Drop blacklisting
https://github.com/systemd/systemd/pull/3587 landed a while ago and these tests
now work fine without qemu.
2016-09-25 23:08:22 +02:00
Martin Pitt
038e56c26b debian/tests/upstream: Fix typo that causes some tests to not run with QEMU 2016-06-24 16:16:39 +02:00
Martin Pitt
a6ee982a31 debian/tests/upstream: Blacklist tests failing without QEMU
Some tests fail on platforms without QEMU at the moment due to
https://github.com/systemd/systemd/pull/3587.
Blacklist these for now if QEMU is not available.
2016-06-23 10:36:19 +02:00
Martin Pitt
e2e18a10b7 debian/tests/upstream: Clean up old journals before running a test
This avoids printing a wrong one on failure.
2016-06-23 10:20:18 +02:00
Martin Pitt
7b4025fc05 Make debian/tests/upstream non-fatal on ppc64el
Some tests fail on ppc64el at the moment; only get their logs, don't fail the
entire autopkgtest there.
2016-06-22 23:17:42 +02:00
Martin Pitt
063876a729 debian/tests/upstream: Show journals on failure
Also adjust the path to the SELinux pp binary in test/TEST-06-SELINUX/test.sh.
2016-06-21 14:56:56 +02:00
Martin Pitt
106f40ff93 Add "upstream" autopkgtest
This runs the test/TEST* upstream integration tests in QEMU and nspawn.

We need to modify test-functions a bit: We don't want to run this against a
built source tree (which we don't even have for a distro test run), but against
the installed packages.

Skip TEST-06-SELINUX for now as this does not work in Ubuntu (even after
install policycoreutils): The test expects a /usr/libexec/selinux/hll/pp file
which does not exist.
2016-06-21 13:06:21 +02:00