##// END OF EJS Templates
py3: use absolute_import in test-hybridencode.py
Robert Stanca -
r28749:2fa5c7c1 default
parent child Browse files
Show More
@@ -1,250 +1,249
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 tests/test-hybridencode.py not using absolute_import
61 60 tests/test-hybridencode.py requires print_function
62 61 tests/test-lrucachedict.py not using absolute_import
63 62 tests/test-lrucachedict.py requires print_function
64 63 tests/test-manifest.py not using absolute_import
65 64 tests/test-minirst.py not using absolute_import
66 65 tests/test-minirst.py requires print_function
67 66 tests/test-parseindex2.py not using absolute_import
68 67 tests/test-parseindex2.py requires print_function
69 68 tests/test-pathencode.py not using absolute_import
70 69 tests/test-pathencode.py requires print_function
71 70 tests/test-propertycache.py not using absolute_import
72 71 tests/test-propertycache.py requires print_function
73 72 tests/test-revlog-ancestry.py not using absolute_import
74 73 tests/test-revlog-ancestry.py requires print_function
75 74 tests/test-run-tests.py not using absolute_import
76 75 tests/test-simplemerge.py not using absolute_import
77 76 tests/test-status-inprocess.py not using absolute_import
78 77 tests/test-status-inprocess.py requires print_function
79 78 tests/test-symlink-os-yes-fs-no.py not using absolute_import
80 79 tests/test-trusted.py not using absolute_import
81 80 tests/test-trusted.py requires print_function
82 81 tests/test-ui-color.py not using absolute_import
83 82 tests/test-url.py not using absolute_import
84 83
85 84 #if py3exe
86 85 $ hg files 'set:(**.py)' | sed 's|\\|/|g' | xargs $PYTHON3 contrib/check-py3-compat.py
87 86 contrib/check-code.py: invalid syntax: (unicode error) 'unicodeescape' codec can't decode bytes in position *-*: malformed \N character escape (<unknown>, line *) (glob)
88 87 doc/hgmanpage.py: invalid syntax: invalid syntax (<unknown>, line *) (glob)
89 88 hgext/acl.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
90 89 hgext/automv.py: error importing module: <SyntaxError> invalid syntax (commands.py, line *) (line *) (glob)
91 90 hgext/blackbox.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
92 91 hgext/bugzilla.py: error importing module: <ImportError> No module named 'urlparse' (line *) (glob)
93 92 hgext/censor.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
94 93 hgext/chgserver.py: error importing module: <ImportError> No module named 'SocketServer' (line *) (glob)
95 94 hgext/children.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
96 95 hgext/churn.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
97 96 hgext/clonebundles.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
98 97 hgext/color.py: invalid syntax: invalid syntax (<unknown>, line *) (glob)
99 98 hgext/convert/bzr.py: error importing module: <SystemError> Parent module 'hgext.convert' not loaded, cannot perform relative import (line *) (glob)
100 99 hgext/convert/common.py: error importing module: <ImportError> No module named 'cPickle' (line *) (glob)
101 100 hgext/convert/convcmd.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
102 101 hgext/convert/cvs.py: error importing module: <ImportError> No module named 'cStringIO' (line *) (glob)
103 102 hgext/convert/cvsps.py: error importing module: <ImportError> No module named 'cPickle' (line *) (glob)
104 103 hgext/convert/darcs.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
105 104 hgext/convert/filemap.py: error importing module: <SystemError> Parent module 'hgext.convert' not loaded, cannot perform relative import (line *) (glob)
106 105 hgext/convert/git.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
107 106 hgext/convert/gnuarch.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
108 107 hgext/convert/hg.py: error importing module: <ImportError> No module named 'cStringIO' (line *) (glob)
109 108 hgext/convert/monotone.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
110 109 hgext/convert/p*.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
111 110 hgext/convert/subversion.py: error importing module: <ImportError> No module named 'cPickle' (line *) (glob)
112 111 hgext/convert/transport.py: error importing module: <ImportError> No module named 'svn.client' (line *) (glob)
113 112 hgext/eol.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
114 113 hgext/extdiff.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
115 114 hgext/factotum.py: error importing: <ImportError> No module named 'cStringIO' (error at url.py:*) (glob)
116 115 hgext/fetch.py: error importing module: <SyntaxError> invalid syntax (commands.py, line *) (line *) (glob)
117 116 hgext/fsmonitor/state.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
118 117 hgext/fsmonitor/watchmanclient.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
119 118 hgext/gpg.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
120 119 hgext/graphlog.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
121 120 hgext/hgcia.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
122 121 hgext/hgk.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
123 122 hgext/highlight/highlight.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
124 123 hgext/histedit.py: error importing module: <SyntaxError> invalid syntax (bundle*.py, line *) (line *) (glob)
125 124 hgext/keyword.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
126 125 hgext/largefiles/basestore.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
127 126 hgext/largefiles/lfcommands.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
128 127 hgext/largefiles/lfutil.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
129 128 hgext/largefiles/localstore.py: error importing module: <ImportError> No module named 'lfutil' (line *) (glob)
130 129 hgext/largefiles/overrides.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
131 130 hgext/largefiles/proto.py: error importing module: <ImportError> No module named 'urllib2' (line *) (glob)
132 131 hgext/largefiles/remotestore.py: error importing module: <ImportError> No module named 'urllib2' (line *) (glob)
133 132 hgext/largefiles/reposetup.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
134 133 hgext/largefiles/uisetup.py: error importing module: <SyntaxError> invalid syntax (archival.py, line *) (line *) (glob)
135 134 hgext/largefiles/wirestore.py: error importing module: <ImportError> No module named 'lfutil' (line *) (glob)
136 135 hgext/mq.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
137 136 hgext/notify.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
138 137 hgext/pager.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
139 138 hgext/patchbomb.py: error importing module: <ImportError> No module named 'cStringIO' (line *) (glob)
140 139 hgext/purge.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
141 140 hgext/rebase.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
142 141 hgext/record.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
143 142 hgext/relink.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
144 143 hgext/schemes.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
145 144 hgext/share.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
146 145 hgext/shelve.py: error importing module: <SyntaxError> invalid syntax (bundle*.py, line *) (line *) (glob)
147 146 hgext/strip.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
148 147 hgext/transplant.py: error importing: <SyntaxError> invalid syntax (bundle*.py, line *) (error at bundlerepo.py:*) (glob)
149 148 hgext/win*text.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
150 149 mercurial/archival.py: invalid syntax: invalid syntax (<unknown>, line *) (glob)
151 150 mercurial/bookmarks.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
152 151 mercurial/branchmap.py: error importing: <ImportError> No module named 'Queue' (error at scmutil.py:*) (glob)
153 152 mercurial/bundle*.py: invalid syntax: invalid syntax (<unknown>, line *) (glob)
154 153 mercurial/bundlerepo.py: error importing module: <SyntaxError> invalid syntax (bundle*.py, line *) (line *) (glob)
155 154 mercurial/byterange.py: error importing module: <ImportError> No module named 'urllib2' (line *) (glob)
156 155 mercurial/changegroup.py: error importing: <ImportError> No module named 'Queue' (error at scmutil.py:*) (glob)
157 156 mercurial/changelog.py: error importing: <ImportError> No module named 'cStringIO' (error at mpatch.py:*) (glob)
158 157 mercurial/cmdutil.py: error importing module: <ImportError> No module named 'cStringIO' (line *) (glob)
159 158 mercurial/commands.py: invalid syntax: invalid syntax (<unknown>, line *) (glob)
160 159 mercurial/commandserver.py: error importing module: <ImportError> No module named 'SocketServer' (line *) (glob)
161 160 mercurial/config.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
162 161 mercurial/context.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
163 162 mercurial/copies.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
164 163 mercurial/crecord.py: error importing module: <ImportError> No module named 'cStringIO' (line *) (glob)
165 164 mercurial/destutil.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
166 165 mercurial/dirstate.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
167 166 mercurial/discovery.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
168 167 mercurial/dispatch.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
169 168 mercurial/exchange.py: error importing module: <ImportError> No module named 'urllib2' (line *) (glob)
170 169 mercurial/extensions.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
171 170 mercurial/filelog.py: error importing: <ImportError> No module named 'cStringIO' (error at mpatch.py:*) (glob)
172 171 mercurial/filemerge.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
173 172 mercurial/fileset.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
174 173 mercurial/formatter.py: error importing module: <ImportError> No module named 'cPickle' (line *) (glob)
175 174 mercurial/graphmod.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
176 175 mercurial/help.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
177 176 mercurial/hg.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
178 177 mercurial/hgweb/common.py: error importing module: <ImportError> No module named 'BaseHTTPServer' (line *) (glob)
179 178 mercurial/hgweb/hgweb_mod.py: error importing module: <SystemError> Parent module 'mercurial.hgweb' not loaded, cannot perform relative import (line *) (glob)
180 179 mercurial/hgweb/hgwebdir_mod.py: error importing module: <SystemError> Parent module 'mercurial.hgweb' not loaded, cannot perform relative import (line *) (glob)
181 180 mercurial/hgweb/protocol.py: error importing module: <ImportError> No module named 'cStringIO' (line *) (glob)
182 181 mercurial/hgweb/request.py: error importing module: <SystemError> Parent module 'mercurial.hgweb' not loaded, cannot perform relative import (line *) (glob)
183 182 mercurial/hgweb/server.py: error importing module: <ImportError> No module named 'BaseHTTPServer' (line *) (glob)
184 183 mercurial/hgweb/webcommands.py: error importing module: <SystemError> Parent module 'mercurial.hgweb' not loaded, cannot perform relative import (line *) (glob)
185 184 mercurial/hgweb/webutil.py: error importing module: <SystemError> Parent module 'mercurial.hgweb' not loaded, cannot perform relative import (line *) (glob)
186 185 mercurial/hgweb/wsgicgi.py: error importing module: <SystemError> Parent module 'mercurial.hgweb' not loaded, cannot perform relative import (line *) (glob)
187 186 mercurial/hook.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
188 187 mercurial/httpclient/_readers.py: error importing module: <ImportError> No module named 'httplib' (line *) (glob)
189 188 mercurial/httpconnection.py: error importing module: <ImportError> No module named 'urllib2' (line *) (glob)
190 189 mercurial/httppeer.py: error importing module: <ImportError> No module named 'httplib' (line *) (glob)
191 190 mercurial/keepalive.py: error importing module: <ImportError> No module named 'httplib' (line *) (glob)
192 191 mercurial/localrepo.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
193 192 mercurial/lock.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
194 193 mercurial/mail.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
195 194 mercurial/manifest.py: error importing: <ImportError> No module named 'cStringIO' (error at mpatch.py:*) (glob)
196 195 mercurial/match.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
197 196 mercurial/mdiff.py: error importing: <ImportError> No module named 'cStringIO' (error at mpatch.py:*) (glob)
198 197 mercurial/merge.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
199 198 mercurial/minirst.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
200 199 mercurial/namespaces.py: error importing: <ImportError> No module named 'cStringIO' (error at patch.py:*) (glob)
201 200 mercurial/obsolete.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
202 201 mercurial/patch.py: error importing module: <ImportError> No module named 'cStringIO' (line *) (glob)
203 202 mercurial/pathutil.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
204 203 mercurial/peer.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
205 204 mercurial/pure/mpatch.py: error importing module: <ImportError> No module named 'cStringIO' (line *) (glob)
206 205 mercurial/pure/parsers.py: error importing module: <ImportError> No module named 'cStringIO' (line *) (glob)
207 206 mercurial/pushkey.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
208 207 mercurial/pvec.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
209 208 mercurial/registrar.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
210 209 mercurial/repair.py: error importing module: <SyntaxError> invalid syntax (bundle*.py, line *) (line *) (glob)
211 210 mercurial/repoview.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
212 211 mercurial/revlog.py: error importing: <ImportError> No module named 'cStringIO' (error at mpatch.py:*) (glob)
213 212 mercurial/revset.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
214 213 mercurial/scmutil.py: error importing module: <ImportError> No module named 'Queue' (line *) (glob)
215 214 mercurial/scmwindows.py: error importing module: <ImportError> No module named '_winreg' (line *) (glob)
216 215 mercurial/similar.py: error importing: <ImportError> No module named 'cStringIO' (error at mpatch.py:*) (glob)
217 216 mercurial/simplemerge.py: error importing: <ImportError> No module named 'cStringIO' (error at mpatch.py:*) (glob)
218 217 mercurial/sshpeer.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
219 218 mercurial/sshserver.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
220 219 mercurial/sslutil.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
221 220 mercurial/statichttprepo.py: error importing module: <ImportError> No module named 'urllib2' (line *) (glob)
222 221 mercurial/store.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
223 222 mercurial/streamclone.py: error importing: <ImportError> No module named 'Queue' (error at scmutil.py:*) (glob)
224 223 mercurial/subrepo.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
225 224 mercurial/tagmerge.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
226 225 mercurial/tags.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
227 226 mercurial/templatefilters.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
228 227 mercurial/templatekw.py: error importing: <ImportError> No module named 'cStringIO' (error at patch.py:*) (glob)
229 228 mercurial/templater.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
230 229 mercurial/transaction.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
231 230 mercurial/ui.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
232 231 mercurial/unionrepo.py: error importing: <ImportError> No module named 'cStringIO' (error at mpatch.py:*) (glob)
233 232 mercurial/url.py: error importing module: <ImportError> No module named 'cStringIO' (line *) (glob)
234 233 mercurial/util.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
235 234 mercurial/verify.py: error importing: <ImportError> No module named 'cStringIO' (error at mpatch.py:*) (glob)
236 235 mercurial/win*.py: error importing module: <ImportError> No module named 'msvcrt' (line *) (glob)
237 236 mercurial/windows.py: error importing module: <ImportError> No module named '_winreg' (line *) (glob)
238 237 mercurial/wireproto.py: error importing module: <SyntaxError> invalid syntax (bundle*.py, line *) (line *) (glob)
239 238 tests/readlink.py: invalid syntax: invalid syntax (<unknown>, line *) (glob)
240 239 tests/test-demandimport.py: invalid syntax: invalid syntax (<unknown>, line *) (glob)
241 240 tests/test-hybridencode.py: invalid syntax: invalid syntax (<unknown>, line *) (glob)
242 241 tests/test-lrucachedict.py: invalid syntax: invalid syntax (<unknown>, line *) (glob)
243 242 tests/test-minirst.py: invalid syntax: Missing parentheses in call to 'print' (<unknown>, line *) (glob)
244 243 tests/test-parseindex*.py: invalid syntax: Missing parentheses in call to 'print' (<unknown>, line *) (glob)
245 244 tests/test-propertycache.py: invalid syntax: Missing parentheses in call to 'print' (<unknown>, line *) (glob)
246 245 tests/test-revlog-ancestry.py: invalid syntax: Missing parentheses in call to 'print' (<unknown>, line *) (glob)
247 246 tests/test-status-inprocess.py: invalid syntax: Missing parentheses in call to 'print' (<unknown>, line *) (glob)
248 247 tests/test-trusted.py: invalid syntax: invalid syntax (<unknown>, line *) (glob)
249 248
250 249 #endif
@@ -1,468 +1,471
1 from mercurial import store
1 from __future__ import absolute_import
2 from mercurial import (
3 store,
4 )
2 5
3 6 def show(s):
4 7 # show test input
5 8 print "A = '%s'" % s.encode("string_escape")
6 9
7 10 # show the result of the C implementation, if available
8 11 h = store._pathencode(s)
9 12 print "B = '%s'" % h.encode("string_escape")
10 13
11 14 # compare it with reference implementation in Python
12 15 r = store._hybridencode(s, True)
13 16 if h != r:
14 17 print "R = '%s'" % r.encode("string_escape")
15 18 print
16 19
17 20 show("data/abcdefghijklmnopqrstuvwxyz0123456789 !#%&'()+,-.;=[]^`{}")
18 21
19 22 print "uppercase char X is encoded as _x"
20 23 show("data/ABCDEFGHIJKLMNOPQRSTUVWXYZ")
21 24
22 25 print "underbar is doubled"
23 26 show("data/_")
24 27
25 28 print "tilde is character-encoded"
26 29 show("data/~")
27 30
28 31 print "characters in ASCII code range 1..31"
29 32 show('data/\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f'
30 33 '\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f')
31 34
32 35 print "characters in ASCII code range 126..255"
33 36 show('data/\x7e\x7f'
34 37 '\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f'
35 38 '\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f')
36 39 show('data/\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7\xa8\xa9\xaa\xab\xac\xad\xae\xaf'
37 40 '\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf')
38 41 show('data/\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf'
39 42 '\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf')
40 43 show('data/\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7\xe8\xe9\xea\xeb\xec\xed\xee\xef'
41 44 '\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff')
42 45
43 46 print "Windows reserved characters"
44 47 show('data/less <, greater >, colon :, double-quote ", backslash \\'
45 48 ', pipe |, question-mark ?, asterisk *')
46 49
47 50 print "encoding directories ending in .hg, .i or .d with '.hg' suffix"
48 51 show('data/x.h.i/x.hg/x.i/x.d/foo')
49 52 show('data/a.hg/a.i/a.d/foo')
50 53 show('data/au.hg/au.i/au.d/foo')
51 54 show('data/aux.hg/aux.i/aux.d/foo')
52 55 show('data/auxy.hg/auxy.i/auxy.d/foo')
53 56
54 57 print "but these are not encoded on *filenames*"
55 58 show('data/foo/x.hg')
56 59 show('data/foo/x.i')
57 60 show('data/foo/x.d')
58 61 show('data/foo/a.hg')
59 62 show('data/foo/a.i')
60 63 show('data/foo/a.d')
61 64 show('data/foo/au.hg')
62 65 show('data/foo/au.i')
63 66 show('data/foo/au.d')
64 67 show('data/foo/aux.hg')
65 68 show('data/foo/aux.i')
66 69 show('data/foo/aux.d')
67 70 show('data/foo/auxy.hg')
68 71 show('data/foo/auxy.i')
69 72 show('data/foo/auxy.d')
70 73
71 74 print "plain .hg, .i and .d directories have the leading dot encoded"
72 75 show('data/.hg/.i/.d/foo')
73 76
74 77 show('data/aux.bla/bla.aux/prn/PRN/lpt/com3/nul/coma/foo.NUL/normal.c.i')
75 78
76 79 show('data/AUX/SECOND/X.PRN/FOURTH/FI:FTH/SIXTH/SEVENTH/EIGHTH/NINETH/'
77 80 'TENTH/ELEVENTH/LOREMIPSUM.TXT.i')
78 81 show('data/enterprise/openesbaddons/contrib-imola/corba-bc/netbeansplugin/'
79 82 'wsdlExtension/src/main/java/META-INF/services/org.netbeans.modules'
80 83 '.xml.wsdl.bindingsupport.spi.ExtensibilityElementTemplateProvider.i')
81 84 show('data/AUX.THE-QUICK-BROWN-FOX-JU:MPS-OVER-THE-LAZY-DOG-THE-QUICK-'
82 85 'BROWN-FOX-JUMPS-OVER-THE-LAZY-DOG.TXT.i')
83 86 show('data/Project Planning/Resources/AnotherLongDirectoryName/'
84 87 'Followedbyanother/AndAnother/AndThenAnExtremelyLongFileName.txt')
85 88 show('data/Project.Planning/Resources/AnotherLongDirectoryName/'
86 89 'Followedbyanother/AndAnother/AndThenAnExtremelyLongFileName.txt')
87 90 show('data/foo.../foo / /a./_. /__/.x../ bla/.FOO/something.i')
88 91
89 92 show('data/c/co/com/com0/com1/com2/com3/com4/com5/com6/com7/com8/com9')
90 93 show('data/C/CO/COM/COM0/COM1/COM2/COM3/COM4/COM5/COM6/COM7/COM8/COM9')
91 94 show('data/c.x/co.x/com.x/com0.x/com1.x/com2.x/com3.x/com4.x/com5.x'
92 95 '/com6.x/com7.x/com8.x/com9.x')
93 96 show('data/x.c/x.co/x.com0/x.com1/x.com2/x.com3/x.com4/x.com5'
94 97 '/x.com6/x.com7/x.com8/x.com9')
95 98 show('data/cx/cox/comx/com0x/com1x/com2x/com3x/com4x/com5x'
96 99 '/com6x/com7x/com8x/com9x')
97 100 show('data/xc/xco/xcom0/xcom1/xcom2/xcom3/xcom4/xcom5'
98 101 '/xcom6/xcom7/xcom8/xcom9')
99 102
100 103 show('data/l/lp/lpt/lpt0/lpt1/lpt2/lpt3/lpt4/lpt5/lpt6/lpt7/lpt8/lpt9')
101 104 show('data/L/LP/LPT/LPT0/LPT1/LPT2/LPT3/LPT4/LPT5/LPT6/LPT7/LPT8/LPT9')
102 105 show('data/l.x/lp.x/lpt.x/lpt0.x/lpt1.x/lpt2.x/lpt3.x/lpt4.x/lpt5.x'
103 106 '/lpt6.x/lpt7.x/lpt8.x/lpt9.x')
104 107 show('data/x.l/x.lp/x.lpt/x.lpt0/x.lpt1/x.lpt2/x.lpt3/x.lpt4/x.lpt5'
105 108 '/x.lpt6/x.lpt7/x.lpt8/x.lpt9')
106 109 show('data/lx/lpx/lptx/lpt0x/lpt1x/lpt2x/lpt3x/lpt4x/lpt5x'
107 110 '/lpt6x/lpt7x/lpt8x/lpt9x')
108 111 show('data/xl/xlp/xlpt/xlpt0/xlpt1/xlpt2/xlpt3/xlpt4/xlpt5'
109 112 '/xlpt6/xlpt7/xlpt8/xlpt9')
110 113
111 114 show('data/con/p/pr/prn/a/au/aux/n/nu/nul')
112 115 show('data/CON/P/PR/PRN/A/AU/AUX/N/NU/NUL')
113 116 show('data/con.x/p.x/pr.x/prn.x/a.x/au.x/aux.x/n.x/nu.x/nul.x')
114 117 show('data/x.con/x.p/x.pr/x.prn/x.a/x.au/x.aux/x.n/x.nu/x.nul')
115 118 show('data/conx/px/prx/prnx/ax/aux/auxx/nx/nux/nulx')
116 119 show('data/xcon/xp/xpr/xprn/xa/xau/xaux/xn/xnu/xnul')
117 120
118 121 show('data/a./au./aux./auxy./aux.')
119 122 show('data/c./co./con./cony./con.')
120 123 show('data/p./pr./prn./prny./prn.')
121 124 show('data/n./nu./nul./nuly./nul.')
122 125 show('data/l./lp./lpt./lpt1./lpt1y./lpt1.')
123 126 show('data/lpt9./lpt9y./lpt9.')
124 127 show('data/com./com1./com1y./com1.')
125 128 show('data/com9./com9y./com9.')
126 129
127 130 show('data/a /au /aux /auxy /aux ')
128 131
129 132 print "largest unhashed path"
130 133 show('data/123456789-123456789-123456789-123456789-123456789-'
131 134 'unhashed--xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
132 135 '123456789-12345')
133 136
134 137 print "shortest hashed path"
135 138 show('data/123456789-123456789-123456789-123456789-123456789-'
136 139 'hashed----xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
137 140 '123456789-123456')
138 141
139 142 print "changing one char in part that's hashed away produces a different hash"
140 143 show('data/123456789-123456789-123456789-123456789-123456789-'
141 144 'hashed----xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxy-'
142 145 '123456789-123456')
143 146
144 147 print "uppercase hitting length limit due to encoding"
145 148 show('data/A23456789-123456789-123456789-123456789-123456789-'
146 149 'xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
147 150 '123456789-12345')
148 151 show('data/Z23456789-123456789-123456789-123456789-123456789-'
149 152 'xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
150 153 '123456789-12345')
151 154
152 155 print "compare with lowercase not hitting limit"
153 156 show('data/a23456789-123456789-123456789-123456789-123456789-'
154 157 'xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
155 158 '123456789-12345')
156 159 show('data/z23456789-123456789-123456789-123456789-123456789-'
157 160 'xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
158 161 '123456789-12345')
159 162
160 163 print "not hitting limit with any of these"
161 164 show("data/abcdefghijklmnopqrstuvwxyz0123456789 !#%&'()+,-.;="
162 165 "[]^`{}xxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-"
163 166 "123456789-12345")
164 167
165 168 print "underbar hitting length limit due to encoding"
166 169 show('data/_23456789-123456789-123456789-123456789-123456789-'
167 170 'xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
168 171 '123456789-12345')
169 172
170 173 print "tilde hitting length limit due to encoding"
171 174 show('data/~23456789-123456789-123456789-123456789-123456789-'
172 175 'xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
173 176 '123456789-12345')
174 177
175 178 print "Windows reserved characters hitting length limit"
176 179 show('data/<23456789-123456789-123456789-123456789-123456789-'
177 180 'xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
178 181 '123456789-12345')
179 182 show('data/>23456789-123456789-123456789-123456789-123456789-'
180 183 'xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
181 184 '123456789-12345')
182 185 show('data/:23456789-123456789-123456789-123456789-123456789-'
183 186 'xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
184 187 '123456789-12345')
185 188 show('data/"23456789-123456789-123456789-123456789-123456789-'
186 189 'xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
187 190 '123456789-12345')
188 191 show('data/\\23456789-123456789-123456789-123456789-123456789-'
189 192 'xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
190 193 '123456789-12345')
191 194 show('data/|23456789-123456789-123456789-123456789-123456789-'
192 195 'xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
193 196 '123456789-12345')
194 197 show('data/?23456789-123456789-123456789-123456789-123456789-'
195 198 'xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
196 199 '123456789-12345')
197 200 show('data/*23456789-123456789-123456789-123456789-123456789-'
198 201 'xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
199 202 '123456789-12345')
200 203
201 204 print "initial space hitting length limit"
202 205 show('data/ 23456789-123456789-123456789-123456789-123456789-'
203 206 'xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
204 207 '123456789-12345')
205 208
206 209 print "initial dot hitting length limit"
207 210 show('data/.23456789-123456789-123456789-123456789-123456789-'
208 211 'xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
209 212 '123456789-12345')
210 213
211 214 print "trailing space in filename hitting length limit"
212 215 show('data/123456789-123456789-123456789-123456789-123456789-'
213 216 'xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
214 217 '123456789-1234 ')
215 218
216 219 print "trailing dot in filename hitting length limit"
217 220 show('data/123456789-123456789-123456789-123456789-123456789-'
218 221 'xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
219 222 '123456789-1234.')
220 223
221 224 print "initial space in directory hitting length limit"
222 225 show('data/ x/456789-123456789-123456789-123456789-123456789-'
223 226 'xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
224 227 '123456789-12345')
225 228
226 229 print "initial dot in directory hitting length limit"
227 230 show('data/.x/456789-123456789-123456789-123456789-123456789-'
228 231 'xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
229 232 '123456789-12345')
230 233
231 234 print "trailing space in directory hitting length limit"
232 235 show('data/x /456789-123456789-123456789-123456789-123456789-'
233 236 'xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
234 237 '123456789-12345')
235 238
236 239 print "trailing dot in directory hitting length limit"
237 240 show('data/x./456789-123456789-123456789-123456789-123456789-'
238 241 'xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
239 242 '123456789-12345')
240 243
241 244 print "with directories that need direncoding, hitting length limit"
242 245 show('data/x.i/56789-123456789-123456789-123456789-123456789-'
243 246 'xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
244 247 '123456789-12345')
245 248 show('data/x.d/56789-123456789-123456789-123456789-123456789-'
246 249 'xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
247 250 '123456789-12345')
248 251 show('data/x.hg/5789-123456789-123456789-123456789-123456789-'
249 252 'xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
250 253 '123456789-12345')
251 254
252 255 print "Windows reserved filenames, hitting length limit"
253 256 show('data/con/56789-123456789-123456789-123456789-123456789-'
254 257 'xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
255 258 '123456789-12345')
256 259 show('data/prn/56789-123456789-123456789-123456789-123456789-'
257 260 'xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
258 261 '123456789-12345')
259 262 show('data/aux/56789-123456789-123456789-123456789-123456789-'
260 263 'xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
261 264 '123456789-12345')
262 265 show('data/nul/56789-123456789-123456789-123456789-123456789-'
263 266 'xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
264 267 '123456789-12345')
265 268 show('data/com1/6789-123456789-123456789-123456789-123456789-'
266 269 'xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
267 270 '123456789-12345')
268 271 show('data/com9/6789-123456789-123456789-123456789-123456789-'
269 272 'xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
270 273 '123456789-12345')
271 274 show('data/lpt1/6789-123456789-123456789-123456789-123456789-'
272 275 'xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
273 276 '123456789-12345')
274 277 show('data/lpt9/6789-123456789-123456789-123456789-123456789-'
275 278 'xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
276 279 '123456789-12345')
277 280
278 281 print "non-reserved names, just not hitting limit"
279 282 show('data/123456789-123456789-123456789-123456789-123456789-'
280 283 '/com/com0/lpt/lpt0/-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
281 284 '123456789-12345')
282 285
283 286 print "hashed path with largest untruncated 1st dir"
284 287 show('data/12345678/-123456789-123456789-123456789-123456789-'
285 288 'hashed----xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
286 289 '123456789-123456')
287 290
288 291 print "hashed path with smallest truncated 1st dir"
289 292 show('data/123456789/123456789-123456789-123456789-123456789-'
290 293 'hashed----xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
291 294 '123456789-123456')
292 295
293 296 print "hashed path with largest untruncated two dirs"
294 297 show('data/12345678/12345678/9-123456789-123456789-123456789-'
295 298 'hashed----xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
296 299 '123456789-123456')
297 300
298 301 print "hashed path with smallest truncated two dirs"
299 302 show('data/123456789/123456789/123456789-123456789-123456789-'
300 303 'hashed----xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
301 304 '123456789-123456')
302 305
303 306 print "hashed path with largest untruncated three dirs"
304 307 show('data/12345678/12345678/12345678/89-123456789-123456789-'
305 308 'hashed----xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
306 309 '123456789-123456')
307 310
308 311 print "hashed path with smallest truncated three dirs"
309 312 show('data/123456789/123456789/123456789/123456789-123456789-'
310 313 'hashed----xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
311 314 '123456789-123456')
312 315
313 316 print "hashed path with largest untruncated four dirs"
314 317 show('data/12345678/12345678/12345678/12345678/789-123456789-'
315 318 'hashed----xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
316 319 '123456789-123456')
317 320
318 321 print "hashed path with smallest truncated four dirs"
319 322 show('data/123456789/123456789/123456789/123456789/123456789-'
320 323 'hashed----xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
321 324 '123456789-123456')
322 325
323 326 print "hashed path with largest untruncated five dirs"
324 327 show('data/12345678/12345678/12345678/12345678/12345678/6789-'
325 328 'hashed----xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
326 329 '123456789-123456')
327 330
328 331 print "hashed path with smallest truncated five dirs"
329 332 show('data/123456789/123456789/123456789/123456789/123456789/'
330 333 'hashed----xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
331 334 '123456789-123456')
332 335
333 336 print "hashed path with largest untruncated six dirs"
334 337 show('data/12345678/12345678/12345678/12345678/12345678/12345'
335 338 '678/ed----xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
336 339 '123456789-123456')
337 340
338 341 print "hashed path with smallest truncated six dirs"
339 342 show('data/123456789/123456789/123456789/123456789/123456789/'
340 343 '123456789/xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
341 344 '123456789-123456')
342 345
343 346 print "hashed path with largest untruncated seven dirs"
344 347 show('data/12345678/12345678/12345678/12345678/12345678/12345'
345 348 '678/12345678/xxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
346 349 '123456789-123456')
347 350
348 351 print "hashed path with smallest truncated seven dirs"
349 352 show('data/123456789/123456789/123456789/123456789/123456789/'
350 353 '123456789/123456789/xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
351 354 '123456789-123456')
352 355
353 356 print "hashed path with largest untruncated eight dirs"
354 357 print "(directory 8 is dropped because it hits _maxshortdirslen)"
355 358 show('data/12345678/12345678/12345678/12345678/12345678/12345'
356 359 '678/12345678/12345678/xxxxxxx-xxxxxxxxx-xxxxxxxxx-'
357 360 '123456789-123456')
358 361
359 362 print "hashed path with smallest truncated eight dirs"
360 363 print "(directory 8 is dropped because it hits _maxshortdirslen)"
361 364 show('data/123456789/123456789/123456789/123456789/123456789/'
362 365 '123456789/123456789/123456789/xxxxxxxxx-xxxxxxxxx-'
363 366 '123456789-123456')
364 367
365 368 print "hashed path with largest non-dropped directory 8"
366 369 print "(just not hitting the _maxshortdirslen boundary)"
367 370 show('data/12345678/12345678/12345678/12345678/12345678/12345'
368 371 '678/12345678/12345/-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
369 372 '123456789-123456')
370 373
371 374 print "...adding one truncated char to dir 1..7 won't drop dir 8"
372 375 show('data/12345678x/12345678/12345678/12345678/12345678/12345'
373 376 '678/12345678/12345/xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
374 377 '123456789-123456')
375 378 show('data/12345678/12345678x/12345678/12345678/12345678/12345'
376 379 '678/12345678/12345/xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
377 380 '123456789-123456')
378 381 show('data/12345678/12345678/12345678x/12345678/12345678/12345'
379 382 '678/12345678/12345/xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
380 383 '123456789-123456')
381 384 show('data/12345678/12345678/12345678/12345678x/12345678/12345'
382 385 '678/12345678/12345/xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
383 386 '123456789-123456')
384 387 show('data/12345678/12345678/12345678/12345678/12345678x/12345'
385 388 '678/12345678/12345/xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
386 389 '123456789-123456')
387 390 show('data/12345678/12345678/12345678/12345678/12345678/12345'
388 391 '678x/12345678/12345/xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
389 392 '123456789-123456')
390 393 show('data/12345678/12345678/12345678/12345678/12345678/12345'
391 394 '678/12345678x/12345/xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
392 395 '123456789-123456')
393 396
394 397 print "hashed path with shortest dropped directory 8"
395 398 print "(just hitting the _maxshortdirslen boundary)"
396 399 show('data/12345678/12345678/12345678/12345678/12345678/12345'
397 400 '678/12345678/123456/xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
398 401 '123456789-123456')
399 402
400 403 print "hashed path that drops dir 8 due to dot or space at end is"
401 404 print "encoded, and thus causing to hit _maxshortdirslen"
402 405 show('data/12345678/12345678/12345678/12345678/12345678/12345'
403 406 '678/12345678/1234./-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
404 407 '123456789-123456')
405 408 show('data/12345678/12345678/12345678/12345678/12345678/12345'
406 409 '678/12345678/1234 /-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
407 410 '123456789-123456')
408 411
409 412 print "... with dir 8 short enough for encoding"
410 413 show('data/12345678/12345678/12345678/12345678/12345678/12345'
411 414 '678/12345678/12./xx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
412 415 '123456789-123456')
413 416 show('data/12345678/12345678/12345678/12345678/12345678/12345'
414 417 '678/12345678/12 /xx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
415 418 '123456789-123456')
416 419
417 420 print '''Extensions are replicated on hashed paths. Note that
418 421 we only get to encode files that end in .i or .d inside the
419 422 store. Encoded filenames are thus bound in length.'''
420 423 show('data/12345678/12345678/12345678/12345678/12345678/12345'
421 424 '678/12345678/12345/-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
422 425 '123456789-12.345.i')
423 426 show('data/12345678/12345678/12345678/12345678/12345678/12345'
424 427 '678/12345678/12345/-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
425 428 '123456789-12.345.d')
426 429 show('data/12345678/12345678/12345678/12345678/12345678/12345'
427 430 '678/12345678/12345/-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
428 431 '123456789-12.3456.i')
429 432 show('data/12345678/12345678/12345678/12345678/12345678/12345'
430 433 '678/12345678/12345/-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
431 434 '123456789-12.34567.i')
432 435 show('data/12345678/12345678/12345678/12345678/12345678/12345'
433 436 '678/12345678/12345/-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
434 437 '123456789-12.345678.i')
435 438 show('data/12345678/12345678/12345678/12345678/12345678/12345'
436 439 '678/12345678/12345/-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
437 440 '123456789-12.3456789.i')
438 441 show('data/12345678/12345678/12345678/12345678/12345678/12345'
439 442 '678/12345678/12345/-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
440 443 '123456789-12.3456789-.i')
441 444 show('data/12345678/12345678/12345678/12345678/12345678/12345'
442 445 '678/12345678/12345/-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
443 446 '123456789-12.3456789-1.i')
444 447 show('data/12345678/12345678/12345678/12345678/12345678/12345'
445 448 '678/12345678/12345/-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
446 449 '123456789-12.3456789-12.i')
447 450 show('data/12345678/12345678/12345678/12345678/12345678/12345'
448 451 '678/12345678/12345/-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
449 452 '123456789-12.3456789-123.i')
450 453 show('data/12345678/12345678/12345678/12345678/12345678/12345'
451 454 '678/12345678/12345/-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
452 455 '123456789-12.3456789-1234.i')
453 456 show('data/12345678/12345678/12345678/12345678/12345678/12345'
454 457 '678/12345678/12345/-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
455 458 '123456789-12.3456789-12345.i')
456 459 show('data/12345678/12345678/12345678/12345678/12345678/12345'
457 460 '678/12345678/12345/-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
458 461 '123456789-12.3456789-12345-ABCDEFGHIJKLMNOPRSTUVWX'
459 462 'YZ-abcdefghjiklmnopqrstuvwxyz-ABCDEFGHIJKLMNOPRSTU'
460 463 'VWXYZ-1234567890-xxxxxxxxx-xxxxxxxxx-xxxxxxxx-xxxx'
461 464 'xxxxx-wwwwwwwww-wwwwwwwww-wwwwwwwww-wwwwwwwww-wwww'
462 465 'wwwww-wwwwwwwww-wwwwwwwww-wwwwwwwww-wwwwwwwww.i')
463 466
464 467 print "paths outside data/ can be encoded"
465 468 show('metadata/dir/00manifest.i')
466 469 show('metadata/12345678/12345678/12345678/12345678/12345678/'
467 470 '12345678/12345678/12345678/12345678/12345678/12345678/'
468 471 '12345678/12345678/00manifest.i')
General Comments 0
You need to be logged in to leave comments. Login now