Mercurial > public > mercurial-scm > hg
diff tests/test-verify.t @ 11787:7830e693b704
tests: unify test-verify
author | Nicolas Dumazet <nicdumz.commits@gmail.com> |
---|---|
date | Thu, 12 Aug 2010 15:41:58 +0900 |
parents | tests/test-verify@b33d70849a20 |
children | 74f54b7775f2 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-verify.t Thu Aug 12 15:41:58 2010 +0900 @@ -0,0 +1,87 @@ +prepare repo + + $ hg init a + $ cd a + $ echo "some text" > FOO.txt + $ echo "another text" > bar.txt + $ echo "more text" > QUICK.txt + $ hg add + adding FOO.txt + adding QUICK.txt + adding bar.txt + $ hg ci -mtest1 + +verify + + $ hg verify + checking changesets + checking manifests + crosschecking files in changesets and manifests + checking files + 3 files, 1 changesets, 3 total revisions + +verify with journal + + $ touch .hg/store/journal + $ hg verify + abandoned transaction found - run hg recover + checking changesets + checking manifests + crosschecking files in changesets and manifests + checking files + 3 files, 1 changesets, 3 total revisions + $ rm .hg/store/journal + +introduce some bugs in repo + + $ cd .hg/store/data + $ mv _f_o_o.txt.i X_f_o_o.txt.i + $ mv bar.txt.i xbar.txt.i + $ rm _q_u_i_c_k.txt.i + + $ hg verify + checking changesets + checking manifests + crosschecking files in changesets and manifests + checking files + data/FOO.txt.i@0: missing revlog! + 0: empty or missing FOO.txt + FOO.txt@0: f62022d3d590 in manifests not found + data/QUICK.txt.i@0: missing revlog! + 0: empty or missing QUICK.txt + QUICK.txt@0: 88b857db8eba in manifests not found + data/bar.txt.i@0: missing revlog! + 0: empty or missing bar.txt + bar.txt@0: 256559129457 in manifests not found + 3 files, 1 changesets, 0 total revisions + 9 integrity errors encountered! + (first damaged changeset appears to be 0) + + $ cd .. + +test revlog corruption + + $ hg init b + $ cd b + + $ touch a + $ hg add a + $ hg ci -m a + + $ echo 'corrupted' > b + $ dd if=.hg/store/data/a.i of=start bs=1 count=20 2>/dev/null + $ cat start b > .hg/store/data/a.i + + $ hg verify + checking changesets + checking manifests + crosschecking files in changesets and manifests + checking files + a@0: broken revlog! (index data/a.i is corrupted) + warning: orphan revlog 'data/a.i' + 1 files, 1 changesets, 0 total revisions + 1 warnings encountered! + 1 integrity errors encountered! + (first damaged changeset appears to be 0) + + $ exit 0