2 . ./wvtest-bup.sh || exit $?
6 top="$(WVPASS pwd)" || exit $?
7 tmpdir="$(WVPASS wvmktempdir)" || exit $?
9 bup() { "$top/bup" "$@"; }
11 WVPASS "$top/t/sync-tree" "$top/t/sampledata/" "$tmpdir/src/"
13 export BUP_DIR="$tmpdir/bup"
14 export GIT_DIR="$tmpdir/bup"
22 WVPASS bup save -n fsck-test src/b2
23 WVPASS bup save -n fsck-test src/var/cmd
24 WVPASS bup save -n fsck-test src/var/doc
25 WVPASS bup save -n fsck-test src/var/lib
26 WVPASS bup save -n fsck-test src/y
28 WVPASS bup fsck --quick
29 if bup fsck --par2-ok; then
32 WVSTART "fsck (PAR2 IS MISSING)"
36 WVPASS bup damage "$BUP_DIR"/objects/pack/*.pack -n10 -s1 -S0
37 WVFAIL bup fsck --quick
38 WVFAIL bup fsck --quick --disable-par2
39 WVPASS chmod u+w "$BUP_DIR"/objects/pack/*.idx
40 WVPASS bup damage "$BUP_DIR"/objects/pack/*.idx -n10 -s1 -S0
41 WVFAIL bup fsck --quick -j4
42 WVPASS bup damage "$BUP_DIR"/objects/pack/*.pack -n10 -s1024 --percent 0.4 -S0
43 WVFAIL bup fsck --quick
44 WVFAIL bup fsck --quick -rvv -j99 # fails because repairs were needed
45 if bup fsck --par2-ok; then
46 WVPASS bup fsck -r # ok because of repairs from last time
47 WVPASS bup damage "$BUP_DIR"/objects/pack/*.pack -n202 -s1 --equal -S0
49 WVFAIL bup fsck -rvv # too many errors to be repairable
50 WVFAIL bup fsck -r # too many errors to be repairable
52 WVFAIL bup fsck --quick -r # still fails because par2 was missing
56 WVPASS rm -rf "$tmpdir"