summaryrefslogtreecommitdiff
path: root/tests/ts/libmount/update
blob: 92c92b081ae05ba9a769a93dad79ffe594931a9c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
#!/bin/bash

# Copyright (C) 2010 Karel Zak <kzak@redhat.com>

TS_TOPDIR="$(dirname $0)/../.."
TS_DESC="tab update"

. $TS_TOPDIR/functions.sh
ts_init "$*"

TESTPROG="$TS_HELPER_LIBMOUNT_UPDATE"

# IMPORTANT notes:
#
#  - the $TS_OUTPUT variable is between ts_init_subtest and ts_finalize_subtest
#    redefined to subtest specific namespace -- it means that $TS_OUTPUT is a
#    different file within a subtest.
#
#  - all this test uses global $TS_OUTPUT.{mtab,mountinfo}


#
# Traditional /etc/mtab
#
export LIBMOUNT_MTAB=$TS_OUTPUT.mtab

rm $LIBMOUNT_MTAB
> $LIBMOUNT_MTAB

ts_init_subtest "mtab-mount"
$TESTPROG --add /dev/sda1 /mnt/foo ext3 "rw,bbb,ccc,fff=FFF,ddd,noexec"
$TESTPROG --add /dev/sdb1 /mnt/bar ext3 "gg=G,ffff=f,ro,noatime"
$TESTPROG --add /dev/sda2 /mnt/bar ext3 "rw,noatime"
$TESTPROG --add /dev/sda1 /mnt/gogo ext3 "rw,noatime,nosuid"
cp $LIBMOUNT_MTAB $TS_OUTPUT	# save the mtab aside
ts_finalize_subtest		# checks the mtab

ts_init_subtest "mtab-move"
$TESTPROG --move /mnt/foo /mnt/newfoo
$TESTPROG --move /mnt/bar /mnt/newbar
cp $LIBMOUNT_MTAB $TS_OUTPUT	# save the mtab aside
ts_finalize_subtest		# checks the mtab

ts_init_subtest "mtab-remount"
$TESTPROG --remount /mnt/newfoo "ro,noatime"
$TESTPROG --remount /mnt/bar "rw,atime,nosuid"
cp $LIBMOUNT_MTAB $TS_OUTPUT	# save the mtab aside
ts_finalize_subtest		# checks the mtab

ts_init_subtest "mtab-umount"
$TESTPROG --remove /mnt/bar
$TESTPROG --remove /mnt/gogo
cp $LIBMOUNT_MTAB $TS_OUTPUT	# save the mtab aside
ts_finalize_subtest		# checks the mtab

#
# utab
#
rm $LIBMOUNT_MTAB
ln -s /proc/mounts $LIBMOUNT_MTAB

export LIBMOUNT_UTAB=$TS_OUTPUT.utab
> $LIBMOUNT_UTAB

ts_init_subtest "utab-mount"
$TESTPROG --add /dev/sda1 /mnt/foo ext3 "rw,bbb,ccc,fff=FFF,ddd,noexec"
$TESTPROG --add /dev/sdb1 /mnt/bar ext3 "ro,user"
$TESTPROG --add /dev/sda2 /mnt/xyz ext3 "rw,loop=/dev/loop0,uhelper=hal"
cp $LIBMOUNT_UTAB $TS_OUTPUT	# save the mtab aside
ts_finalize_subtest		# checks the mtab

ts_init_subtest "utab-move"
$TESTPROG --move /mnt/bar /mnt/newbar
$TESTPROG --move /mnt/xyz /mnt/newxyz
cp $LIBMOUNT_UTAB $TS_OUTPUT	# save the mtab aside
ts_finalize_subtest		# checks the mtab

ts_init_subtest "utab-remount"
$TESTPROG --remount /mnt/newbar "ro,noatime"
$TESTPROG --remount /mnt/newxyz "rw,user"
cp $LIBMOUNT_UTAB $TS_OUTPUT	# save the mtab aside
ts_finalize_subtest		# checks the mtab

ts_init_subtest "utab-umount"
$TESTPROG --remove /mnt/newbar
cp $LIBMOUNT_UTAB $TS_OUTPUT	# save the mtab aside
ts_finalize_subtest		# checks the mtab

ts_finalize