##// END OF EJS Templates
tests: dump journal file by python script instead of sed for portability...
FUJIWARA Katsunori -
r27993:afb86ee9 default
parent child Browse files
Show More
@@ -1,132 +1,139 b''
1 1 #require unix-permissions no-root
2 2
3 $ cat > $TESTTMP/dumpjournal.py <<EOF
4 > import sys
5 > for entry in sys.stdin.read().split('\n'):
6 > if entry:
7 > print entry.split('\x00')[0]
8 > EOF
9
3 10 $ echo "[extensions]" >> $HGRCPATH
4 11 $ echo "mq=">> $HGRCPATH
5 12
6 13 $ teststrip() {
7 14 > hg -q up -C $1
8 15 > echo % before update $1, strip $2
9 16 > hg parents
10 17 > chmod -$3 $4
11 18 > hg strip $2 2>&1 | sed 's/\(bundle\).*/\1/' | sed 's/Permission denied.*\.hg\/store\/\(.*\)/Permission denied \.hg\/store\/\1/'
12 19 > echo % after update $1, strip $2
13 20 > chmod +$3 $4
14 21 > hg verify
15 22 > echo % journal contents
16 23 > if [ -f .hg/store/journal ]; then
17 > sed -e 's/\.i[^\n]*/\.i/' .hg/store/journal
24 > cat .hg/store/journal | python $TESTTMP/dumpjournal.py
18 25 > else
19 26 > echo "(no journal)"
20 27 > fi
21 28 > ls .hg/store/journal >/dev/null 2>&1 && hg recover
22 29 > ls .hg/strip-backup/* >/dev/null 2>&1 && hg unbundle -q .hg/strip-backup/*
23 30 > rm -rf .hg/strip-backup
24 31 > }
25 32
26 33 $ hg init test
27 34 $ cd test
28 35 $ echo a > a
29 36 $ hg -q ci -m "a" -A
30 37 $ echo b > b
31 38 $ hg -q ci -m "b" -A
32 39 $ echo b2 >> b
33 40 $ hg -q ci -m "b2" -A
34 41 $ echo c > c
35 42 $ hg -q ci -m "c" -A
36 43 $ teststrip 0 2 w .hg/store/data/b.i
37 44 % before update 0, strip 2
38 45 changeset: 0:cb9a9f314b8b
39 46 user: test
40 47 date: Thu Jan 01 00:00:00 1970 +0000
41 48 summary: a
42 49
43 50 saved backup bundle
44 51 transaction abort!
45 52 failed to truncate data/b.i
46 53 rollback failed - please run hg recover
47 54 strip failed, full bundle
48 55 abort: Permission denied .hg/store/data/b.i
49 56 % after update 0, strip 2
50 57 abandoned transaction found - run hg recover
51 58 checking changesets
52 59 checking manifests
53 60 crosschecking files in changesets and manifests
54 61 checking files
55 62 b@?: rev 1 points to nonexistent changeset 2
56 63 (expected 1)
57 64 b@?: 736c29771fba not in manifests
58 65 warning: orphan revlog 'data/c.i'
59 66 2 files, 2 changesets, 3 total revisions
60 67 2 warnings encountered!
61 68 2 integrity errors encountered!
62 69 % journal contents
63 70 00changelog.i
64 71 00manifest.i
65 72 data/b.i
66 73 data/c.i
67 74 rolling back interrupted transaction
68 75 checking changesets
69 76 checking manifests
70 77 crosschecking files in changesets and manifests
71 78 checking files
72 79 2 files, 2 changesets, 2 total revisions
73 80 $ teststrip 0 2 r .hg/store/data/b.i
74 81 % before update 0, strip 2
75 82 changeset: 0:cb9a9f314b8b
76 83 user: test
77 84 date: Thu Jan 01 00:00:00 1970 +0000
78 85 summary: a
79 86
80 87 abort: Permission denied .hg/store/data/b.i
81 88 % after update 0, strip 2
82 89 checking changesets
83 90 checking manifests
84 91 crosschecking files in changesets and manifests
85 92 checking files
86 93 3 files, 4 changesets, 4 total revisions
87 94 % journal contents
88 95 (no journal)
89 96 $ teststrip 0 2 w .hg/store/00manifest.i
90 97 % before update 0, strip 2
91 98 changeset: 0:cb9a9f314b8b
92 99 user: test
93 100 date: Thu Jan 01 00:00:00 1970 +0000
94 101 summary: a
95 102
96 103 saved backup bundle
97 104 transaction abort!
98 105 failed to truncate 00manifest.i
99 106 rollback failed - please run hg recover
100 107 strip failed, full bundle
101 108 abort: Permission denied .hg/store/00manifest.i
102 109 % after update 0, strip 2
103 110 abandoned transaction found - run hg recover
104 111 checking changesets
105 112 checking manifests
106 113 manifest@?: rev 2 points to nonexistent changeset 2
107 114 manifest@?: 3362547cdf64 not in changesets
108 115 manifest@?: rev 3 points to nonexistent changeset 3
109 116 manifest@?: 265a85892ecb not in changesets
110 117 crosschecking files in changesets and manifests
111 118 c@3: in manifest but not in changeset
112 119 checking files
113 120 b@?: rev 1 points to nonexistent changeset 2
114 121 (expected 1)
115 122 c@?: rev 0 points to nonexistent changeset 3
116 123 3 files, 2 changesets, 4 total revisions
117 124 1 warnings encountered!
118 125 7 integrity errors encountered!
119 126 (first damaged changeset appears to be 3)
120 127 % journal contents
121 128 00changelog.i
122 129 00manifest.i
123 130 data/b.i
124 131 data/c.i
125 132 rolling back interrupted transaction
126 133 checking changesets
127 134 checking manifests
128 135 crosschecking files in changesets and manifests
129 136 checking files
130 137 2 files, 2 changesets, 2 total revisions
131 138
132 139 $ cd ..
General Comments 0
You need to be logged in to leave comments. Login now