]> git.ipfire.org Git - thirdparty/dracut.git/blobdiff - test/TEST-50-MULTINIC/test.sh
testsuite: increase disk image size
[thirdparty/dracut.git] / test / TEST-50-MULTINIC / test.sh
index b8783802ef05b40fa93d7af9f49210a8fff51e82..7c108aa0e7b879aa07b87493f025b92b718bf6e9 100755 (executable)
@@ -14,13 +14,15 @@ run_server() {
     fsck -a "$TESTDIR"/server.ext3 || return 1
     $testdir/run-qemu \
         -drive format=raw,index=0,media=disk,file="$TESTDIR"/server.ext3 \
-        -m 512M -smp 2 \
+        -m 512M  -smp 2 \
         -display none \
         -net socket,listen=127.0.0.1:12350 \
         -net nic,macaddr=52:54:01:12:34:56,model=e1000 \
         ${SERIAL:+-serial "$SERIAL"} \
+        ${SERIAL:--serial file:"$TESTDIR"/server.log} \
         -watchdog i6300esb -watchdog-action poweroff \
-        -append "loglevel=7 root=/dev/sda rootfstype=ext3 rw console=ttyS0,115200n81 selinux=0" \
+        -no-reboot \
+        -append "panic=1 loglevel=7 root=/dev/sda rootfstype=ext3 rw console=ttyS0,115200n81 selinux=0" \
         -initrd "$TESTDIR"/initramfs.server \
         -pidfile "$TESTDIR"/server.pid -daemonize || return 1
     sudo chmod 644 -- "$TESTDIR"/server.pid || return 1
@@ -48,13 +50,16 @@ client_test() {
         return 1
     fi
 
-    $testdir/run-qemu -drive format=raw,index=0,media=disk,file="$TESTDIR"/client.img -m 512M -smp 2 -nographic \
-        -net socket,connect=127.0.0.1:12350 \
-        -net nic,macaddr=52:54:00:12:34:$mac1,model=e1000 \
-        -net nic,macaddr=52:54:00:12:34:$mac2,model=e1000 \
-        -net nic,macaddr=52:54:00:12:34:$mac3,model=e1000 \
+    $testdir/run-qemu -drive format=raw,index=0,media=disk,file="$TESTDIR"/client.img -m 512M  -smp 2 -nographic \
+        -net socket,vlan=0,connect=127.0.0.1:12350 \
+        -net nic,vlan=0,macaddr=52:54:00:12:34:$mac1,model=e1000 \
+        -net nic,vlan=0,macaddr=52:54:00:12:34:$mac2,model=e1000 \
+        -net nic,vlan=0,macaddr=52:54:00:12:34:$mac3,model=e1000 \
+        -net nic,vlan=1,macaddr=52:54:00:12:34:98,model=e1000 \
+        -net nic,vlan=2,macaddr=52:54:00:12:34:99,model=e1000 \
         -watchdog i6300esb -watchdog-action poweroff \
-        -append "$cmdline $DEBUGFAIL rd.retry=5 ro console=ttyS0,115200n81 selinux=0 init=/sbin/init rd.debug systemd.log_target=console loglevel=7" \
+        -no-reboot \
+        -append "panic=1 rd.shell=0 $cmdline $DEBUGFAIL rd.retry=5 ro console=ttyS0,115200n81 selinux=0 init=/sbin/init rd.debug systemd.log_target=console loglevel=7" \
         -initrd "$TESTDIR"/initramfs.testing
 
     { read OK; read IFACES; } < "$TESTDIR"/client.img
@@ -90,7 +95,10 @@ test_run() {
         echo "Failed to start server" 1>&2
         return 1
     fi
-    test_client || { kill_server; return 1; }
+    test_client
+    ret=$?
+    kill_server
+    return $ret
 }
 
 test_client() {
@@ -133,13 +141,21 @@ test_client() {
         "root=dhcp ip=ens3:dhcp ip=ens4:dhcp ip=ens5:dhcp bootdev=ens5" \
         "ens3 ens4 ens5" || return 1
 
-    kill_server
+    client_test "MULTINIC bonding" \
+        00 01 02 \
+        "root=nfs:192.168.50.1:/nfs/client ip=bond0:dhcp  bond=bond0:ens3,ens4,ens5:mode=balance-rr" \
+        "bond0" || return 1
+
+    client_test "MULTINIC bridging" \
+        00 01 02 \
+        "root=nfs:192.168.50.1:/nfs/client ip=bridge0:dhcp  bridge=bridge0:ens3,ens6,ens7" \
+        "bridge0" || return 1
     return 0
 }
 
 test_setup() {
      # Make server root
-    dd if=/dev/null of="$TESTDIR"/server.ext3 bs=1M seek=60
+    dd if=/dev/null of="$TESTDIR"/server.ext3 bs=1M seek=120
     mke2fs -j -F -- "$TESTDIR"/server.ext3
     mkdir -- "$TESTDIR"/mnt
     sudo mount -o loop -- "$TESTDIR"/server.ext3 "$TESTDIR"/mnt
@@ -205,7 +221,7 @@ test_setup() {
         inst /etc/group /etc/group
 
         cp -a -- /etc/ld.so.conf* "$initdir"/etc
-        sudo ldconfig -r -- "$initdir"
+        ldconfig -r "$initdir"
         dracut_kernel_post
     )
 
@@ -258,6 +274,7 @@ test_setup() {
         export initdir="$TESTDIR"/overlay
         . "$basedir"/dracut-init.sh
         inst_multiple poweroff shutdown
+        inst_hook shutdown-emergency 000 ./hard-off.sh
         inst_hook emergency 000 ./hard-off.sh
         inst_simple ./99-idesymlinks.rules /etc/udev/rules.d/99-idesymlinks.rules
     )