diff options
Diffstat (limited to 'tests/r_inline_xattr')
-rw-r--r-- | tests/r_inline_xattr/expect | 14 | ||||
-rw-r--r-- | tests/r_inline_xattr/image.gz | bin | 0 -> 18907 bytes | |||
-rw-r--r-- | tests/r_inline_xattr/name | 1 | ||||
-rw-r--r-- | tests/r_inline_xattr/script | 51 |
4 files changed, 66 insertions, 0 deletions
diff --git a/tests/r_inline_xattr/expect b/tests/r_inline_xattr/expect new file mode 100644 index 0000000..773db10 --- /dev/null +++ b/tests/r_inline_xattr/expect @@ -0,0 +1,14 @@ +resize2fs test +debugfs -R ''stat file'' test.img 2>&1 | grep -E ''^Inode\|in inode body\|user.name \('' +Inode: 1550 Type: regular Mode: 0644 Flags: 0x0 + user.name (11) = "propervalue" +Exit status is 0 +resize2fs test.img 5M +Resizing the filesystem on test.img to 5120 (1k) blocks. +The filesystem on test.img is now 5120 (1k) blocks long. + +Exit status is 0 +debugfs -R ''stat file'' test.img 2>&1 | grep -E ''^Inode\|in inode body\|user.name \('' +Inode: 12 Type: regular Mode: 0644 Flags: 0x0 + user.name (11) = "propervalue" +Exit status is 0 diff --git a/tests/r_inline_xattr/image.gz b/tests/r_inline_xattr/image.gz Binary files differnew file mode 100644 index 0000000..ead2869 --- /dev/null +++ b/tests/r_inline_xattr/image.gz diff --git a/tests/r_inline_xattr/name b/tests/r_inline_xattr/name new file mode 100644 index 0000000..97654fb --- /dev/null +++ b/tests/r_inline_xattr/name @@ -0,0 +1 @@ +shrinking filesystem with in-inode extended attributes diff --git a/tests/r_inline_xattr/script b/tests/r_inline_xattr/script new file mode 100644 index 0000000..2f754e6 --- /dev/null +++ b/tests/r_inline_xattr/script @@ -0,0 +1,51 @@ +if ! test -x $RESIZE2FS_EXE -o ! -x $DEBUGFS_EXE; then + echo "$test_name: $test_description: skipped (no debugfs/resize2fs)" + return 0 +fi + +IMAGE=$test_dir/image.gz +FSCK_OPT=-yf +OUT=$test_name.log +EXP=$test_dir/expect + +gunzip < $IMAGE > $TMPFILE + +echo "resize2fs test" > $OUT.new + +# Look at existing inline extended attribute +echo "debugfs -R ''stat file'' test.img 2>&1 | grep -E ''^Inode\|in inode body\|user.name \\(''" >> $OUT.new +$DEBUGFS -R "stat file" $TMPFILE 2>&1 | grep -E "^Inode|in inode body|user.name \(" >> $OUT.new +status=$? +echo Exit status is $status >> $OUT.new + +# resize it +echo "resize2fs test.img 5M" >> $OUT.new +$RESIZE2FS $TMPFILE 5M >> $OUT.new 2>&1 +status=$? +echo Exit status is $status >> $OUT.new + +# Look at inline extended attribute in resized fs +echo "debugfs -R ''stat file'' test.img 2>&1 | grep -E ''^Inode\|in inode body\|user.name \\(''" >> $OUT.new +$DEBUGFS -R "stat file" $TMPFILE 2>&1 | grep -E "^Inode|in inode body|user.name \(" >> $OUT.new +status=$? +echo Exit status is $status >> $OUT.new + +sed -f $cmd_dir/filter.sed < $OUT.new > $OUT +rm $TMPFILE $OUT.new + +# +# Do the verification +# + +cmp -s $OUT $EXP +status=$? + +if [ "$status" = 0 ] ; then + echo "$test_name: $test_description: ok" + touch $test_name.ok +else + echo "$test_name: $test_description: failed" + diff $DIFF_OPTS $EXP $OUT > $test_name.failed +fi + +unset IMAGE FSCK_OPT OUT EXP |