ref: 4355e87515c6de01778d569808a6258613e84a8f
dir: /tests/initramfs-init.test/
#!/usr/bin/env atf-sh . $(atf_get_srcdir)/test_env.sh init_tests \ initramfs_init_cmdline_root \ initramfs_init_blacklist \ initramfs_init_tmpfs_root \ initramfs_init_tmpfs_root_modloop_sign \ initramfs_init_tmpfs_root_net_apkovl \ initramfs_init_tmpfs_root_console_serial \ initramfs_init_tmpfs_root_autodetect_serial fake_cmdline() { mkdir -p proc echo "$@" > proc/cmdline } fake_bin() { mkdir -p bin cat > bin/"$1" chmod +x bin/"$1" } fake_sysroot_init() { mkdir -p sysroot/sbin touch sysroot/sbin/init chmod +x sysroot/sbin/init } fake_switch_root() { fake_bin switch_root <<-EOF #!/bin/sh echo "switch_root OK" EOF } initramfs_init_cmdline_root_body() { fake_cmdline "root=/dev/vda1" fake_switch_root atf_check -o match:"Alpine Init" \ -o match:"nlplug-findfs" \ -o match:"mount.*-o ro.*/dev/vda1.*/sysroot" \ -o match:"switch_root OK" \ initramfs-init } initramfs_init_blacklist_body() { fake_cmdline "root=/dev/vda1 blacklist=dummy,evbug" fake_switch_root atf_check -o match:"switch_root OK" \ initramfs-init atf_check -o match:"blacklist dummy" \ -o match:"blacklist evbug" \ cat etc/modprobe.d/* } initramfs_init_tmpfs_root_body() { fake_cmdline "" fake_switch_root fake_sysroot_init atf_check \ -o match:"nlplug-findfs" \ -o match:"mount.*tmpfs .*/sysroot" \ -o match:"switch_root OK" \ initramfs-init } initramfs_init_tmpfs_root_modloop_sign_body() { fake_cmdline "" fake_switch_root fake_sysroot_init mkdir -p var/cache/misc touch var/cache/misc/modloop.SIGN.RSA.ncopa-4d1b7620.rsa.pub atf_check \ -o match:"switch_root OK" \ initramfs-init atf_check \ test -f sysroot/var/cache/misc/modloop.SIGN.RSA.ncopa-4d1b7620.rsa.pub } initramfs_init_tmpfs_root_net_apkovl_body() { fake_cmdline "apkovl=https://example.com/{UUID}/foo.apkovl.tar.gz" fake_switch_root fake_sysroot_init mkdir -p sys/class/dmi/id echo "c7c29fe0-cf90-4024-8ba3-208387fc7ac6" > sys/class/dmi/id/product_uuid atf_check \ -o match:"wget .* https://example.com/c7c29fe0-cf90-4024-8ba3-208387fc7ac6/foo.apkovl.tar.gz" \ initramfs-init } initramfs_init_tmpfs_root_console_serial_body() { fake_cmdline "console=ttyS0" fake_switch_root fake_sysroot_init fake_bin stty <<-EOF #!/bin/sh true EOF mkdir -p sys/class/tty/console echo tty0 > sys/class/tty/console/active atf_check \ -o ignore \ initramfs-init atf_check \ -o match:"tty0::respawn:/sbin/getty" \ -o match:"ttyS0::respawn:/sbin/getty" \ cat sysroot/etc/inittab } initramfs_init_tmpfs_root_autodetect_serial_body() { fake_cmdline "" fake_switch_root fake_sysroot_init fake_bin stty <<-EOF #!/bin/sh true EOF mkdir -p proc/tty/driver cat > proc/tty/driver/serial <<-EOF 0: uart:16550A port:000003F8 irq:4 tx:0 rx:0 CTS|DSR 1: uart:16550A port:000002F8 irq:3 tx:103 rx:0 RTS|DTR 2: uart:unknown port:000003E8 irq:4 3: uart:unknown port:000002E8 irq:3 EOF atf_check \ -o ignore \ initramfs-init atf_check \ -o match:"ttyS0::respawn:/sbin/getty" \ cat sysroot/etc/inittab }