From b3d7751cd1bf429cb3b0060f12ac13e9827b9e88 Mon Sep 17 00:00:00 2001 From: Theodore Ts'o Date: Tue, 4 Jul 2017 17:51:48 -0400 Subject: [PATCH] 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 --- tests/j_recover_csum3_64bit/expect.1 | 16 ++++++++++++++++ tests/j_recover_csum3_64bit/expect.2 | 7 +++++++ tests/j_recover_csum3_64bit/image.bz2 | Bin 0 -> 4150 bytes tests/j_recover_csum3_64bit/name | 1 + tests/j_recover_csum3_64bit/script | 31 +++++++++++++++++++++++++++++++ 5 files changed, 55 insertions(+) create mode 100644 tests/j_recover_csum3_64bit/expect.1 create mode 100644 tests/j_recover_csum3_64bit/expect.2 create mode 100644 tests/j_recover_csum3_64bit/image.bz2 create mode 100644 tests/j_recover_csum3_64bit/name create mode 100755 tests/j_recover_csum3_64bit/script 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 0000000000000000000000000000000000000000..13b29562e8974bf06b9f75786dcb5844854c25e4 GIT binary patch literal 4150 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 S!|-c6bRC>MqmOu8xAY%1b!s*M literal 0 HcmV?d00001 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 -- 1.8.3.1