comparison tests/test-evolve-serveronly.t @ 2065:80446ff6d83a

test: rename serveronly tests to reflect the new extension name
author Pierre-Yves David <pierre-yves.david@ens-lyon.org>
date Wed, 08 Mar 2017 17:07:38 -0800
parents tests/test-simple4server.t@cbdb68189432
children 1885c7d78bf6
comparison
equal deleted inserted replaced
2064:1f318a1674fd 2065:80446ff6d83a
1
2 $ . ${TESTDIR}/testlib/pythonpath.sh
3
4 $ cat >> $HGRCPATH <<EOF
5 > [defaults]
6 > amend=-d "0 0"
7 > [web]
8 > push_ssl = false
9 > allow_push = *
10 > [phases]
11 > publish = False
12 > [experimental]
13 > bundle2-exp=False # < Mercurial-4.0
14 > [devel]
15 > legacy.exchange=bundle1
16 > [extensions]
17 > EOF
18
19 $ mkcommit() {
20 > echo "$1" > "$1"
21 > hg add "$1"
22 > hg ci -m "add $1"
23 > }
24
25
26 $ hg init server
27
28 Try the multiple ways to setup the extension
29
30 $ hg -R server log --config 'extensions.evolve.serveronly='
31 $ hg -R server log --config "extensions.evolve.serveronly=${SRCDIR}/hgext3rd/evolve/serveronly.py"
32 $ PYTHONPATH=$HGTEST_ORIG_PYTHONPATH hg -R server log --config "extensions.evolve.serveronly=${SRCDIR}/hgext3rd/evolve/serveronly.py"
33
34 setup repo
35
36 $ echo "[extensions]" >> ./server/.hg/hgrc
37 $ echo "evolve.serveronly=" >> ./server/.hg/hgrc
38 $ hg serve -R server -n test -p $HGPORT -d --pid-file=hg.pid -A access.log -E errors.log --traceback
39 $ cat hg.pid >> $DAEMON_PIDS
40
41 $ hg clone http://localhost:$HGPORT/ client
42 no changes found
43 updating to branch default
44 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
45 $ cat ./errors.log
46 $ echo "[extensions]" >> ./client/.hg/hgrc
47 $ echo "evolve=" >> ./client/.hg/hgrc
48 $ cp -r client other
49
50 Smoke testing
51 ===============
52
53 $ cd client
54 $ mkcommit 0
55 $ mkcommit a
56 $ hg push
57 pushing to http://localhost:$HGPORT/
58 searching for changes
59 remote: adding changesets
60 remote: adding manifests
61 remote: adding file changes
62 remote: added 2 changesets with 2 changes to 2 files
63 $ hg pull
64 pulling from http://localhost:$HGPORT/
65 searching for changes
66 no changes found
67 $ cat ../errors.log
68 $ hg pull -R ../other
69 pulling from http://localhost:$HGPORT/
70 requesting all changes
71 adding changesets
72 adding manifests
73 adding file changes
74 added 2 changesets with 2 changes to 2 files
75 pull obsolescence markers
76 the remote repository use years old versions of Mercurial and evolve
77 pulling obsmarker using legacy method
78 (please upgrade your server)
79 (run 'hg update' to get a working copy)
80 $ cat ../errors.log
81 $ hg push -R ../other
82 pushing to http://localhost:$HGPORT/
83 searching for changes
84 no changes found
85 [1]
86 $ cat ../errors.log
87
88 Capacity testing
89 ===================
90
91 $ curl -s http://localhost:$HGPORT/?cmd=hello
92 capabilities: _evoext_getbundle_obscommon _evoext_obshash_0 _evoext_obshash_1 _evoext_pullobsmarkers_0 _evoext_pushobsmarkers_0 batch * (glob)
93 $ curl -s http://localhost:$HGPORT/?cmd=capabilities
94 _evoext_getbundle_obscommon _evoext_obshash_0 _evoext_obshash_1 _evoext_pullobsmarkers_0 _evoext_pushobsmarkers_0 batch * (no-eol) (glob)
95
96 $ curl -s "http://localhost:$HGPORT/?cmd=listkeys&namespace=namespaces" | sort
97 bookmarks
98 namespaces
99 obsolete
100 phases
101
102 Push
103 =============
104
105 $ echo 'A' > a
106 $ hg amend
107 $ hg push
108 pushing to http://localhost:$HGPORT/
109 searching for changes
110 remote: adding changesets
111 remote: adding manifests
112 remote: adding file changes
113 remote: added 1 changesets with 1 changes to 1 files (+1 heads)
114 the remote repository use years old versions of Mercurial and evolve
115 pushing obsmarker using legacy method
116 (please upgrade your server)
117 pushing 2 obsolescence markers (* bytes) (glob)
118 remote: 2 obsolescence markers added
119 $ cat ../errors.log
120 $ hg push
121 pushing to http://localhost:$HGPORT/
122 searching for changes
123 no changes found
124 [1]
125 $ cat ../errors.log
126
127 Pull
128 =============
129
130 $ hg -R ../other pull
131 pulling from http://localhost:$HGPORT/
132 searching for changes
133 adding changesets
134 adding manifests
135 adding file changes
136 added 1 changesets with 1 changes to [12] files \(\+1 heads\) (re)
137 pull obsolescence markers
138 the remote repository use years old versions of Mercurial and evolve
139 pulling obsmarker using legacy method
140 (please upgrade your server)
141 2 obsolescence markers added
142 (run 'hg heads' to see heads)
143 $ cat ../errors.log
144 $ hg -R ../other pull
145 pulling from http://localhost:$HGPORT/
146 searching for changes
147 no changes found
148 $ cat ../errors.log
149
150 $ cd ..
151
152 Test disabling obsolete advertisement
153 ===========================================
154 (used by bitbucket to select which repo use evolve)
155
156 $ curl -s "http://localhost:$HGPORT/?cmd=listkeys&namespace=namespaces" | sort
157 bookmarks
158 namespaces
159 obsolete
160 phases
161 $ curl -s http://localhost:$HGPORT/?cmd=hello
162 capabilities: _evoext_getbundle_obscommon _evoext_obshash_0 _evoext_obshash_1 _evoext_pullobsmarkers_0 _evoext_pushobsmarkers_0 batch * (glob)
163 $ curl -s http://localhost:$HGPORT/?cmd=capabilities
164 _evoext_getbundle_obscommon _evoext_obshash_0 _evoext_obshash_1 _evoext_pullobsmarkers_0 _evoext_pushobsmarkers_0 batch * (no-eol) (glob)
165
166 $ echo '[__temporary__]' >> server/.hg/hgrc
167 $ echo 'advertiseobsolete=False' >> server/.hg/hgrc
168 $ $RUNTESTDIR/killdaemons.py $DAEMON_PIDS
169 $ hg serve -R server -n test -p $HGPORT -d --pid-file=hg.pid -A access.log -E errors.log
170 $ cat hg.pid >> $DAEMON_PIDS
171
172 $ curl -s "http://localhost:$HGPORT/?cmd=listkeys&namespace=namespaces" | sort
173 bookmarks
174 namespaces
175 phases
176 $ curl -s http://localhost:$HGPORT/?cmd=hello | grep _evoext_pushobsmarkers_0
177 [1]
178 $ curl -s http://localhost:$HGPORT/?cmd=capabilities | grep _evoext_pushobsmarkers_0
179 [1]
180
181 $ echo 'advertiseobsolete=True' >> server/.hg/hgrc
182 $ $RUNTESTDIR/killdaemons.py $DAEMON_PIDS
183 $ hg serve -R server -n test -p $HGPORT -d --pid-file=hg.pid -A access.log -E errors.log
184 $ cat hg.pid >> $DAEMON_PIDS
185
186 $ curl -s "http://localhost:$HGPORT/?cmd=listkeys&namespace=namespaces" | sort
187 bookmarks
188 namespaces
189 obsolete
190 phases
191 $ curl -s http://localhost:$HGPORT/?cmd=hello
192 capabilities: _evoext_getbundle_obscommon _evoext_obshash_0 _evoext_obshash_1 _evoext_pullobsmarkers_0 _evoext_pushobsmarkers_0 batch * (glob)
193 $ curl -s http://localhost:$HGPORT/?cmd=capabilities
194 _evoext_getbundle_obscommon _evoext_obshash_0 _evoext_obshash_1 _evoext_pullobsmarkers_0 _evoext_pushobsmarkers_0 batch * (no-eol) (glob)