mirror of
https://gitlab.freedesktop.org/dbus/dbus.git
synced 2026-05-07 05:08:00 +02:00
Merge branch 'as-installed' into 'master'
CI: Run "as-installed" tests with Meson, not just Autotools Closes #436 and #470 See merge request dbus/dbus!425
This commit is contained in:
commit
dbe7de00ae
3 changed files with 56 additions and 32 deletions
|
|
@ -320,35 +320,6 @@ case "$ci_buildsys" in
|
|||
LD_LIBRARY_PATH=/usr/local/lib ${make} installcheck || \
|
||||
maybe_fail_tests
|
||||
cat test/test-suite.log || :
|
||||
|
||||
# Re-run them with gnome-desktop-testing.
|
||||
# Also, one test needs a finite fd limit to be useful, so we
|
||||
# can set that here.
|
||||
env LD_LIBRARY_PATH=/usr/local/lib \
|
||||
bash -c 'ulimit -S -n 1024; ulimit -H -n 4096; exec "$@"' bash \
|
||||
gnome-desktop-testing-runner -d /usr/local/share dbus/ || \
|
||||
maybe_fail_tests
|
||||
|
||||
# Some tests benefit from being re-run as non-root, if we were
|
||||
# not already...
|
||||
if [ "$(id -u)" = 0 ] && [ "$ci_in_docker" = yes ]; then
|
||||
sudo -u user \
|
||||
env LD_LIBRARY_PATH=/usr/local/lib \
|
||||
gnome-desktop-testing-runner -d /usr/local/share \
|
||||
dbus/test-dbus-daemon_with_config.test \
|
||||
|| maybe_fail_tests
|
||||
fi
|
||||
|
||||
# ... while other tests benefit from being re-run as root, if
|
||||
# we were not already
|
||||
if [ "$(id -u)" != 0 ]; then
|
||||
sudo env LD_LIBRARY_PATH=/usr/local/lib \
|
||||
bash -c 'ulimit -S -n 1024; ulimit -H -n 4096; exec "$@"' bash \
|
||||
gnome-desktop-testing-runner -d /usr/local/share \
|
||||
dbus/test-dbus-daemon_with_config.test \
|
||||
dbus/test-uid-permissions_with_config.test || \
|
||||
maybe_fail_tests
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
|
||||
|
|
@ -456,6 +427,13 @@ case "$ci_buildsys" in
|
|||
esac
|
||||
|
||||
set -- -Dmodular_tests=enabled "$@"
|
||||
# By default, the Meson build would install these into
|
||||
# /lib/systemd, overwriting any systemd units that might have
|
||||
# come from the container's base OS. Install into our prefix instead,
|
||||
# keeping the CI installation separate from the container's base OS
|
||||
# while still allowing systemd to see the units. (dbus#470)
|
||||
set -- -Dsystemd_system_unitdir=/usr/local/lib/systemd/system "$@"
|
||||
set -- -Dsystemd_user_unitdir=/usr/local/lib/systemd/user "$@"
|
||||
|
||||
case "$ci_variant" in
|
||||
(debug)
|
||||
|
|
@ -548,6 +526,10 @@ case "$ci_buildsys" in
|
|||
fi
|
||||
fi
|
||||
|
||||
# We assume this when we set LD_LIBRARY_PATH for as-installed
|
||||
# testing, below
|
||||
set -- "$@" --libdir=lib
|
||||
|
||||
# openSUSE's mingw*-meson wrappers are designed for self-contained
|
||||
# package building, so they include --wrap-mode=nodownload. Switch
|
||||
# the wrap mode back, so we can use wraps.
|
||||
|
|
@ -562,6 +544,48 @@ case "$ci_buildsys" in
|
|||
[ "$ci_test" = no ] || meson test --print-errorlogs
|
||||
DESTDIR=DESTDIR meson install
|
||||
( cd DESTDIR && find . -ls)
|
||||
|
||||
if [ "$ci_sudo" = yes ] && [ "$ci_test" = yes ] && [ "$ci_host" = native ]; then
|
||||
sudo meson install
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
case "$ci_buildsys" in
|
||||
(autotools | meson*)
|
||||
if [ "$ci_sudo" = yes ] && [ "$ci_test" = yes ] && [ "$ci_host" = native ]; then
|
||||
sudo env LD_LIBRARY_PATH=/usr/local/lib \
|
||||
/usr/local/bin/dbus-uuidgen --ensure
|
||||
|
||||
# Run "as-installed" tests with gnome-desktop-testing.
|
||||
# Also, one test needs a finite fd limit to be useful, so we
|
||||
# can set that here.
|
||||
env LD_LIBRARY_PATH=/usr/local/lib \
|
||||
bash -c 'ulimit -S -n 1024; ulimit -H -n 4096; exec "$@"' bash \
|
||||
gnome-desktop-testing-runner -d /usr/local/share dbus/ || \
|
||||
maybe_fail_tests
|
||||
|
||||
# Some tests benefit from being re-run as non-root, if we were
|
||||
# not already...
|
||||
if [ "$(id -u)" = 0 ] && [ "$ci_in_docker" = yes ]; then
|
||||
sudo -u user \
|
||||
env LD_LIBRARY_PATH=/usr/local/lib \
|
||||
gnome-desktop-testing-runner -d /usr/local/share \
|
||||
dbus/test-dbus-daemon_with_config.test \
|
||||
|| maybe_fail_tests
|
||||
fi
|
||||
|
||||
# ... while other tests benefit from being re-run as root, if
|
||||
# we were not already
|
||||
if [ "$(id -u)" != 0 ]; then
|
||||
sudo env LD_LIBRARY_PATH=/usr/local/lib \
|
||||
bash -c 'ulimit -S -n 1024; ulimit -H -n 4096; exec "$@"' bash \
|
||||
gnome-desktop-testing-runner -d /usr/local/share \
|
||||
dbus/test-dbus-daemon_with_config.test \
|
||||
dbus/test-uid-permissions_with_config.test || \
|
||||
maybe_fail_tests
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
|
|
|
|||
|
|
@ -9,10 +9,10 @@ import sys
|
|||
from pathlib import Path
|
||||
|
||||
for d in sys.argv[1].split(':'):
|
||||
if os.path.isabs(d) and 'DESTDIR' in os.environ:
|
||||
if os.path.isabs(d):
|
||||
p = Path(d)
|
||||
d = p.relative_to(p.anchor)
|
||||
dest = os.path.join(os.environ['DESTDIR'], d)
|
||||
dest = os.path.join(os.environ.get('DESTDIR', '/'), d)
|
||||
else:
|
||||
dest = os.path.join(os.environ['MESON_INSTALL_DESTDIR_PREFIX'], d)
|
||||
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ link_name, d, pointing_to = sys.argv[1:]
|
|||
if os.path.isabs(d):
|
||||
p = Path(d)
|
||||
d = p.relative_to(p.anchor)
|
||||
dest = os.path.join(os.environ['DESTDIR'], d)
|
||||
dest = os.path.join(os.environ.get('DESTDIR', '/'), d)
|
||||
else:
|
||||
dest = os.path.join(os.environ['MESON_INSTALL_DESTDIR_PREFIX'], d)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue