From: Theodore Ts'o Date: Tue, 4 Jul 2017 21:51:48 +0000 (-0400) Subject: tests: add j_recover_csum3_64bit X-Git-Tag: v1.43.5~38 X-Git-Url: https://git.whamcloud.com/?a=commitdiff_plain;h=b3d7751cd1bf429cb3b0060f12ac13e9827b9e88;p=tools%2Fe2fsprogs.git tests: add j_recover_csum3_64bit Add a test to make sure we are correctly recovering 64-bit journals using the v3 checksum format. Signed-off-by: Theodore Ts'o --- diff --git a/tests/j_recover_csum3_64bit/expect.1 b/tests/j_recover_csum3_64bit/expect.1 new file mode 100644 index 0000000..6aed56a --- /dev/null +++ b/tests/j_recover_csum3_64bit/expect.1 @@ -0,0 +1,16 @@ +test_filesys: recovering journal +Pass 1: Checking inodes, blocks, and sizes +Pass 2: Checking directory structure +Pass 3: Checking directory connectivity +Pass 4: Checking reference counts +Pass 5: Checking group summary information +Free blocks count wrong (121285, counted=121282). +Fix? yes + +Free inodes count wrong (32757, counted=32754). +Fix? yes + + +test_filesys: ***** FILE SYSTEM WAS MODIFIED ***** +test_filesys: 14/32768 files (0.0% non-contiguous), 9790/131072 blocks +Exit status is 0 diff --git a/tests/j_recover_csum3_64bit/expect.2 b/tests/j_recover_csum3_64bit/expect.2 new file mode 100644 index 0000000..b7a14da --- /dev/null +++ b/tests/j_recover_csum3_64bit/expect.2 @@ -0,0 +1,7 @@ +Pass 1: Checking inodes, blocks, and sizes +Pass 2: Checking directory structure +Pass 3: Checking directory connectivity +Pass 4: Checking reference counts +Pass 5: Checking group summary information +test_filesys: 14/32768 files (0.0% non-contiguous), 9790/131072 blocks +Exit status is 0 diff --git a/tests/j_recover_csum3_64bit/image.bz2 b/tests/j_recover_csum3_64bit/image.bz2 new file mode 100644 index 0000000..13b2956 Binary files /dev/null and b/tests/j_recover_csum3_64bit/image.bz2 differ diff --git a/tests/j_recover_csum3_64bit/name b/tests/j_recover_csum3_64bit/name new file mode 100644 index 0000000..8f91d97 --- /dev/null +++ b/tests/j_recover_csum3_64bit/name @@ -0,0 +1 @@ +recover 64-bit journal checksum v3 diff --git a/tests/j_recover_csum3_64bit/script b/tests/j_recover_csum3_64bit/script new file mode 100755 index 0000000..4b0ec48 --- /dev/null +++ b/tests/j_recover_csum3_64bit/script @@ -0,0 +1,31 @@ +#!/bin/bash + +FSCK_OPT=-fy +IMAGE=$test_dir/image.bz2 + +bzip2 -d < $IMAGE > $TMPFILE + +# Run fsck to fix things? +EXP1=$test_dir/expect.1 +OUT1=$test_name.1.log +rm -rf $test_name.failed $test_name.ok + +$FSCK $FSCK_OPT -N test_filesys $TMPFILE 2>&1 | head -n 1000 | tail -n +2 > $OUT1 +echo "Exit status is $?" >> $OUT1 + +# Run a second time +EXP2=$test_dir/expect.2 +OUT2=$test_name.2.log + +$FSCK $FSCK_OPT -N test_filesys $TMPFILE 2>&1 | head -n 1000 | tail -n +2 > $OUT2 +echo "Exit status is $?" >> $OUT2 + +# Figure out what happened +if cmp -s $EXP1 $OUT1 && cmp -s $EXP2 $OUT2; then + echo "$test_name: $test_description: ok" + touch $test_name.ok +else + echo "$test_name: $test_description: failed" + diff -u $EXP1 $OUT1 >> $test_name.failed + diff -u $EXP2 $OUT2 >> $test_name.failed +fi