source: MondoRescue/branches/3.2/mindi-busybox/testsuite/mount.tests

Last change on this file was 3232, checked in by Bruno Cornec, 10 years ago
  • Update mindi-busybox to 1.21.1
  • Property svn:executable set to *
File size: 3.1 KB
Line 
1#!/bin/sh
2# Copyright 2007 by Denys Vlasenko <vda.linux@googlemail.com>
3# Licensed under GPLv2, see file LICENSE in this source tree.
4
5. ./testing.sh
6test -f "$bindir/.config" && . "$bindir/.config"
7
8test "`id -u`" = 0 || {
9 echo "SKIPPED: mount (must be root to test this)"
10 exit 0
11}
12
13if test x"$CONFIG_MKFS_MINIX" != x"y" \
14|| test x"$CONFIG_FEATURE_MINIX2" != x"y" \
15|| test x"$CONFIG_FEATURE_MOUNT_LOOP" != x"y" \
16|| test x"$CONFIG_FEATURE_MOUNT_FLAGS" != x"y" \
17|| test x"$CONFIG_FEATURE_DEVFS" = x"y" \
18; then
19 echo "SKIPPED: mount"
20 exit 0
21fi
22
23testdir="$PWD/mount.testdir"
24
25dd if=/dev/zero of=mount.image1m count=1 bs=1M 2>/dev/null || { echo "dd error"; exit 1; }
26mkfs.minix -v mount.image1m >/dev/null 2>&1 || { echo "mkfs.minix error"; exit 1; }
27modprobe minix 2>/dev/null
28mkdir "$testdir" 2>/dev/null
29umount -d "$testdir" 2>/dev/null
30
31# testing "test name" "command" "expected result" "file input" "stdin"
32# file input will be file called "input"
33# test can create a file "actual" instead of writing to stdout
34
35testing "mount -o remount,mand" \
36"mount -o loop mount.image1m $testdir "\
37"&& grep -Fc $testdir </proc/mounts "\
38"&& mount -o remount,mand $testdir "\
39"&& grep -F $testdir </proc/mounts | grep -c '[, ]mand[, ]'"\
40"|| grep -F $testdir </proc/mounts" \
41 "1\n""1\n" \
42 "" ""
43
44umount -d "$testdir"
45rmdir "$testdir"
46rm mount.image1m
47
48
49# Bug: mount.shared1 directory shows no files (has to show files a and b)
50optional FEATURE_LS_RECURSIVE FEATURE_LS_SORTFILES
51testing "mount bind+rshared" "\
52mkdir -p mount.dir mount.shared1 mount.shared2
53touch mount.dir/a mount.dir/b
54
55mount --bind mount.shared1 mount.shared1 2>&1
56mount --make-rshared mount.shared1 2>&1
57mount --bind mount.shared2 mount.shared2 2>&1
58mount --make-rshared mount.shared2 2>&1
59
60mount --bind mount.shared2 mount.shared1 2>&1
61mount --bind mount.dir mount.shared2 2>&1
62
63ls -R mount.dir mount.shared1 mount.shared2 2>&1
64
65umount mount.dir mount.shared1 mount.shared2 2>/dev/null
66umount mount.dir mount.shared1 mount.shared2 2>/dev/null
67umount mount.dir mount.shared1 mount.shared2 2>/dev/null
68rm -f mount.dir/a mount.dir/b mount.dir/c
69rmdir mount.dir mount.shared1 mount.shared2
70" \
71"\
72mount.dir:
73a
74b
75
76mount.shared1:
77a
78b
79
80mount.shared2:
81a
82b
83" \
84 "" ""
85SKIP=
86
87
88testing "mount RO loop" "\
89exec 2>&1
90umount -d mount.dir 2>/dev/null
91rmdir mount.dir 2>/dev/null
92mkdir -p mount.dir
93(
94cd mount.dir || { echo 'cd error'; exit 1; }
95mkdir z1 z2 || { echo 'mkdir error'; exit 1; }
96mount -t tmpfs tmpfs z1 || { echo 'mount tmpfs error'; exit 1; }
97dd if=/dev/zero of=z1/e2img count=10 bs=1M 2>/dev/null || { echo 'dd error'; exit 1; }
98mke2fs -F z1/e2img 2>/dev/null >&2 || { echo 'mke2fs error'; exit 1; }
99mount -r -o loop -t ext2 z1/e2img z2 || { echo 'mount -r -o loop error'; exit 1; }
100mount -o remount,ro z1 || { echo 'mount -o remount,ro error'; exit 1; }
101)
102umount -d mount.dir/z2
103##losetup -d /dev/loop*
104umount -d mount.dir/z1
105rm -rf mount.dir
106echo DONE
107" \
108"DONE\n" "" ""
109
110
111exit $FAILCOUNT
Note: See TracBrowser for help on using the repository browser.