tests: add libmount mtab update test

Signed-off-by: Karel Zak <kzak@redhat.com>
This commit is contained in:
Karel Zak 2010-10-21 09:00:50 +02:00
parent 3a5b1b1d5d
commit 418187ce96
8 changed files with 83 additions and 0 deletions

View File

@ -20,6 +20,7 @@ TS_HELPER_LIBMOUNT_OPTSTR="$top_builddir/shlibs/mount/src/test_optstr"
TS_HELPER_LIBMOUNT_TAB="$top_builddir/shlibs/mount/src/test_tab"
TS_HELPER_LIBMOUNT_UTILS="$top_builddir/shlibs/mount/src/test_utils"
TS_HELPER_LIBMOUNT_LOCK="$top_builddir/shlibs/mount/src/test_lock"
TS_HELPER_LIBMOUNT_UPDATE="$top_builddir/shlibs/mount/src/test_tab_update"
# TODO: use partx
TS_HELPER_PARTITIONS="$top_builddir/shlibs/blkid/samples/partitions"

View File

@ -0,0 +1 @@
result: >aaa,bbb=BBB,ccc<

View File

@ -0,0 +1,3 @@
/dev/sda1 /mnt/foo ext3 rw,bbb,ccc,fff=FFF,ddd,noexec 1 2
/dev/sda2 /mnt/bar auto defaults 1 2
/dev/sda3 /mnt/bar auto rw,context="some,selinux,junk",noatime 1 2

View File

@ -0,0 +1,4 @@
/dev/sda1 /mnt/foo ext3 rw,bbb,ccc,fff=FFF,ddd,noexec 0 0
/dev/sdb1 /mnt/bar ext3 gg=G,ffff=f,ro,noatime 0 0
/dev/sda2 /mnt/bar ext3 rw,noatime 0 0
/dev/sda1 /mnt/gogo ext3 rw,noatime,nosuid 0 0

View File

@ -0,0 +1,4 @@
/dev/sda1 /mnt/newfoo ext3 rw,bbb,ccc,fff=FFF,ddd,noexec 0 0
/dev/sdb1 /mnt/bar ext3 gg=G,ffff=f,ro,noatime 0 0
/dev/sda2 /mnt/newbar ext3 rw,noatime 0 0
/dev/sda1 /mnt/gogo ext3 rw,noatime,nosuid 0 0

View File

@ -0,0 +1,4 @@
/dev/sda1 /mnt/newfoo ext3 ro,noatime 0 0
/dev/sdb1 /mnt/bar ext3 rw,atime,nosuid 0 0
/dev/sda2 /mnt/newbar ext3 rw,noatime 0 0
/dev/sda1 /mnt/gogo ext3 rw,noatime,nosuid 0 0

View File

@ -0,0 +1,2 @@
/dev/sda1 /mnt/newfoo ext3 ro,noatime 0 0
/dev/sda2 /mnt/newbar ext3 rw,noatime 0 0

64
tests/ts/libmount/update Executable file
View File

@ -0,0 +1,64 @@
#!/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
export LIBMOUNT_FSTAB=$TS_OUTPUT.fstab
> $LIBMOUNT_MTAB
> $LIBMOUNT_FSTAB
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
ts_init_subtest "fstab-add"
$TESTPROG --add-fstab /dev/sda1 /mnt/foo ext3 "rw,bbb,ccc,fff=FFF,ddd,noexec" 1 2
$TESTPROG --add-fstab /dev/sda2 /mnt/bar auto "defaults" 1 2
$TESTPROG --add-fstab /dev/sda3 /mnt/bar auto "rw,context=\"some,selinux,junk\",noatime" 1 2
cp $LIBMOUNT_FSTAB $TS_OUTPUT # save the fstab aside
ts_finalize_subtest # checks the fstab
ts_finalize