##// END OF EJS Templates
py3: use print_function in test-propertycache.py
Robert Stanca -
r28762:61ba04ae default
parent child Browse files
Show More
@@ -1,240 +1,238 b''
1 1 #require test-repo
2 2
3 3 $ cd "$TESTDIR"/..
4 4
5 5 $ hg files 'set:(**.py)' | sed 's|\\|/|g' | xargs python contrib/check-py3-compat.py
6 6 doc/check-seclevel.py not using absolute_import
7 7 doc/gendoc.py not using absolute_import
8 8 doc/hgmanpage.py not using absolute_import
9 9 hgext/color.py not using absolute_import
10 10 hgext/eol.py not using absolute_import
11 11 hgext/extdiff.py not using absolute_import
12 12 hgext/factotum.py not using absolute_import
13 13 hgext/fetch.py not using absolute_import
14 14 hgext/fsmonitor/pywatchman/__init__.py not using absolute_import
15 15 hgext/fsmonitor/pywatchman/__init__.py requires print_function
16 16 hgext/fsmonitor/pywatchman/capabilities.py not using absolute_import
17 17 hgext/fsmonitor/pywatchman/pybser.py not using absolute_import
18 18 hgext/gpg.py not using absolute_import
19 19 hgext/graphlog.py not using absolute_import
20 20 hgext/hgcia.py not using absolute_import
21 21 hgext/hgk.py not using absolute_import
22 22 hgext/highlight/__init__.py not using absolute_import
23 23 hgext/highlight/highlight.py not using absolute_import
24 24 hgext/histedit.py not using absolute_import
25 25 hgext/largefiles/__init__.py not using absolute_import
26 26 hgext/largefiles/basestore.py not using absolute_import
27 27 hgext/largefiles/lfcommands.py not using absolute_import
28 28 hgext/largefiles/lfutil.py not using absolute_import
29 29 hgext/largefiles/localstore.py not using absolute_import
30 30 hgext/largefiles/overrides.py not using absolute_import
31 31 hgext/largefiles/proto.py not using absolute_import
32 32 hgext/largefiles/remotestore.py not using absolute_import
33 33 hgext/largefiles/reposetup.py not using absolute_import
34 34 hgext/largefiles/uisetup.py not using absolute_import
35 35 hgext/largefiles/wirestore.py not using absolute_import
36 36 hgext/mq.py not using absolute_import
37 37 hgext/rebase.py not using absolute_import
38 38 hgext/share.py not using absolute_import
39 39 hgext/win32text.py not using absolute_import
40 40 i18n/check-translation.py not using absolute_import
41 41 i18n/polib.py not using absolute_import
42 42 setup.py not using absolute_import
43 43 tests/heredoctest.py requires print_function
44 44 tests/killdaemons.py not using absolute_import
45 45 tests/md5sum.py not using absolute_import
46 46 tests/mockblackbox.py not using absolute_import
47 47 tests/printenv.py not using absolute_import
48 48 tests/readlink.py not using absolute_import
49 49 tests/readlink.py requires print_function
50 50 tests/revlog-formatv0.py not using absolute_import
51 51 tests/run-tests.py not using absolute_import
52 52 tests/sitecustomize.py not using absolute_import
53 53 tests/svn-safe-append.py not using absolute_import
54 54 tests/svnxml.py not using absolute_import
55 55 tests/test-atomictempfile.py not using absolute_import
56 56 tests/test-demandimport.py not using absolute_import
57 57 tests/test-demandimport.py requires print_function
58 58 tests/test-doctest.py not using absolute_import
59 59 tests/test-hgwebdir-paths.py not using absolute_import
60 60 tests/test-lrucachedict.py not using absolute_import
61 61 tests/test-lrucachedict.py requires print_function
62 62 tests/test-manifest.py not using absolute_import
63 63 tests/test-pathencode.py not using absolute_import
64 64 tests/test-pathencode.py requires print_function
65 tests/test-propertycache.py requires print_function
66 65 tests/test-revlog-ancestry.py not using absolute_import
67 66 tests/test-revlog-ancestry.py requires print_function
68 67 tests/test-run-tests.py not using absolute_import
69 68 tests/test-simplemerge.py not using absolute_import
70 69 tests/test-status-inprocess.py not using absolute_import
71 70 tests/test-status-inprocess.py requires print_function
72 71 tests/test-symlink-os-yes-fs-no.py not using absolute_import
73 72 tests/test-trusted.py not using absolute_import
74 73 tests/test-trusted.py requires print_function
75 74 tests/test-ui-color.py not using absolute_import
76 75 tests/test-url.py not using absolute_import
77 76
78 77 #if py3exe
79 78 $ hg files 'set:(**.py)' | sed 's|\\|/|g' | xargs $PYTHON3 contrib/check-py3-compat.py
80 79 contrib/check-code.py: invalid syntax: (unicode error) 'unicodeescape' codec can't decode bytes in position *-*: malformed \N character escape (<unknown>, line *) (glob)
81 80 doc/hgmanpage.py: invalid syntax: invalid syntax (<unknown>, line *) (glob)
82 81 hgext/acl.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
83 82 hgext/automv.py: error importing module: <SyntaxError> invalid syntax (commands.py, line *) (line *) (glob)
84 83 hgext/blackbox.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
85 84 hgext/bugzilla.py: error importing module: <ImportError> No module named 'urlparse' (line *) (glob)
86 85 hgext/censor.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
87 86 hgext/chgserver.py: error importing module: <ImportError> No module named 'SocketServer' (line *) (glob)
88 87 hgext/children.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
89 88 hgext/churn.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
90 89 hgext/clonebundles.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
91 90 hgext/color.py: invalid syntax: invalid syntax (<unknown>, line *) (glob)
92 91 hgext/convert/bzr.py: error importing module: <SystemError> Parent module 'hgext.convert' not loaded, cannot perform relative import (line *) (glob)
93 92 hgext/convert/common.py: error importing module: <ImportError> No module named 'cPickle' (line *) (glob)
94 93 hgext/convert/convcmd.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
95 94 hgext/convert/cvs.py: error importing module: <ImportError> No module named 'cStringIO' (line *) (glob)
96 95 hgext/convert/cvsps.py: error importing module: <ImportError> No module named 'cPickle' (line *) (glob)
97 96 hgext/convert/darcs.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
98 97 hgext/convert/filemap.py: error importing module: <SystemError> Parent module 'hgext.convert' not loaded, cannot perform relative import (line *) (glob)
99 98 hgext/convert/git.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
100 99 hgext/convert/gnuarch.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
101 100 hgext/convert/hg.py: error importing module: <ImportError> No module named 'cStringIO' (line *) (glob)
102 101 hgext/convert/monotone.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
103 102 hgext/convert/p*.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
104 103 hgext/convert/subversion.py: error importing module: <ImportError> No module named 'cPickle' (line *) (glob)
105 104 hgext/convert/transport.py: error importing module: <ImportError> No module named 'svn.client' (line *) (glob)
106 105 hgext/eol.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
107 106 hgext/extdiff.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
108 107 hgext/factotum.py: error importing: <ImportError> No module named 'cStringIO' (error at url.py:*) (glob)
109 108 hgext/fetch.py: error importing module: <SyntaxError> invalid syntax (commands.py, line *) (line *) (glob)
110 109 hgext/fsmonitor/state.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
111 110 hgext/fsmonitor/watchmanclient.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
112 111 hgext/gpg.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
113 112 hgext/graphlog.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
114 113 hgext/hgcia.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
115 114 hgext/hgk.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
116 115 hgext/highlight/highlight.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
117 116 hgext/histedit.py: error importing module: <SyntaxError> invalid syntax (bundle*.py, line *) (line *) (glob)
118 117 hgext/keyword.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
119 118 hgext/largefiles/basestore.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
120 119 hgext/largefiles/lfcommands.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
121 120 hgext/largefiles/lfutil.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
122 121 hgext/largefiles/localstore.py: error importing module: <ImportError> No module named 'lfutil' (line *) (glob)
123 122 hgext/largefiles/overrides.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
124 123 hgext/largefiles/proto.py: error importing module: <ImportError> No module named 'urllib2' (line *) (glob)
125 124 hgext/largefiles/remotestore.py: error importing module: <ImportError> No module named 'urllib2' (line *) (glob)
126 125 hgext/largefiles/reposetup.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
127 126 hgext/largefiles/uisetup.py: error importing module: <SyntaxError> invalid syntax (archival.py, line *) (line *) (glob)
128 127 hgext/largefiles/wirestore.py: error importing module: <ImportError> No module named 'lfutil' (line *) (glob)
129 128 hgext/mq.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
130 129 hgext/notify.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
131 130 hgext/pager.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
132 131 hgext/patchbomb.py: error importing module: <ImportError> No module named 'cStringIO' (line *) (glob)
133 132 hgext/purge.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
134 133 hgext/rebase.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
135 134 hgext/record.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
136 135 hgext/relink.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
137 136 hgext/schemes.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
138 137 hgext/share.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
139 138 hgext/shelve.py: error importing module: <SyntaxError> invalid syntax (bundle*.py, line *) (line *) (glob)
140 139 hgext/strip.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
141 140 hgext/transplant.py: error importing: <SyntaxError> invalid syntax (bundle*.py, line *) (error at bundlerepo.py:*) (glob)
142 141 hgext/win*text.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
143 142 mercurial/archival.py: invalid syntax: invalid syntax (<unknown>, line *) (glob)
144 143 mercurial/bookmarks.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
145 144 mercurial/branchmap.py: error importing: <ImportError> No module named 'Queue' (error at scmutil.py:*) (glob)
146 145 mercurial/bundle*.py: invalid syntax: invalid syntax (<unknown>, line *) (glob)
147 146 mercurial/bundlerepo.py: error importing module: <SyntaxError> invalid syntax (bundle*.py, line *) (line *) (glob)
148 147 mercurial/byterange.py: error importing module: <ImportError> No module named 'urllib2' (line *) (glob)
149 148 mercurial/changegroup.py: error importing: <ImportError> No module named 'Queue' (error at scmutil.py:*) (glob)
150 149 mercurial/changelog.py: error importing: <ImportError> No module named 'cStringIO' (error at mpatch.py:*) (glob)
151 150 mercurial/cmdutil.py: error importing module: <ImportError> No module named 'cStringIO' (line *) (glob)
152 151 mercurial/commands.py: invalid syntax: invalid syntax (<unknown>, line *) (glob)
153 152 mercurial/commandserver.py: error importing module: <ImportError> No module named 'SocketServer' (line *) (glob)
154 153 mercurial/config.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
155 154 mercurial/context.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
156 155 mercurial/copies.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
157 156 mercurial/crecord.py: error importing module: <ImportError> No module named 'cStringIO' (line *) (glob)
158 157 mercurial/destutil.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
159 158 mercurial/dirstate.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
160 159 mercurial/discovery.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
161 160 mercurial/dispatch.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
162 161 mercurial/exchange.py: error importing module: <ImportError> No module named 'urllib2' (line *) (glob)
163 162 mercurial/extensions.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
164 163 mercurial/filelog.py: error importing: <ImportError> No module named 'cStringIO' (error at mpatch.py:*) (glob)
165 164 mercurial/filemerge.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
166 165 mercurial/fileset.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
167 166 mercurial/formatter.py: error importing module: <ImportError> No module named 'cPickle' (line *) (glob)
168 167 mercurial/graphmod.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
169 168 mercurial/help.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
170 169 mercurial/hg.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
171 170 mercurial/hgweb/common.py: error importing module: <ImportError> No module named 'BaseHTTPServer' (line *) (glob)
172 171 mercurial/hgweb/hgweb_mod.py: error importing module: <SystemError> Parent module 'mercurial.hgweb' not loaded, cannot perform relative import (line *) (glob)
173 172 mercurial/hgweb/hgwebdir_mod.py: error importing module: <SystemError> Parent module 'mercurial.hgweb' not loaded, cannot perform relative import (line *) (glob)
174 173 mercurial/hgweb/protocol.py: error importing module: <ImportError> No module named 'cStringIO' (line *) (glob)
175 174 mercurial/hgweb/request.py: error importing module: <SystemError> Parent module 'mercurial.hgweb' not loaded, cannot perform relative import (line *) (glob)
176 175 mercurial/hgweb/server.py: error importing module: <ImportError> No module named 'BaseHTTPServer' (line *) (glob)
177 176 mercurial/hgweb/webcommands.py: error importing module: <SystemError> Parent module 'mercurial.hgweb' not loaded, cannot perform relative import (line *) (glob)
178 177 mercurial/hgweb/webutil.py: error importing module: <SystemError> Parent module 'mercurial.hgweb' not loaded, cannot perform relative import (line *) (glob)
179 178 mercurial/hgweb/wsgicgi.py: error importing module: <SystemError> Parent module 'mercurial.hgweb' not loaded, cannot perform relative import (line *) (glob)
180 179 mercurial/hook.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
181 180 mercurial/httpclient/_readers.py: error importing module: <ImportError> No module named 'httplib' (line *) (glob)
182 181 mercurial/httpconnection.py: error importing module: <ImportError> No module named 'urllib2' (line *) (glob)
183 182 mercurial/httppeer.py: error importing module: <ImportError> No module named 'httplib' (line *) (glob)
184 183 mercurial/keepalive.py: error importing module: <ImportError> No module named 'httplib' (line *) (glob)
185 184 mercurial/localrepo.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
186 185 mercurial/lock.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
187 186 mercurial/mail.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
188 187 mercurial/manifest.py: error importing: <ImportError> No module named 'cStringIO' (error at mpatch.py:*) (glob)
189 188 mercurial/match.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
190 189 mercurial/mdiff.py: error importing: <ImportError> No module named 'cStringIO' (error at mpatch.py:*) (glob)
191 190 mercurial/merge.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
192 191 mercurial/minirst.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
193 192 mercurial/namespaces.py: error importing: <ImportError> No module named 'cStringIO' (error at patch.py:*) (glob)
194 193 mercurial/obsolete.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
195 194 mercurial/patch.py: error importing module: <ImportError> No module named 'cStringIO' (line *) (glob)
196 195 mercurial/pathutil.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
197 196 mercurial/peer.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
198 197 mercurial/pure/mpatch.py: error importing module: <ImportError> No module named 'cStringIO' (line *) (glob)
199 198 mercurial/pure/parsers.py: error importing module: <ImportError> No module named 'cStringIO' (line *) (glob)
200 199 mercurial/pushkey.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
201 200 mercurial/pvec.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
202 201 mercurial/registrar.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
203 202 mercurial/repair.py: error importing module: <SyntaxError> invalid syntax (bundle*.py, line *) (line *) (glob)
204 203 mercurial/repoview.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
205 204 mercurial/revlog.py: error importing: <ImportError> No module named 'cStringIO' (error at mpatch.py:*) (glob)
206 205 mercurial/revset.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
207 206 mercurial/scmutil.py: error importing module: <ImportError> No module named 'Queue' (line *) (glob)
208 207 mercurial/scmwindows.py: error importing module: <ImportError> No module named '_winreg' (line *) (glob)
209 208 mercurial/similar.py: error importing: <ImportError> No module named 'cStringIO' (error at mpatch.py:*) (glob)
210 209 mercurial/simplemerge.py: error importing: <ImportError> No module named 'cStringIO' (error at mpatch.py:*) (glob)
211 210 mercurial/sshpeer.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
212 211 mercurial/sshserver.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
213 212 mercurial/sslutil.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
214 213 mercurial/statichttprepo.py: error importing module: <ImportError> No module named 'urllib2' (line *) (glob)
215 214 mercurial/store.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
216 215 mercurial/streamclone.py: error importing: <ImportError> No module named 'Queue' (error at scmutil.py:*) (glob)
217 216 mercurial/subrepo.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
218 217 mercurial/tagmerge.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
219 218 mercurial/tags.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
220 219 mercurial/templatefilters.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
221 220 mercurial/templatekw.py: error importing: <ImportError> No module named 'cStringIO' (error at patch.py:*) (glob)
222 221 mercurial/templater.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
223 222 mercurial/transaction.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
224 223 mercurial/ui.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
225 224 mercurial/unionrepo.py: error importing: <ImportError> No module named 'cStringIO' (error at mpatch.py:*) (glob)
226 225 mercurial/url.py: error importing module: <ImportError> No module named 'cStringIO' (line *) (glob)
227 226 mercurial/util.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
228 227 mercurial/verify.py: error importing: <ImportError> No module named 'cStringIO' (error at mpatch.py:*) (glob)
229 228 mercurial/win*.py: error importing module: <ImportError> No module named 'msvcrt' (line *) (glob)
230 229 mercurial/windows.py: error importing module: <ImportError> No module named '_winreg' (line *) (glob)
231 230 mercurial/wireproto.py: error importing module: <SyntaxError> invalid syntax (bundle*.py, line *) (line *) (glob)
232 231 tests/readlink.py: invalid syntax: invalid syntax (<unknown>, line *) (glob)
233 232 tests/test-demandimport.py: invalid syntax: invalid syntax (<unknown>, line *) (glob)
234 233 tests/test-lrucachedict.py: invalid syntax: invalid syntax (<unknown>, line *) (glob)
235 tests/test-propertycache.py: invalid syntax: Missing parentheses in call to 'print' (<unknown>, line *) (glob)
236 234 tests/test-revlog-ancestry.py: invalid syntax: Missing parentheses in call to 'print' (<unknown>, line *) (glob)
237 235 tests/test-status-inprocess.py: invalid syntax: Missing parentheses in call to 'print' (<unknown>, line *) (glob)
238 236 tests/test-trusted.py: invalid syntax: invalid syntax (<unknown>, line *) (glob)
239 237
240 238 #endif
@@ -1,181 +1,181 b''
1 1 """test behavior of propertycache and unfiltered propertycache
2 2
3 3 The repoview overlay is quite complex. We test the behavior of
4 4 property cache of both localrepo and repoview to prevent
5 5 regression."""
6 6
7 from __future__ import absolute_import
7 from __future__ import absolute_import, print_function
8 8 import os
9 9 import subprocess
10 10 import mercurial.localrepo
11 11 import mercurial.repoview
12 12 import mercurial.util
13 13 import mercurial.hg
14 14 import mercurial.ui as uimod
15 15
16 16
17 17 # create some special property cache that trace they call
18 18
19 19 calllog = []
20 20 @mercurial.util.propertycache
21 21 def testcachedfoobar(repo):
22 22 name = repo.filtername
23 23 if name is None:
24 24 name = ''
25 25 val = len(name)
26 26 calllog.append(val)
27 27 return val
28 28
29 29 unficalllog = []
30 30 @mercurial.localrepo.unfilteredpropertycache
31 31 def testcachedunfifoobar(repo):
32 32 name = repo.filtername
33 33 if name is None:
34 34 name = ''
35 35 val = 100 + len(name)
36 36 unficalllog.append(val)
37 37 return val
38 38
39 39 #plug them on repo
40 40 mercurial.localrepo.localrepository.testcachedfoobar = testcachedfoobar
41 41 mercurial.localrepo.localrepository.testcachedunfifoobar = testcachedunfifoobar
42 42
43 43
44 44 # Create an empty repo and instantiate it. It is important to run
45 45 # these tests on the real object to detect regression.
46 46 repopath = os.path.join(os.environ['TESTTMP'], 'repo')
47 47 assert subprocess.call(['hg', 'init', repopath]) == 0
48 48 ui = uimod.ui()
49 49 repo = mercurial.hg.repository(ui, path=repopath).unfiltered()
50 50
51 51
52 print ''
53 print '=== property cache ==='
54 print ''
55 print 'calllog:', calllog
56 print 'cached value (unfiltered):',
57 print vars(repo).get('testcachedfoobar', 'NOCACHE')
52 print('')
53 print('=== property cache ===')
54 print('')
55 print('calllog:', calllog)
56 print('cached value (unfiltered):',
57 vars(repo).get('testcachedfoobar', 'NOCACHE'))
58 58
59 print ''
60 print '= first access on unfiltered, should do a call'
61 print 'access:', repo.testcachedfoobar
62 print 'calllog:', calllog
63 print 'cached value (unfiltered):',
64 print vars(repo).get('testcachedfoobar', 'NOCACHE')
59 print('')
60 print('= first access on unfiltered, should do a call')
61 print('access:', repo.testcachedfoobar)
62 print('calllog:', calllog)
63 print('cached value (unfiltered):',
64 vars(repo).get('testcachedfoobar', 'NOCACHE'))
65 65
66 print ''
67 print '= second access on unfiltered, should not do call'
68 print 'access', repo.testcachedfoobar
69 print 'calllog:', calllog
70 print 'cached value (unfiltered):',
71 print vars(repo).get('testcachedfoobar', 'NOCACHE')
66 print('')
67 print('= second access on unfiltered, should not do call')
68 print('access', repo.testcachedfoobar)
69 print('calllog:', calllog)
70 print('cached value (unfiltered):',
71 vars(repo).get('testcachedfoobar', 'NOCACHE'))
72 72
73 print ''
74 print '= first access on "visible" view, should do a call'
73 print('')
74 print('= first access on "visible" view, should do a call')
75 75 visibleview = repo.filtered('visible')
76 print 'cached value ("visible" view):',
77 print vars(visibleview).get('testcachedfoobar', 'NOCACHE')
78 print 'access:', visibleview.testcachedfoobar
79 print 'calllog:', calllog
80 print 'cached value (unfiltered):',
81 print vars(repo).get('testcachedfoobar', 'NOCACHE')
82 print 'cached value ("visible" view):',
83 print vars(visibleview).get('testcachedfoobar', 'NOCACHE')
76 print('cached value ("visible" view):',
77 vars(visibleview).get('testcachedfoobar', 'NOCACHE'))
78 print('access:', visibleview.testcachedfoobar)
79 print('calllog:', calllog)
80 print('cached value (unfiltered):',
81 vars(repo).get('testcachedfoobar', 'NOCACHE'))
82 print('cached value ("visible" view):',
83 vars(visibleview).get('testcachedfoobar', 'NOCACHE'))
84 84
85 print ''
86 print '= second access on "visible view", should not do call'
87 print 'access:', visibleview.testcachedfoobar
88 print 'calllog:', calllog
89 print 'cached value (unfiltered):',
90 print vars(repo).get('testcachedfoobar', 'NOCACHE')
91 print 'cached value ("visible" view):',
92 print vars(visibleview).get('testcachedfoobar', 'NOCACHE')
85 print('')
86 print('= second access on "visible view", should not do call')
87 print('access:', visibleview.testcachedfoobar)
88 print('calllog:', calllog)
89 print('cached value (unfiltered):',
90 vars(repo).get('testcachedfoobar', 'NOCACHE'))
91 print('cached value ("visible" view):',
92 vars(visibleview).get('testcachedfoobar', 'NOCACHE'))
93 93
94 print ''
95 print '= no effect on other view'
94 print('')
95 print('= no effect on other view')
96 96 immutableview = repo.filtered('immutable')
97 print 'cached value ("immutable" view):',
98 print vars(immutableview).get('testcachedfoobar', 'NOCACHE')
99 print 'access:', immutableview.testcachedfoobar
100 print 'calllog:', calllog
101 print 'cached value (unfiltered):',
102 print vars(repo).get('testcachedfoobar', 'NOCACHE')
103 print 'cached value ("visible" view):',
104 print vars(visibleview).get('testcachedfoobar', 'NOCACHE')
105 print 'cached value ("immutable" view):',
106 print vars(immutableview).get('testcachedfoobar', 'NOCACHE')
97 print('cached value ("immutable" view):',
98 vars(immutableview).get('testcachedfoobar', 'NOCACHE'))
99 print('access:', immutableview.testcachedfoobar)
100 print('calllog:', calllog)
101 print('cached value (unfiltered):',
102 vars(repo).get('testcachedfoobar', 'NOCACHE'))
103 print('cached value ("visible" view):',
104 vars(visibleview).get('testcachedfoobar', 'NOCACHE'))
105 print('cached value ("immutable" view):',
106 vars(immutableview).get('testcachedfoobar', 'NOCACHE'))
107 107
108 108 # unfiltered property cache test
109 print ''
110 print ''
111 print '=== unfiltered property cache ==='
112 print ''
113 print 'unficalllog:', unficalllog
114 print 'cached value (unfiltered): ',
115 print vars(repo).get('testcachedunfifoobar', 'NOCACHE')
116 print 'cached value ("visible" view): ',
117 print vars(visibleview).get('testcachedunfifoobar', 'NOCACHE')
118 print 'cached value ("immutable" view):',
119 print vars(immutableview).get('testcachedunfifoobar', 'NOCACHE')
109 print('')
110 print('')
111 print('=== unfiltered property cache ===')
112 print('')
113 print('unficalllog:', unficalllog)
114 print('cached value (unfiltered): ',
115 vars(repo).get('testcachedunfifoobar', 'NOCACHE'))
116 print('cached value ("visible" view): ',
117 vars(visibleview).get('testcachedunfifoobar', 'NOCACHE'))
118 print('cached value ("immutable" view):',
119 vars(immutableview).get('testcachedunfifoobar', 'NOCACHE'))
120 120
121 print ''
122 print '= first access on unfiltered, should do a call'
123 print 'access (unfiltered):', repo.testcachedunfifoobar
124 print 'unficalllog:', unficalllog
125 print 'cached value (unfiltered): ',
126 print vars(repo).get('testcachedunfifoobar', 'NOCACHE')
121 print('')
122 print('= first access on unfiltered, should do a call')
123 print('access (unfiltered):', repo.testcachedunfifoobar)
124 print('unficalllog:', unficalllog)
125 print('cached value (unfiltered): ',
126 vars(repo).get('testcachedunfifoobar', 'NOCACHE'))
127 127
128 print ''
129 print '= second access on unfiltered, should not do call'
130 print 'access (unfiltered):', repo.testcachedunfifoobar
131 print 'unficalllog:', unficalllog
132 print 'cached value (unfiltered): ',
133 print vars(repo).get('testcachedunfifoobar', 'NOCACHE')
128 print('')
129 print('= second access on unfiltered, should not do call')
130 print('access (unfiltered):', repo.testcachedunfifoobar)
131 print('unficalllog:', unficalllog)
132 print('cached value (unfiltered): ',
133 vars(repo).get('testcachedunfifoobar', 'NOCACHE'))
134 134
135 print ''
136 print '= access on view should use the unfiltered cache'
137 print 'access (unfiltered): ', repo.testcachedunfifoobar
138 print 'access ("visible" view): ', visibleview.testcachedunfifoobar
139 print 'access ("immutable" view):', immutableview.testcachedunfifoobar
140 print 'unficalllog:', unficalllog
141 print 'cached value (unfiltered): ',
142 print vars(repo).get('testcachedunfifoobar', 'NOCACHE')
143 print 'cached value ("visible" view): ',
144 print vars(visibleview).get('testcachedunfifoobar', 'NOCACHE')
145 print 'cached value ("immutable" view):',
146 print vars(immutableview).get('testcachedunfifoobar', 'NOCACHE')
135 print('')
136 print('= access on view should use the unfiltered cache')
137 print('access (unfiltered): ', repo.testcachedunfifoobar)
138 print('access ("visible" view): ', visibleview.testcachedunfifoobar)
139 print('access ("immutable" view):', immutableview.testcachedunfifoobar)
140 print('unficalllog:', unficalllog)
141 print('cached value (unfiltered): ',
142 vars(repo).get('testcachedunfifoobar', 'NOCACHE'))
143 print('cached value ("visible" view): ',
144 vars(visibleview).get('testcachedunfifoobar', 'NOCACHE'))
145 print('cached value ("immutable" view):',
146 vars(immutableview).get('testcachedunfifoobar', 'NOCACHE'))
147 147
148 print ''
149 print '= even if we clear the unfiltered cache'
148 print('')
149 print('= even if we clear the unfiltered cache')
150 150 del repo.__dict__['testcachedunfifoobar']
151 print 'cached value (unfiltered): ',
152 print vars(repo).get('testcachedunfifoobar', 'NOCACHE')
153 print 'cached value ("visible" view): ',
154 print vars(visibleview).get('testcachedunfifoobar', 'NOCACHE')
155 print 'cached value ("immutable" view):',
156 print vars(immutableview).get('testcachedunfifoobar', 'NOCACHE')
157 print 'unficalllog:', unficalllog
158 print 'access ("visible" view): ', visibleview.testcachedunfifoobar
159 print 'unficalllog:', unficalllog
160 print 'cached value (unfiltered): ',
161 print vars(repo).get('testcachedunfifoobar', 'NOCACHE')
162 print 'cached value ("visible" view): ',
163 print vars(visibleview).get('testcachedunfifoobar', 'NOCACHE')
164 print 'cached value ("immutable" view):',
165 print vars(immutableview).get('testcachedunfifoobar', 'NOCACHE')
166 print 'access ("immutable" view):', immutableview.testcachedunfifoobar
167 print 'unficalllog:', unficalllog
168 print 'cached value (unfiltered): ',
169 print vars(repo).get('testcachedunfifoobar', 'NOCACHE')
170 print 'cached value ("visible" view): ',
171 print vars(visibleview).get('testcachedunfifoobar', 'NOCACHE')
172 print 'cached value ("immutable" view):',
173 print vars(immutableview).get('testcachedunfifoobar', 'NOCACHE')
174 print 'access (unfiltered): ', repo.testcachedunfifoobar
175 print 'unficalllog:', unficalllog
176 print 'cached value (unfiltered): ',
177 print vars(repo).get('testcachedunfifoobar', 'NOCACHE')
178 print 'cached value ("visible" view): ',
179 print vars(visibleview).get('testcachedunfifoobar', 'NOCACHE')
180 print 'cached value ("immutable" view):',
181 print vars(immutableview).get('testcachedunfifoobar', 'NOCACHE')
151 print('cached value (unfiltered): ',
152 vars(repo).get('testcachedunfifoobar', 'NOCACHE'))
153 print('cached value ("visible" view): ',
154 vars(visibleview).get('testcachedunfifoobar', 'NOCACHE'))
155 print('cached value ("immutable" view):',
156 vars(immutableview).get('testcachedunfifoobar', 'NOCACHE'))
157 print('unficalllog:', unficalllog)
158 print('access ("visible" view): ', visibleview.testcachedunfifoobar)
159 print('unficalllog:', unficalllog)
160 print('cached value (unfiltered): ',
161 vars(repo).get('testcachedunfifoobar', 'NOCACHE'))
162 print('cached value ("visible" view): ',
163 vars(visibleview).get('testcachedunfifoobar', 'NOCACHE'))
164 print('cached value ("immutable" view):',
165 vars(immutableview).get('testcachedunfifoobar', 'NOCACHE'))
166 print('access ("immutable" view):', immutableview.testcachedunfifoobar)
167 print('unficalllog:', unficalllog)
168 print('cached value (unfiltered): ',
169 vars(repo).get('testcachedunfifoobar', 'NOCACHE'))
170 print('cached value ("visible" view): ',
171 vars(visibleview).get('testcachedunfifoobar', 'NOCACHE'))
172 print('cached value ("immutable" view):',
173 vars(immutableview).get('testcachedunfifoobar', 'NOCACHE'))
174 print('access (unfiltered): ', repo.testcachedunfifoobar)
175 print('unficalllog:', unficalllog)
176 print('cached value (unfiltered): ',
177 vars(repo).get('testcachedunfifoobar', 'NOCACHE'))
178 print('cached value ("visible" view): ',
179 vars(visibleview).get('testcachedunfifoobar', 'NOCACHE'))
180 print('cached value ("immutable" view):',
181 vars(immutableview).get('testcachedunfifoobar', 'NOCACHE'))
General Comments 0
You need to be logged in to leave comments. Login now