Whamcloud - gitweb
debian: don't gitignore debian/patches
[tools/e2fsprogs.git] / tests / m_hugefile / script
index 2750d53..1abdb7d 100644 (file)
@@ -37,16 +37,64 @@ ENDL
 
 echo "mke2fs -F -T hugefile test.img 4T" > $OUT
 MKE2FS_CONFIG=$CONF $MKE2FS -F -T hugefile $TMPFILE 4T >> $OUT 2>&1
-rm -rf $CONF
+rm -f $CONF
 
 # check the file system if we get this far, we succeeded...
 $FSCK $FSCK_OPT -N test_filesys $TMPFILE >> $OUT 2>&1
 status=$?
 echo Exit status is $status >> $OUT
 
-echo 'debugfs -R "extents /store/big-data" test.img | head' >> $OUT
+echo 'debugfs -R "extents /store/big-data" test.img' >> $OUT
 
-$DEBUGFS -R "extents /store/big-data" $TMPFILE 2>&1 | head -n 20 >> $OUT 2>&1
+$DEBUGFS -R "extents /store/big-data" $TMPFILE 2>&1 | tr / " " | tr -d - | awk '
+BEGIN {
+       expected_logical_start = 0;
+       expected_physical_start = 0;
+}
+{
+       if (NR != 1) {
+               level = $1;
+               total_levels = $2;
+
+               if (level == total_levels) {
+                       logical_start=$5;
+                       logical_end=$6;
+                       physical_start=$7;
+                       physical_end=$8;
+                       len = $9;
+
+                       if (logical_end + 1 - logical_start != len) {
+                               print logical_end + 1 - logical_start, len;
+                               print "UNEXPECTED LENGTH for extent", $0;
+                       }
+                       if (physical_end + 1 - physical_start != len) {
+                               print physical_end + 1 - physical_start, len;
+                               print "UNEXPECTED LENGTH for extent", $0;
+                       }
+
+                       if (logical_start != expected_logical_start) {
+                               print "UNEXPECTED LOGICAL DISCONTINUITY between extents:";
+                               print "\t", prev;
+                               print "\t", $0;
+                       }
+                       if (physical_start != expected_physical_start &&
+                               expected_logical_start != 0) {
+                               print "PHYSICAL DISCONTINUITY between extents:";
+                               print "\t", prev;
+                               print "\t", $0;
+                       }
+
+                       expected_logical_start = logical_end + 1;
+                       expected_physical_start = physical_end + 1;
+               }
+       }
+       prev=$0;
+}
+END {
+    print "Last logical block:", expected_logical_start-1;
+    print "Last physical block:", expected_physical_start-1;
+}
+' >> $OUT 2>&1
 
 rm $TMPFILE
 
@@ -54,7 +102,7 @@ rm $TMPFILE
 # Do the verification
 #
 
-sed -f $cmd_dir/filter.sed -e "s;$TMPFILE;test.img;" -e 's/test_filesys:.*//g' < $OUT > $OUT.new
+sed -f $cmd_dir/filter.sed $OUT > $OUT.new
 mv $OUT.new $OUT
 
 cmp -s $OUT $EXP