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