diff options
Diffstat (limited to 'tests/ts/minix/fsck')
-rwxr-xr-x | tests/ts/minix/fsck | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/tests/ts/minix/fsck b/tests/ts/minix/fsck new file mode 100755 index 0000000..9d4aa0d --- /dev/null +++ b/tests/ts/minix/fsck @@ -0,0 +1,59 @@ +#!/bin/bash +# +# Copyright (C) 2009 Karel Zak <kzak@redhat.com> +# +# This file is part of util-linux. +# +# This file is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This file is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +TS_TOPDIR="${0%/*}/../.." +TS_DESC="mkfs fsck" + +. "$TS_TOPDIR"/functions.sh +ts_init "$*" + +ts_check_test_command "$TS_CMD_MKMINIX" +ts_check_test_command "$TS_CMD_FSCKMINIX" + +mkfs_and_fsck_minix() { + local ret + ts_log "#####################################" + ts_log_both "$ mkfs.minix $1 image" + $TS_CMD_MKMINIX $1 $img >> $TS_OUTPUT 2>> $TS_ERRLOG + ret=$? + echo "return mkfs: $ret" >> $TS_OUTPUT + test $ret = 0 || return $ret + + ts_log_both "$ fsck.minix -lavsf image" + $TS_CMD_FSCKMINIX -lavsf $img >> $TS_OUTPUT 2>> $TS_ERRLOG + ret=$? + echo "return fsck: $ret" >> $TS_OUTPUT + return $ret +} + +img=$(ts_image_init) + +# TODO looping over arbitrary badblock files (-l bad) gives a lot segfaults +for ver in "" "-1" "-2" "-3"; do +for n in "" "-n 14" "-n 30" "-n 60"; do + mkfs_and_fsck_minix "$ver $n" +done +done + +rm -f $img + +# escape "@" with "\@" in $img. This way sed correctly +# replaces paths containing "@" characters +sed -i "s@${img//\@/\\\@}@image@g" $TS_OUTPUT + + +ts_finalize + |