@@ -61,6 +61,20 @@ if [ "${ENABLE_VBLK}" -eq "1" ]; then
61
61
expect "# " { send "\x01"; send "x" } timeout { exit 3 }
62
62
' )
63
63
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
+
64
78
# Read-write using disk image
65
79
TEST_OPTIONS+=(" ${OPTS_BASE} -x vblk:${VBLK_IMG} " )
66
80
VBLK_EXPECT_CMDS='
@@ -77,6 +91,23 @@ if [ "${ENABLE_VBLK}" -eq "1" ]; then
77
91
# Read-write using /dev/loopx(Linux) or /dev/diskx(Darwin) block device
78
92
TEST_OPTIONS+=(" ${OPTS_BASE} -x vblk:${BLK_DEV} " )
79
93
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} " )
80
111
fi
81
112
82
113
for i in " ${! TEST_OPTIONS[@]} " ; do
0 commit comments