Mercurial > public > mercurial-scm > hg
annotate tests/test-lfs-bundle.t @ 40788:41f0529b5112 stable
commandserver: get around ETIMEDOUT raised by selectors2
selector.select() should exits with an empty event list on timed out, but
selectors2 raises OSError if timeout expires while recovering from EINTR.
Spotted while debugging new chg feature.
author | Yuya Nishihara <yuya@tcha.org> |
---|---|
date | Mon, 03 Dec 2018 21:45:15 +0900 |
parents | 556984ae0005 |
children | ca82929e433d |
rev | line source |
---|---|
36742
4e41b59633fa
lfs: add a test showing bundle application could be broken
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
1 In this test, we want to test LFS bundle application on both LFS and non-LFS |
4e41b59633fa
lfs: add a test showing bundle application could be broken
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
2 repos. |
4e41b59633fa
lfs: add a test showing bundle application could be broken
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
3 |
4e41b59633fa
lfs: add a test showing bundle application could be broken
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
4 To make it more interesting, the file revisions will contain hg filelog |
4e41b59633fa
lfs: add a test showing bundle application could be broken
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
5 metadata ('\1\n'). The bundle will have 1 file revision overlapping with the |
4e41b59633fa
lfs: add a test showing bundle application could be broken
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
6 destination repo. |
4e41b59633fa
lfs: add a test showing bundle application could be broken
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
7 |
4e41b59633fa
lfs: add a test showing bundle application could be broken
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
8 # rev 1 2 3 |
4e41b59633fa
lfs: add a test showing bundle application could be broken
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
9 # repo: yes yes no |
4e41b59633fa
lfs: add a test showing bundle application could be broken
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
10 # bundle: no (base) yes yes (deltabase: 2 if possible) |
4e41b59633fa
lfs: add a test showing bundle application could be broken
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
11 |
4e41b59633fa
lfs: add a test showing bundle application could be broken
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
12 It is interesting because rev 2 could have been stored as LFS in the repo, and |
4e41b59633fa
lfs: add a test showing bundle application could be broken
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
13 non-LFS in the bundle; or vice-versa. |
4e41b59633fa
lfs: add a test showing bundle application could be broken
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
14 |
4e41b59633fa
lfs: add a test showing bundle application could be broken
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
15 Init |
4e41b59633fa
lfs: add a test showing bundle application could be broken
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
16 |
4e41b59633fa
lfs: add a test showing bundle application could be broken
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
17 $ cat >> $HGRCPATH << EOF |
4e41b59633fa
lfs: add a test showing bundle application could be broken
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
18 > [extensions] |
4e41b59633fa
lfs: add a test showing bundle application could be broken
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
19 > lfs= |
4e41b59633fa
lfs: add a test showing bundle application could be broken
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
20 > drawdag=$TESTDIR/drawdag.py |
4e41b59633fa
lfs: add a test showing bundle application could be broken
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
21 > [lfs] |
4e41b59633fa
lfs: add a test showing bundle application could be broken
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
22 > url=file:$TESTTMP/lfs-remote |
4e41b59633fa
lfs: add a test showing bundle application could be broken
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
23 > EOF |
4e41b59633fa
lfs: add a test showing bundle application could be broken
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
24 |
4e41b59633fa
lfs: add a test showing bundle application could be broken
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
25 Helper functions |
4e41b59633fa
lfs: add a test showing bundle application could be broken
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
26 |
4e41b59633fa
lfs: add a test showing bundle application could be broken
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
27 $ commitxy() { |
4e41b59633fa
lfs: add a test showing bundle application could be broken
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
28 > hg debugdrawdag "$@" <<'EOS' |
4e41b59633fa
lfs: add a test showing bundle application could be broken
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
29 > Y # Y/X=\1\nAAAA\nE\nF |
4e41b59633fa
lfs: add a test showing bundle application could be broken
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
30 > | # Y/Y=\1\nAAAA\nG\nH |
4e41b59633fa
lfs: add a test showing bundle application could be broken
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
31 > X # X/X=\1\nAAAA\nC\n |
4e41b59633fa
lfs: add a test showing bundle application could be broken
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
32 > # X/Y=\1\nAAAA\nD\n |
4e41b59633fa
lfs: add a test showing bundle application could be broken
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
33 > EOS |
4e41b59633fa
lfs: add a test showing bundle application could be broken
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
34 > } |
4e41b59633fa
lfs: add a test showing bundle application could be broken
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
35 |
4e41b59633fa
lfs: add a test showing bundle application could be broken
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
36 $ commitz() { |
4e41b59633fa
lfs: add a test showing bundle application could be broken
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
37 > hg debugdrawdag "$@" <<'EOS' |
4e41b59633fa
lfs: add a test showing bundle application could be broken
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
38 > Z # Z/X=\1\nAAAA\nI\n |
4e41b59633fa
lfs: add a test showing bundle application could be broken
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
39 > | # Z/Y=\1\nAAAA\nJ\n |
4e41b59633fa
lfs: add a test showing bundle application could be broken
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
40 > | # Z/Z=\1\nZ |
4e41b59633fa
lfs: add a test showing bundle application could be broken
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
41 > Y |
4e41b59633fa
lfs: add a test showing bundle application could be broken
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
42 > EOS |
4e41b59633fa
lfs: add a test showing bundle application could be broken
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
43 > } |
4e41b59633fa
lfs: add a test showing bundle application could be broken
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
44 |
4e41b59633fa
lfs: add a test showing bundle application could be broken
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
45 $ enablelfs() { |
4e41b59633fa
lfs: add a test showing bundle application could be broken
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
46 > cat >> .hg/hgrc <<EOF |
4e41b59633fa
lfs: add a test showing bundle application could be broken
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
47 > [lfs] |
4e41b59633fa
lfs: add a test showing bundle application could be broken
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
48 > track=all() |
4e41b59633fa
lfs: add a test showing bundle application could be broken
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
49 > EOF |
4e41b59633fa
lfs: add a test showing bundle application could be broken
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
50 > } |
4e41b59633fa
lfs: add a test showing bundle application could be broken
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
51 |
4e41b59633fa
lfs: add a test showing bundle application could be broken
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
52 Generate bundles |
4e41b59633fa
lfs: add a test showing bundle application could be broken
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
53 |
4e41b59633fa
lfs: add a test showing bundle application could be broken
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
54 $ for i in normal lfs; do |
4e41b59633fa
lfs: add a test showing bundle application could be broken
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
55 > NAME=src-$i |
4e41b59633fa
lfs: add a test showing bundle application could be broken
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
56 > hg init $TESTTMP/$NAME |
4e41b59633fa
lfs: add a test showing bundle application could be broken
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
57 > cd $TESTTMP/$NAME |
4e41b59633fa
lfs: add a test showing bundle application could be broken
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
58 > [ $i = lfs ] && enablelfs |
4e41b59633fa
lfs: add a test showing bundle application could be broken
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
59 > commitxy |
4e41b59633fa
lfs: add a test showing bundle application could be broken
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
60 > commitz |
4e41b59633fa
lfs: add a test showing bundle application could be broken
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
61 > hg bundle -q --base X -r Y+Z $TESTTMP/$NAME.bundle |
4e41b59633fa
lfs: add a test showing bundle application could be broken
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
62 > SRCNAMES="$SRCNAMES $NAME" |
4e41b59633fa
lfs: add a test showing bundle application could be broken
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
63 > done |
4e41b59633fa
lfs: add a test showing bundle application could be broken
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
64 |
4e41b59633fa
lfs: add a test showing bundle application could be broken
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
65 Prepare destination repos |
4e41b59633fa
lfs: add a test showing bundle application could be broken
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
66 |
4e41b59633fa
lfs: add a test showing bundle application could be broken
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
67 $ for i in normal lfs; do |
4e41b59633fa
lfs: add a test showing bundle application could be broken
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
68 > NAME=dst-$i |
4e41b59633fa
lfs: add a test showing bundle application could be broken
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
69 > hg init $TESTTMP/$NAME |
4e41b59633fa
lfs: add a test showing bundle application could be broken
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
70 > cd $TESTTMP/$NAME |
4e41b59633fa
lfs: add a test showing bundle application could be broken
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
71 > [ $i = lfs ] && enablelfs |
4e41b59633fa
lfs: add a test showing bundle application could be broken
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
72 > commitxy |
4e41b59633fa
lfs: add a test showing bundle application could be broken
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
73 > DSTNAMES="$DSTNAMES $NAME" |
4e41b59633fa
lfs: add a test showing bundle application could be broken
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
74 > done |
4e41b59633fa
lfs: add a test showing bundle application could be broken
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
75 |
4e41b59633fa
lfs: add a test showing bundle application could be broken
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
76 Apply bundles |
4e41b59633fa
lfs: add a test showing bundle application could be broken
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
77 |
4e41b59633fa
lfs: add a test showing bundle application could be broken
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
78 $ for i in $SRCNAMES; do |
4e41b59633fa
lfs: add a test showing bundle application could be broken
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
79 > for j in $DSTNAMES; do |
4e41b59633fa
lfs: add a test showing bundle application could be broken
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
80 > echo ---- Applying $i.bundle to $j ---- |
4e41b59633fa
lfs: add a test showing bundle application could be broken
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
81 > cp -R $TESTTMP/$j $TESTTMP/tmp-$i-$j |
4e41b59633fa
lfs: add a test showing bundle application could be broken
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
82 > cd $TESTTMP/tmp-$i-$j |
4e41b59633fa
lfs: add a test showing bundle application could be broken
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
83 > if hg unbundle $TESTTMP/$i.bundle -q 2>/dev/null; then |
4e41b59633fa
lfs: add a test showing bundle application could be broken
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
84 > hg verify -q && echo OK |
4e41b59633fa
lfs: add a test showing bundle application could be broken
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
85 > else |
4e41b59633fa
lfs: add a test showing bundle application could be broken
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
86 > echo CRASHED |
4e41b59633fa
lfs: add a test showing bundle application could be broken
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
87 > fi |
4e41b59633fa
lfs: add a test showing bundle application could be broken
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
88 > done |
4e41b59633fa
lfs: add a test showing bundle application could be broken
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
89 > done |
4e41b59633fa
lfs: add a test showing bundle application could be broken
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
90 ---- Applying src-normal.bundle to dst-normal ---- |
4e41b59633fa
lfs: add a test showing bundle application could be broken
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
91 OK |
4e41b59633fa
lfs: add a test showing bundle application could be broken
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
92 ---- Applying src-normal.bundle to dst-lfs ---- |
36748
369aadf7a326
revlog: resolve lfs rawtext to vanilla rawtext before applying delta
Jun Wu <quark@fb.com>
parents:
36744
diff
changeset
|
93 OK |
36742
4e41b59633fa
lfs: add a test showing bundle application could be broken
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
94 ---- Applying src-lfs.bundle to dst-normal ---- |
36743
d031609b3cb7
changegroup: do not delta lfs revisions
Jun Wu <quark@fb.com>
parents:
36742
diff
changeset
|
95 OK |
36742
4e41b59633fa
lfs: add a test showing bundle application could be broken
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
96 ---- Applying src-lfs.bundle to dst-lfs ---- |
4e41b59633fa
lfs: add a test showing bundle application could be broken
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
97 OK |