Home | History | Annotate | Download | only in d_xattr_edits
      1 if test -x $DEBUGFS_EXE; then
      2 
      3 OUT=$test_name.log
      4 EXP=$test_dir/expect
      5 VERIFY_FSCK_OPT=-yf
      6 
      7 TEST_DATA=$test_name.tmp
      8 VERIFY_DATA=$test_name.ver.tmp
      9 
     10 echo "debugfs edit extended attributes" > $OUT
     11 
     12 dd if=/dev/zero of=$TMPFILE bs=1k count=512 > /dev/null 2>&1
     13 
     14 echo "mke2fs -Fq -b 1024 test.img 512" >> $OUT
     15 
     16 $MKE2FS -Fq $TMPFILE 512 > /dev/null 2>&1
     17 status=$?
     18 echo Exit status is $status >> $OUT
     19 
     20 echo "ea_set / user.joe smith" > $OUT.new
     21 $DEBUGFS -w -R "ea_set / user.joe smith" $TMPFILE >> $OUT.new 2>&1
     22 status=$?
     23 echo Exit status is $status >> $OUT.new
     24 sed -f $cmd_dir/filter.sed $OUT.new >> $OUT
     25 
     26 echo "ea_set / user.moo FEE_FIE_FOE_FUMMMMMM" > $OUT.new
     27 $DEBUGFS -w -R "ea_set / user.moo FEE_FIE_FOE_FUMMMMMM" $TMPFILE >> $OUT.new 2>&1
     28 status=$?
     29 echo Exit status is $status >> $OUT.new
     30 sed -f $cmd_dir/filter.sed $OUT.new >> $OUT
     31 
     32 echo "ea_list /" > $OUT.new
     33 $DEBUGFS -w -R "ea_list /" $TMPFILE >> $OUT.new 2>&1
     34 status=$?
     35 echo Exit status is $status >> $OUT.new
     36 sed -f $cmd_dir/filter.sed $OUT.new >> $OUT
     37 
     38 echo "ea_get / user.moo" > $OUT.new
     39 $DEBUGFS -w -R "ea_get / user.moo" $TMPFILE >> $OUT.new 2>&1
     40 status=$?
     41 echo Exit status is $status >> $OUT.new
     42 sed -f $cmd_dir/filter.sed $OUT.new >> $OUT
     43 
     44 echo "ea_get / nosuchea" > $OUT.new
     45 $DEBUGFS -w -R "ea_get / nosuchea" $TMPFILE >> $OUT.new 2>&1
     46 status=$?
     47 echo Exit status is $status >> $OUT.new
     48 sed -f $cmd_dir/filter.sed $OUT.new >> $OUT
     49 
     50 echo "ea_rm / user.moo" > $OUT.new
     51 $DEBUGFS -w -R "ea_rm / user.moo" $TMPFILE >> $OUT.new 2>&1
     52 status=$?
     53 echo Exit status is $status >> $OUT.new
     54 sed -f $cmd_dir/filter.sed $OUT.new >> $OUT
     55 
     56 echo "ea_rm / nosuchea" > $OUT.new
     57 $DEBUGFS -w -R "ea_rm / nosuchea" $TMPFILE >> $OUT.new 2>&1
     58 status=$?
     59 echo Exit status is $status >> $OUT.new
     60 sed -f $cmd_dir/filter.sed $OUT.new >> $OUT
     61 
     62 echo "ea_list /" > $OUT.new
     63 $DEBUGFS -w -R "ea_list /" $TMPFILE >> $OUT.new 2>&1
     64 status=$?
     65 echo Exit status is $status >> $OUT.new
     66 sed -f $cmd_dir/filter.sed $OUT.new >> $OUT
     67 
     68 echo "ea_get / user.moo" > $OUT.new
     69 $DEBUGFS -w -R "ea_get / user.moo" $TMPFILE >> $OUT.new 2>&1
     70 status=$?
     71 echo Exit status is $status >> $OUT.new
     72 sed -f $cmd_dir/filter.sed $OUT.new >> $OUT
     73 
     74 echo "ea_rm / user.joe" > $OUT.new
     75 $DEBUGFS -w -R "ea_rm / user.joe" $TMPFILE >> $OUT.new 2>&1
     76 status=$?
     77 echo Exit status is $status >> $OUT.new
     78 sed -f $cmd_dir/filter.sed $OUT.new >> $OUT
     79 
     80 echo "ea_list /" > $OUT.new
     81 $DEBUGFS -w -R "ea_list /" $TMPFILE >> $OUT.new 2>&1
     82 status=$?
     83 echo Exit status is $status >> $OUT.new
     84 sed -f $cmd_dir/filter.sed $OUT.new >> $OUT
     85 
     86 echo "12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567" > $TEST_DATA
     87 echo "ea_set -f $TEST_DATA / user.file_based_xattr" > $OUT.new
     88 $DEBUGFS -w -R "ea_set -f $TEST_DATA / user.file_based_xattr" $TMPFILE >> $OUT.new 2>&1
     89 status=$?
     90 echo Exit status is $status >> $OUT.new
     91 sed -f $cmd_dir/filter.sed $OUT.new >> $OUT
     92 
     93 echo "ea_list /" > $OUT.new
     94 $DEBUGFS -w -R "ea_list /" $TMPFILE >> $OUT.new 2>&1
     95 status=$?
     96 echo Exit status is $status >> $OUT.new
     97 sed -f $cmd_dir/filter.sed $OUT.new >> $OUT
     98 
     99 echo "ea_get -f $VERIFY_DATA / user.file_based_xattr" > $OUT.new
    100 $DEBUGFS -w -R "ea_get -f $VERIFY_DATA / user.file_based_xattr" $TMPFILE >> $OUT.new 2>&1
    101 status=$?
    102 echo Exit status is $status >> $OUT.new
    103 sed -f $cmd_dir/filter.sed $OUT.new >> $OUT
    104 
    105 echo "Compare big attribute" > $OUT.new
    106 diff -u $TEST_DATA $VERIFY_DATA >> $OUT.new
    107 sed -f $cmd_dir/filter.sed $OUT.new >> $OUT
    108 
    109 echo e2fsck $VERIFY_FSCK_OPT -N test_filesys > $OUT.new
    110 $FSCK $VERIFY_FSCK_OPT -N test_filesys $TMPFILE >> $OUT.new 2>&1
    111 status=$?
    112 echo Exit status is $status >> $OUT.new
    113 sed -f $cmd_dir/filter.sed $OUT.new >> $OUT
    114 
    115 #
    116 # Do the verification
    117 #
    118 
    119 rm -f $TMPFILE $OUT.new
    120 cmp -s $OUT $EXP
    121 status=$?
    122 
    123 if [ "$status" = 0 ] ; then
    124 	echo "$test_name: $test_description: ok"
    125 	touch $test_name.ok
    126 else
    127 	echo "$test_name: $test_description: failed"
    128 	diff $DIFF_OPTS $EXP $OUT > $test_name.failed
    129 fi
    130 
    131 unset VERIFY_FSCK_OPT NATIVE_FSCK_OPT OUT EXP TEST_DATA VERIFY_DATA
    132 
    133 else #if test -x $DEBUGFS_EXE; then
    134 	echo "$test_name: $test_description: skipped"
    135 fi
    136