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