diff options
Diffstat (limited to 'tests/f_detect_junk')
-rw-r--r-- | tests/f_detect_junk/expect | 22 | ||||
-rw-r--r-- | tests/f_detect_junk/expect.nodebugfs | 21 | ||||
-rw-r--r-- | tests/f_detect_junk/image.bz2 | bin | 0 -> 2504 bytes | |||
-rw-r--r-- | tests/f_detect_junk/name | 1 | ||||
-rw-r--r-- | tests/f_detect_junk/script | 43 |
5 files changed, 87 insertions, 0 deletions
diff --git a/tests/f_detect_junk/expect b/tests/f_detect_junk/expect new file mode 100644 index 0000000..39f99af --- /dev/null +++ b/tests/f_detect_junk/expect @@ -0,0 +1,22 @@ +*** e2fsck +ext2fs_open2: Bad magic number in super-block +../e2fsck/e2fsck: Superblock invalid, trying backup blocks... +../e2fsck/e2fsck: Bad magic number in super-block while trying to open test.img + +The superblock could not be read or does not describe a valid ext2/ext3/ext4 +filesystem. If the device is valid and it really contains an ext2/ext3/ext4 +filesystem (and not swap or ufs or something else), then the superblock +is corrupt, and you might try running e2fsck with an alternate superblock: + e2fsck -b 8193 <device> + or + e2fsck -b 32768 <device> + +*** debugfs +debugfs: Bad magic number in super-block while trying to open test.img +*** tune2fs +../misc/tune2fs: Bad magic number in super-block while trying to open test.img +*** mke2fs +Creating filesystem with 16384 1k blocks and 4096 inodes +Superblock backups stored on blocks: + 8193 + diff --git a/tests/f_detect_junk/expect.nodebugfs b/tests/f_detect_junk/expect.nodebugfs new file mode 100644 index 0000000..b528046 --- /dev/null +++ b/tests/f_detect_junk/expect.nodebugfs @@ -0,0 +1,21 @@ +*** e2fsck +ext2fs_open2: Bad magic number in super-block +../e2fsck/e2fsck: Superblock invalid, trying backup blocks... +../e2fsck/e2fsck: Bad magic number in super-block while trying to open test.img + +The superblock could not be read or does not describe a valid ext2/ext3/ext4 +filesystem. If the device is valid and it really contains an ext2/ext3/ext4 +filesystem (and not swap or ufs or something else), then the superblock +is corrupt, and you might try running e2fsck with an alternate superblock: + e2fsck -b 8193 <device> + or + e2fsck -b 32768 <device> + +*** debugfs +*** tune2fs +../misc/tune2fs: Bad magic number in super-block while trying to open test.img +*** mke2fs +Creating filesystem with 16384 1k blocks and 4096 inodes +Superblock backups stored on blocks: + 8193 + diff --git a/tests/f_detect_junk/image.bz2 b/tests/f_detect_junk/image.bz2 Binary files differnew file mode 100644 index 0000000..3d52600 --- /dev/null +++ b/tests/f_detect_junk/image.bz2 diff --git a/tests/f_detect_junk/name b/tests/f_detect_junk/name new file mode 100644 index 0000000..81cf655 --- /dev/null +++ b/tests/f_detect_junk/name @@ -0,0 +1 @@ +detect non-fs file data diff --git a/tests/f_detect_junk/script b/tests/f_detect_junk/script new file mode 100644 index 0000000..2577842 --- /dev/null +++ b/tests/f_detect_junk/script @@ -0,0 +1,43 @@ +#!/bin/bash + +if [ "$(grep -c 'define HAVE_MAGIC_H' ../lib/config.h)" -eq 0 ]; then + echo "$test_name: skipped (no magic)" + exit 0 +fi + +FSCK_OPT=-fn +IMAGE=$test_dir/image.bz2 + +bzip2 -d < $IMAGE > $TMPFILE +$DD if=/dev/zero of=$TMPFILE conv=notrunc oflag=append bs=1024k count=16 > /dev/null 2>&1 + +# Run fsck to fix things? +if [ -x $DEBUGFS_EXE ]; then + EXP=$test_dir/expect +else + EXP=$test_dir/expect.nodebugfs +fi +OUT=$test_name.log +rm -f $test_name.failed $test_name.ok + +echo "*** e2fsck" > $OUT +$FSCK $FSCK_OPT $TMPFILE >> $OUT 2>&1 +echo "*** debugfs" >> $OUT +test -x $DEBUGFS_EXE && $DEBUGFS -R 'quit' $TMPFILE >> $OUT 2>&1 +echo "*** tune2fs" >> $OUT +$TUNE2FS -i 0 $TMPFILE >> $OUT 2>&1 +echo "*** mke2fs" >> $OUT +$MKE2FS -n $TMPFILE >> $OUT 2>&1 + +sed -f $cmd_dir/filter.sed < $OUT > $OUT.new +mv $OUT.new $OUT + +# Figure out what happened +if cmp -s $EXP $OUT; then + echo "$test_name: $test_description: ok" + touch $test_name.ok +else + echo "$test_name: $test_description: failed" + diff -u $EXP $OUT >> $test_name.failed +fi +unset EXP OUT FSCK_OPT IMAGE |