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