]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
networkd-test: add mkosi snippet for building and running networkd-tets.py in a netwo... 11084/head
authorLennart Poettering <lennart@poettering.net>
Wed, 5 Dec 2018 21:15:43 +0000 (22:15 +0100)
committerLennart Poettering <lennart@poettering.net>
Fri, 7 Dec 2018 11:25:24 +0000 (12:25 +0100)
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.

test/mkosi.build.networkd-test [new file with mode: 0755]
test/mkosi.default.networkd-test [new file with mode: 0644]
test/mkosi.nspawn.networkd-test [new file with mode: 0644]

diff --git a/test/mkosi.build.networkd-test b/test/mkosi.build.networkd-test
new file mode 100755 (executable)
index 0000000..cdaa430
--- /dev/null
@@ -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 (file)
index 0000000..9630d3e
--- /dev/null
@@ -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 (file)
index 0000000..a23aed6
--- /dev/null
@@ -0,0 +1,2 @@
+[Network]
+Private=yes