[PATCH 1 of 2] tests: more testing of verify side effects and (unintended?) recovery

Mads Kiilerich mads at kiilerich.com
Sat Apr 21 10:55:47 CDT 2012


# HG changeset patch
# User Mads Kiilerich <mads at kiilerich.com>
# Date 1335023200 -7200
# Branch stable
# Node ID e966c636e5412cb5e99ffcd7fa41cd8618ed6d7c
# Parent  cbf2ea2f5ca169d22e0729cb71a21b808574b90e
tests: more testing of verify side effects and (unintended?) recovery

diff --git a/tests/test-verify.t b/tests/test-verify.t
--- a/tests/test-verify.t
+++ b/tests/test-verify.t
@@ -5,7 +5,10 @@
   $ echo "some text" > FOO.txt
   $ echo "another text" > bar.txt
   $ echo "more text" > QUICK.txt
+  $ mkdir 1234567.9
+  $ touch 1234567.9/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
   $ hg add
+  adding 1234567.9/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
   adding FOO.txt
   adding QUICK.txt
   adding bar.txt
@@ -18,7 +21,7 @@
   checking manifests
   crosschecking files in changesets and manifests
   checking files
-  3 files, 1 changesets, 3 total revisions
+  4 files, 1 changesets, 4 total revisions
 
 verify with journal
 
@@ -29,7 +32,7 @@
   checking manifests
   crosschecking files in changesets and manifests
   checking files
-  3 files, 1 changesets, 3 total revisions
+  4 files, 1 changesets, 4 total revisions
   $ rm .hg/store/journal
 
 introduce some bugs in repo
@@ -37,13 +40,18 @@
   $ 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
+  $ mv _q_u_i_c_k.txt.i ../../../
+  $ cd ../../..
+  $ mv .hg/store/dh/1234567_ .hg/store/dh/1234567. # this happens to be how 1.1 stored it
 
   $ hg verify
   checking changesets
   checking manifests
   crosschecking files in changesets and manifests
   checking files
+   data/1234567.9/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.i at 0: missing revlog!
+   0: empty or missing 1234567.9/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
+   1234567.9/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx at 0: b80de5d13875 in manifests not found
    data/FOO.txt.i at 0: missing revlog!
    0: empty or missing FOO.txt
    FOO.txt at 0: f62022d3d590 in manifests not found
@@ -53,12 +61,35 @@
    data/bar.txt.i at 0: missing revlog!
    0: empty or missing bar.txt
    bar.txt at 0: 256559129457 in manifests not found
-  3 files, 1 changesets, 0 total revisions
-  9 integrity errors encountered!
+  4 files, 1 changesets, 0 total revisions
+  12 integrity errors encountered!
   (first damaged changeset appears to be 0)
   [1]
 
-  $ cd ..
+fix most bugs and verify again
+
+  $ cd .hg/store/data
+  $ mv X_f_o_o.txt.i _f_o_o.txt.i
+  $ mv xbar.txt.i bar.txt.i
+  $ touch _q_u_i_c_k.txt.i
+  $ cd ../../..
+  $ mv .hg/store/dh/1234567. .hg/store/dh/1234567_
+  $ hg verify
+  checking changesets
+  checking manifests
+  crosschecking files in changesets and manifests
+  checking files
+   data/1234567.9/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.i at 0: missing revlog!
+   data/FOO.txt.i at 0: missing revlog!
+   data/QUICK.txt.i at 0: missing revlog!
+   0: empty or missing QUICK.txt
+   QUICK.txt at 0: 88b857db8eba in manifests not found
+   data/bar.txt.i at 0: missing revlog!
+  4 files, 1 changesets, 3 total revisions
+  6 integrity errors encountered!
+  (first damaged changeset appears to be 0)
+  [1]
+  $ mv _q_u_i_c_k.txt.i .hg/store/data/
 
 test revlog corruption
 


More information about the Mercurial-devel mailing list