@@ -61,6 +61,20 @@ if [ "${ENABLE_VBLK}" -eq "1" ]; then
6161 expect "# " { send "\x01"; send "x" } timeout { exit 3 }
6262 ' )
6363
64+ # multiple blocks, Read-only, one disk image, one loop device (/dev/loopx(Linux) or /dev/diskx(Darwin))
65+ TEST_OPTIONS+=(" ${OPTS_BASE} -x vblk:${VBLK_IMG} ,readonly -x vblk:${BLK_DEV} ,readonly" )
66+ EXPECT_CMDS+=('
67+ expect "buildroot login:" { send "root\n" } timeout { exit 1 }
68+ expect "# " { send "uname -a\n" } timeout { exit 2 }
69+ expect "riscv32 GNU/Linux" { send "mkdir mnt && mount /dev/vda mnt\n" } timeout { exit 3 }
70+ expect "# " { send "echo rv32emu > mnt/emu.txt\n" } timeout { exit 3 }
71+ expect -ex "-sh: can' \' ' t create mnt/emu.txt: Read-only file system" {} timeout { exit 3 }
72+ expect "# " { send "mkdir mnt2 && mount /dev/vdb mnt2\n" } timeout { exit 3 }
73+ expect "# " { send "echo rv32emu > mnt2/emu.txt\n" } timeout { exit 3 }
74+ expect -ex "-sh: can' \' ' t create mnt2/emu.txt: Read-only file system" {} timeout { exit 3 }
75+ expect "# " { send "\x01"; send "x" } timeout { exit 3 }
76+ ' )
77+
6478 # Read-write using disk image
6579 TEST_OPTIONS+=(" ${OPTS_BASE} -x vblk:${VBLK_IMG} " )
6680 VBLK_EXPECT_CMDS='
@@ -77,6 +91,23 @@ if [ "${ENABLE_VBLK}" -eq "1" ]; then
7791 # Read-write using /dev/loopx(Linux) or /dev/diskx(Darwin) block device
7892 TEST_OPTIONS+=(" ${OPTS_BASE} -x vblk:${BLK_DEV} " )
7993 EXPECT_CMDS+=(" ${VBLK_EXPECT_CMDS} " )
94+
95+ # multiple blocks, Read-write, one disk image and one loop device (/dev/loopx(Linux) or /dev/diskx(Darwin))
96+ TEST_OPTIONS+=(" ${OPTS_BASE} -x vblk:${VBLK_IMG} -x vblk:${BLK_DEV} " )
97+ VBLK_EXPECT_CMDS='
98+ expect "buildroot login:" { send "root\n" } timeout { exit 1 }
99+ expect "# " { send "uname -a\n" } timeout { exit 2 }
100+ expect "riscv32 GNU/Linux" { send "mkdir mnt && mount /dev/vda mnt\n" } timeout { exit 3 }
101+ expect "# " { send "echo rv32emu > mnt/emu.txt\n" } timeout { exit 3 }
102+ expect "# " { send "sync\n" } timeout { exit 3 }
103+ expect "# " { send "umount mnt\n" } timeout { exit 3 }
104+ expect "# " { send "mkdir mnt2 && mount /dev/vdb mnt2\n" } timeout { exit 3 }
105+ expect "# " { send "echo rv32emu > mnt2/emu.txt\n" } timeout { exit 3 }
106+ expect "# " { send "sync\n" } timeout { exit 3 }
107+ expect "# " { send "umount mnt2\n" } timeout { exit 3 }
108+ expect "# " { send "\x01"; send "x" } timeout { exit 3 }
109+ '
110+ EXPECT_CMDS+=(" ${VBLK_EXPECT_CMDS} " )
80111fi
81112
82113for i in " ${! TEST_OPTIONS[@]} " ; do
0 commit comments