9 mountpoint "$mountpath" &>/dev/null || mount "$disk" "$mountpath"
13 mountpoint "$mountpath" &>/dev/null && umount "$mountpath"
17 @test "debian_version exists and is valid version" {
18 run cat "${mountpath}/etc/debian_version"
20 [[ "$output" == [0-9]*.[0-9]* ]] || [[ "$output" == 'bookworm/sid' ]]
23 @test "kernel exists" {
24 run ls "${mountpath}"/boot/vmlinuz-*
26 [[ "$output" =~ ${mountpath}/boot/vmlinuz-* ]]
29 @test "initrd exists" {
30 run ls "${mountpath}"/boot/initrd.img-*
32 [[ "$output" =~ ${mountpath}/boot/initrd.img-* ]]
35 @test "grub-pc installed" {
36 run chroot $mountpath dpkg-query --show --showformat='${Status}' grub-pc
38 [[ "$output" == "install ok installed" ]]
41 @test "ext3/ext4 filesystem" {
42 fstype=$(blkid -o udev ${disk} | grep '^ID_FS_TYPE=')
45 [[ $output =~ ID_FS_TYPE=ext[34] ]]
48 @test "partition table" {
49 table_info=$(parted -s ${device} 'unit s print' | grep -A1 '^Number.*Start.*End' | tail -1)
50 regex='1 2048s.*primary ext[34] boot'
52 echo "debug: table_info = $table_info"
53 echo "debug: output = $output"
54 [[ $output =~ $regex ]]
57 @test "tune2fs mount count setting" {
58 mount_count=$(tune2fs -l "$disk" | grep "^Maximum mount count:")
59 run echo "$mount_count"
60 [[ "$output" == "Maximum mount count: -1" ]]
63 @test "kernel entry in grub config" {
64 run grep "Debian GNU/Linux" "${mountpath}/boot/grub/grub.cfg"
68 @test "vim package is installed" {
69 run chroot "$mountpath" dpkg --list vim
73 @test "home directory for user vagrant" {
74 run ls -d "$mountpath"/home/vagrant
78 @test "ssh key for user vagrant" {
79 run grep -q ssh-rsa "$mountpath"/home/vagrant/.ssh/authorized_keys
83 @test "sudo setup for user vagrant" {
84 run grep -q '^vagrant ALL=(ALL) NOPASSWD: ALL' "${mountpath}/etc/sudoers.d/vagrant" "${mountpath}/etc/sudoers"
88 @test "check for GRUB in MBR" {
89 # note: ^00000170 for lenny
90 # note: ^00000180 for >=wheezy
91 regex='^000001[78]0.*GRUB.*'
92 grub_string=$(dd if=${device} bs=512 count=1 2>/dev/null | hexdump -C | egrep "$regex")
93 run echo "$grub_string"
94 echo "debug: grub_string = $grub_string"
95 echo "debug: output = $output"
96 [[ $output =~ $regex ]]