diff options
author | Lennart Poettering <lennart@poettering.net> | 2018-12-05 22:15:43 +0100 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2018-12-07 12:25:24 +0100 |
commit | bf246ba00ee70b46f6f52483382aad7c383d0c3a (patch) | |
tree | bd3ed39fe0774bf4b0ba668fef50d3cbecd70c08 | |
parent | 0373fc5b6f8478aa5d07458a7c2267a5b26daa1d (diff) | |
download | systemd-bf246ba00ee70b46f6f52483382aad7c383d0c3a.tar.gz |
networkd-test: add mkosi snippet for building and running networkd-tets.py in a network namespaced container
This provides us with an easy command line to test this script. Because
the test was so difficult to get running noone ever did, hence it broke
badly quickly. Let's fix that.
-rwxr-xr-x | test/mkosi.build.networkd-test | 24 | ||||
-rw-r--r-- | test/mkosi.default.networkd-test | 80 | ||||
-rw-r--r-- | test/mkosi.nspawn.networkd-test | 2 |
3 files changed, 106 insertions, 0 deletions
diff --git a/test/mkosi.build.networkd-test b/test/mkosi.build.networkd-test new file mode 100755 index 0000000000..cdaa4302f7 --- /dev/null +++ b/test/mkosi.build.networkd-test @@ -0,0 +1,24 @@ +#!/bin/sh +set -ex + +# First, source in the main build script +. "$SRCDIR"/mkosi.build + +mkdir -p "$DESTDIR"/usr/local/bin +cp "$SRCDIR"/test/networkd-test.py "$DESTDIR"/usr/local/bin/networkd-test.py + +mkdir -p "$DESTDIR"/etc/systemd/system +cat > "$DESTDIR"/etc/systemd/system/networkd-test.service <<EOF +[Unit] +Description=networkd test service +SuccessAction=exit +FailureAction=exit + +[Service] +ExecStart=/usr/local/bin/networkd-test.py +EOF + +mkdir -p "$DESTDIR"/etc/systemd/system/multi-user.target.wants/ +ln -s ../networkd-test.service "$DESTDIR"/etc/systemd/system/multi-user.target.wants/ + +systemctl --root="$DESTDIR" disable systemd-networkd.service diff --git a/test/mkosi.default.networkd-test b/test/mkosi.default.networkd-test new file mode 100644 index 0000000000..9630d3ec42 --- /dev/null +++ b/test/mkosi.default.networkd-test @@ -0,0 +1,80 @@ +# Puts together an nspawn container and runs networkd-test.py in it, inside a +# network namespace and everything. Run this with "mkosi +# --default=mkosi.default.networkd-test boot". This will start the test and +# eventually exit with sucess in case the test succeeded. + +[Distribution] +Distribution=fedora +Release=29 + +[Output] +Format=raw_btrfs +Bootable=yes +KernelCommandLine=printk.devkmsg=on +OutputDirectory=../mkosi.output +Output=networkd-test.raw + +[Partitions] +RootSize=3G + +[Packages] +BuildPackages= + audit-libs-devel + bzip2-devel + cryptsetup-devel + dbus-devel + diffutils + docbook-style-xsl + elfutils-devel + gcc + gettext + git + gnu-efi + gnu-efi-devel + gnutls-devel + gperf + hostname + iptables-devel + kmod-devel + libacl-devel + libblkid-devel + libcap-devel + libcurl-devel + libgcrypt-devel + libidn2-devel + libmicrohttpd-devel + libmount-devel + libseccomp-devel + libselinux-devel + libtool + libxkbcommon-devel + libxslt + lz4 + lz4-devel + m4 + meson + pam-devel + pcre2-devel + pkgconfig + python3-devel + python3-lxml + qrencode-devel + tree + xz-devel + +Packages= + dnsmasq + iproute + libidn2 + polkit + python3 + +# Share caches with the top-level mkosi +BuildDirectory=../mkosi.builddir +Cache=../mkosi.cache + +# Run our own script +BuildScript=mkosi.build.networkd-test + +BuildSources=.. +NSpawnSettings=mkosi.nspawn.networkd-test diff --git a/test/mkosi.nspawn.networkd-test b/test/mkosi.nspawn.networkd-test new file mode 100644 index 0000000000..a23aed6eda --- /dev/null +++ b/test/mkosi.nspawn.networkd-test @@ -0,0 +1,2 @@ +[Network] +Private=yes |