##// 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 #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 not using absolute_import
61 tests/test-hybridencode.py requires print_function
60 tests/test-hybridencode.py requires print_function
62 tests/test-lrucachedict.py not using absolute_import
61 tests/test-lrucachedict.py not using absolute_import
63 tests/test-lrucachedict.py requires print_function
62 tests/test-lrucachedict.py requires print_function
64 tests/test-manifest.py not using absolute_import
63 tests/test-manifest.py not using absolute_import
65 tests/test-minirst.py not using absolute_import
64 tests/test-minirst.py not using absolute_import
66 tests/test-minirst.py requires print_function
65 tests/test-minirst.py requires print_function
67 tests/test-parseindex2.py not using absolute_import
66 tests/test-parseindex2.py not using absolute_import
68 tests/test-parseindex2.py requires print_function
67 tests/test-parseindex2.py requires print_function
69 tests/test-pathencode.py not using absolute_import
68 tests/test-pathencode.py not using absolute_import
70 tests/test-pathencode.py requires print_function
69 tests/test-pathencode.py requires print_function
71 tests/test-propertycache.py not using absolute_import
70 tests/test-propertycache.py not using absolute_import
72 tests/test-propertycache.py requires print_function
71 tests/test-propertycache.py requires print_function
73 tests/test-revlog-ancestry.py not using absolute_import
72 tests/test-revlog-ancestry.py not using absolute_import
74 tests/test-revlog-ancestry.py requires print_function
73 tests/test-revlog-ancestry.py requires print_function
75 tests/test-run-tests.py not using absolute_import
74 tests/test-run-tests.py not using absolute_import
76 tests/test-simplemerge.py not using absolute_import
75 tests/test-simplemerge.py not using absolute_import
77 tests/test-status-inprocess.py not using absolute_import
76 tests/test-status-inprocess.py not using absolute_import
78 tests/test-status-inprocess.py requires print_function
77 tests/test-status-inprocess.py requires print_function
79 tests/test-symlink-os-yes-fs-no.py not using absolute_import
78 tests/test-symlink-os-yes-fs-no.py not using absolute_import
80 tests/test-trusted.py not using absolute_import
79 tests/test-trusted.py not using absolute_import
81 tests/test-trusted.py requires print_function
80 tests/test-trusted.py requires print_function
82 tests/test-ui-color.py not using absolute_import
81 tests/test-ui-color.py not using absolute_import
83 tests/test-url.py not using absolute_import
82 tests/test-url.py not using absolute_import
84
83
85 #if py3exe
84 #if py3exe
86 $ hg files 'set:(**.py)' | sed 's|\\|/|g' | xargs $PYTHON3 contrib/check-py3-compat.py
85 $ hg files 'set:(**.py)' | sed 's|\\|/|g' | xargs $PYTHON3 contrib/check-py3-compat.py
87 contrib/check-code.py: invalid syntax: (unicode error) 'unicodeescape' codec can't decode bytes in position *-*: malformed \N character escape (<unknown>, line *) (glob)
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 doc/hgmanpage.py: invalid syntax: invalid syntax (<unknown>, line *) (glob)
87 doc/hgmanpage.py: invalid syntax: invalid syntax (<unknown>, line *) (glob)
89 hgext/acl.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
88 hgext/acl.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
90 hgext/automv.py: error importing module: <SyntaxError> invalid syntax (commands.py, line *) (line *) (glob)
89 hgext/automv.py: error importing module: <SyntaxError> invalid syntax (commands.py, line *) (line *) (glob)
91 hgext/blackbox.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
90 hgext/blackbox.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
92 hgext/bugzilla.py: error importing module: <ImportError> No module named 'urlparse' (line *) (glob)
91 hgext/bugzilla.py: error importing module: <ImportError> No module named 'urlparse' (line *) (glob)
93 hgext/censor.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
92 hgext/censor.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
94 hgext/chgserver.py: error importing module: <ImportError> No module named 'SocketServer' (line *) (glob)
93 hgext/chgserver.py: error importing module: <ImportError> No module named 'SocketServer' (line *) (glob)
95 hgext/children.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
94 hgext/children.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
96 hgext/churn.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)
97 hgext/clonebundles.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)
98 hgext/color.py: invalid syntax: invalid syntax (<unknown>, line *) (glob)
97 hgext/color.py: invalid syntax: invalid syntax (<unknown>, line *) (glob)
99 hgext/convert/bzr.py: error importing module: <SystemError> Parent module 'hgext.convert' not loaded, cannot perform relative import (line *) (glob)
98 hgext/convert/bzr.py: error importing module: <SystemError> Parent module 'hgext.convert' not loaded, cannot perform relative import (line *) (glob)
100 hgext/convert/common.py: error importing module: <ImportError> No module named 'cPickle' (line *) (glob)
99 hgext/convert/common.py: error importing module: <ImportError> No module named 'cPickle' (line *) (glob)
101 hgext/convert/convcmd.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
100 hgext/convert/convcmd.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
102 hgext/convert/cvs.py: error importing module: <ImportError> No module named 'cStringIO' (line *) (glob)
101 hgext/convert/cvs.py: error importing module: <ImportError> No module named 'cStringIO' (line *) (glob)
103 hgext/convert/cvsps.py: error importing module: <ImportError> No module named 'cPickle' (line *) (glob)
102 hgext/convert/cvsps.py: error importing module: <ImportError> No module named 'cPickle' (line *) (glob)
104 hgext/convert/darcs.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
103 hgext/convert/darcs.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
105 hgext/convert/filemap.py: error importing module: <SystemError> Parent module 'hgext.convert' not loaded, cannot perform relative import (line *) (glob)
104 hgext/convert/filemap.py: error importing module: <SystemError> Parent module 'hgext.convert' not loaded, cannot perform relative import (line *) (glob)
106 hgext/convert/git.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
105 hgext/convert/git.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
107 hgext/convert/gnuarch.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)
108 hgext/convert/hg.py: error importing module: <ImportError> No module named 'cStringIO' (line *) (glob)
107 hgext/convert/hg.py: error importing module: <ImportError> No module named 'cStringIO' (line *) (glob)
109 hgext/convert/monotone.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
108 hgext/convert/monotone.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
110 hgext/convert/p*.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)
111 hgext/convert/subversion.py: error importing module: <ImportError> No module named 'cPickle' (line *) (glob)
110 hgext/convert/subversion.py: error importing module: <ImportError> No module named 'cPickle' (line *) (glob)
112 hgext/convert/transport.py: error importing module: <ImportError> No module named 'svn.client' (line *) (glob)
111 hgext/convert/transport.py: error importing module: <ImportError> No module named 'svn.client' (line *) (glob)
113 hgext/eol.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
112 hgext/eol.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
114 hgext/extdiff.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
113 hgext/extdiff.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
115 hgext/factotum.py: error importing: <ImportError> No module named 'cStringIO' (error at url.py:*) (glob)
114 hgext/factotum.py: error importing: <ImportError> No module named 'cStringIO' (error at url.py:*) (glob)
116 hgext/fetch.py: error importing module: <SyntaxError> invalid syntax (commands.py, line *) (line *) (glob)
115 hgext/fetch.py: error importing module: <SyntaxError> invalid syntax (commands.py, line *) (line *) (glob)
117 hgext/fsmonitor/state.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
116 hgext/fsmonitor/state.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
118 hgext/fsmonitor/watchmanclient.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)
119 hgext/gpg.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)
120 hgext/graphlog.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
119 hgext/graphlog.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
121 hgext/hgcia.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)
122 hgext/hgk.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)
123 hgext/highlight/highlight.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
122 hgext/highlight/highlight.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
124 hgext/histedit.py: error importing module: <SyntaxError> invalid syntax (bundle*.py, line *) (line *) (glob)
123 hgext/histedit.py: error importing module: <SyntaxError> invalid syntax (bundle*.py, line *) (line *) (glob)
125 hgext/keyword.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
124 hgext/keyword.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
126 hgext/largefiles/basestore.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)
127 hgext/largefiles/lfcommands.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)
128 hgext/largefiles/lfutil.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)
129 hgext/largefiles/localstore.py: error importing module: <ImportError> No module named 'lfutil' (line *) (glob)
128 hgext/largefiles/localstore.py: error importing module: <ImportError> No module named 'lfutil' (line *) (glob)
130 hgext/largefiles/overrides.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
129 hgext/largefiles/overrides.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
131 hgext/largefiles/proto.py: error importing module: <ImportError> No module named 'urllib2' (line *) (glob)
130 hgext/largefiles/proto.py: error importing module: <ImportError> No module named 'urllib2' (line *) (glob)
132 hgext/largefiles/remotestore.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)
133 hgext/largefiles/reposetup.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
132 hgext/largefiles/reposetup.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
134 hgext/largefiles/uisetup.py: error importing module: <SyntaxError> invalid syntax (archival.py, line *) (line *) (glob)
133 hgext/largefiles/uisetup.py: error importing module: <SyntaxError> invalid syntax (archival.py, line *) (line *) (glob)
135 hgext/largefiles/wirestore.py: error importing module: <ImportError> No module named 'lfutil' (line *) (glob)
134 hgext/largefiles/wirestore.py: error importing module: <ImportError> No module named 'lfutil' (line *) (glob)
136 hgext/mq.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
135 hgext/mq.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
137 hgext/notify.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
136 hgext/notify.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
138 hgext/pager.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)
139 hgext/patchbomb.py: error importing module: <ImportError> No module named 'cStringIO' (line *) (glob)
138 hgext/patchbomb.py: error importing module: <ImportError> No module named 'cStringIO' (line *) (glob)
140 hgext/purge.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
139 hgext/purge.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
141 hgext/rebase.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
140 hgext/rebase.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
142 hgext/record.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
141 hgext/record.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
143 hgext/relink.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)
144 hgext/schemes.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)
145 hgext/share.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)
146 hgext/shelve.py: error importing module: <SyntaxError> invalid syntax (bundle*.py, line *) (line *) (glob)
145 hgext/shelve.py: error importing module: <SyntaxError> invalid syntax (bundle*.py, line *) (line *) (glob)
147 hgext/strip.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
146 hgext/strip.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
148 hgext/transplant.py: error importing: <SyntaxError> invalid syntax (bundle*.py, line *) (error at bundlerepo.py:*) (glob)
147 hgext/transplant.py: error importing: <SyntaxError> invalid syntax (bundle*.py, line *) (error at bundlerepo.py:*) (glob)
149 hgext/win*text.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
148 hgext/win*text.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
150 mercurial/archival.py: invalid syntax: invalid syntax (<unknown>, line *) (glob)
149 mercurial/archival.py: invalid syntax: invalid syntax (<unknown>, line *) (glob)
151 mercurial/bookmarks.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
150 mercurial/bookmarks.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
152 mercurial/branchmap.py: error importing: <ImportError> No module named 'Queue' (error at scmutil.py:*) (glob)
151 mercurial/branchmap.py: error importing: <ImportError> No module named 'Queue' (error at scmutil.py:*) (glob)
153 mercurial/bundle*.py: invalid syntax: invalid syntax (<unknown>, line *) (glob)
152 mercurial/bundle*.py: invalid syntax: invalid syntax (<unknown>, line *) (glob)
154 mercurial/bundlerepo.py: error importing module: <SyntaxError> invalid syntax (bundle*.py, line *) (line *) (glob)
153 mercurial/bundlerepo.py: error importing module: <SyntaxError> invalid syntax (bundle*.py, line *) (line *) (glob)
155 mercurial/byterange.py: error importing module: <ImportError> No module named 'urllib2' (line *) (glob)
154 mercurial/byterange.py: error importing module: <ImportError> No module named 'urllib2' (line *) (glob)
156 mercurial/changegroup.py: error importing: <ImportError> No module named 'Queue' (error at scmutil.py:*) (glob)
155 mercurial/changegroup.py: error importing: <ImportError> No module named 'Queue' (error at scmutil.py:*) (glob)
157 mercurial/changelog.py: error importing: <ImportError> No module named 'cStringIO' (error at mpatch.py:*) (glob)
156 mercurial/changelog.py: error importing: <ImportError> No module named 'cStringIO' (error at mpatch.py:*) (glob)
158 mercurial/cmdutil.py: error importing module: <ImportError> No module named 'cStringIO' (line *) (glob)
157 mercurial/cmdutil.py: error importing module: <ImportError> No module named 'cStringIO' (line *) (glob)
159 mercurial/commands.py: invalid syntax: invalid syntax (<unknown>, line *) (glob)
158 mercurial/commands.py: invalid syntax: invalid syntax (<unknown>, line *) (glob)
160 mercurial/commandserver.py: error importing module: <ImportError> No module named 'SocketServer' (line *) (glob)
159 mercurial/commandserver.py: error importing module: <ImportError> No module named 'SocketServer' (line *) (glob)
161 mercurial/config.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
160 mercurial/config.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
162 mercurial/context.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)
163 mercurial/copies.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)
164 mercurial/crecord.py: error importing module: <ImportError> No module named 'cStringIO' (line *) (glob)
163 mercurial/crecord.py: error importing module: <ImportError> No module named 'cStringIO' (line *) (glob)
165 mercurial/destutil.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
164 mercurial/destutil.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
166 mercurial/dirstate.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)
167 mercurial/discovery.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)
168 mercurial/dispatch.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
167 mercurial/dispatch.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
169 mercurial/exchange.py: error importing module: <ImportError> No module named 'urllib2' (line *) (glob)
168 mercurial/exchange.py: error importing module: <ImportError> No module named 'urllib2' (line *) (glob)
170 mercurial/extensions.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
169 mercurial/extensions.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
171 mercurial/filelog.py: error importing: <ImportError> No module named 'cStringIO' (error at mpatch.py:*) (glob)
170 mercurial/filelog.py: error importing: <ImportError> No module named 'cStringIO' (error at mpatch.py:*) (glob)
172 mercurial/filemerge.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
171 mercurial/filemerge.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
173 mercurial/fileset.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)
174 mercurial/formatter.py: error importing module: <ImportError> No module named 'cPickle' (line *) (glob)
173 mercurial/formatter.py: error importing module: <ImportError> No module named 'cPickle' (line *) (glob)
175 mercurial/graphmod.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
174 mercurial/graphmod.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
176 mercurial/help.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
175 mercurial/help.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
177 mercurial/hg.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
176 mercurial/hg.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
178 mercurial/hgweb/common.py: error importing module: <ImportError> No module named 'BaseHTTPServer' (line *) (glob)
177 mercurial/hgweb/common.py: error importing module: <ImportError> No module named 'BaseHTTPServer' (line *) (glob)
179 mercurial/hgweb/hgweb_mod.py: error importing module: <SystemError> Parent module 'mercurial.hgweb' not loaded, cannot perform relative import (line *) (glob)
178 mercurial/hgweb/hgweb_mod.py: error importing module: <SystemError> Parent module 'mercurial.hgweb' not loaded, cannot perform relative import (line *) (glob)
180 mercurial/hgweb/hgwebdir_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)
181 mercurial/hgweb/protocol.py: error importing module: <ImportError> No module named 'cStringIO' (line *) (glob)
180 mercurial/hgweb/protocol.py: error importing module: <ImportError> No module named 'cStringIO' (line *) (glob)
182 mercurial/hgweb/request.py: error importing module: <SystemError> Parent module 'mercurial.hgweb' not loaded, cannot perform relative import (line *) (glob)
181 mercurial/hgweb/request.py: error importing module: <SystemError> Parent module 'mercurial.hgweb' not loaded, cannot perform relative import (line *) (glob)
183 mercurial/hgweb/server.py: error importing module: <ImportError> No module named 'BaseHTTPServer' (line *) (glob)
182 mercurial/hgweb/server.py: error importing module: <ImportError> No module named 'BaseHTTPServer' (line *) (glob)
184 mercurial/hgweb/webcommands.py: error importing module: <SystemError> Parent module 'mercurial.hgweb' not loaded, cannot perform relative import (line *) (glob)
183 mercurial/hgweb/webcommands.py: error importing module: <SystemError> Parent module 'mercurial.hgweb' not loaded, cannot perform relative import (line *) (glob)
185 mercurial/hgweb/webutil.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)
186 mercurial/hgweb/wsgicgi.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)
187 mercurial/hook.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
186 mercurial/hook.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
188 mercurial/httpclient/_readers.py: error importing module: <ImportError> No module named 'httplib' (line *) (glob)
187 mercurial/httpclient/_readers.py: error importing module: <ImportError> No module named 'httplib' (line *) (glob)
189 mercurial/httpconnection.py: error importing module: <ImportError> No module named 'urllib2' (line *) (glob)
188 mercurial/httpconnection.py: error importing module: <ImportError> No module named 'urllib2' (line *) (glob)
190 mercurial/httppeer.py: error importing module: <ImportError> No module named 'httplib' (line *) (glob)
189 mercurial/httppeer.py: error importing module: <ImportError> No module named 'httplib' (line *) (glob)
191 mercurial/keepalive.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)
192 mercurial/localrepo.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
191 mercurial/localrepo.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
193 mercurial/lock.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)
194 mercurial/mail.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)
195 mercurial/manifest.py: error importing: <ImportError> No module named 'cStringIO' (error at mpatch.py:*) (glob)
194 mercurial/manifest.py: error importing: <ImportError> No module named 'cStringIO' (error at mpatch.py:*) (glob)
196 mercurial/match.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
195 mercurial/match.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
197 mercurial/mdiff.py: error importing: <ImportError> No module named 'cStringIO' (error at mpatch.py:*) (glob)
196 mercurial/mdiff.py: error importing: <ImportError> No module named 'cStringIO' (error at mpatch.py:*) (glob)
198 mercurial/merge.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
197 mercurial/merge.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
199 mercurial/minirst.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)
200 mercurial/namespaces.py: error importing: <ImportError> No module named 'cStringIO' (error at patch.py:*) (glob)
199 mercurial/namespaces.py: error importing: <ImportError> No module named 'cStringIO' (error at patch.py:*) (glob)
201 mercurial/obsolete.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
200 mercurial/obsolete.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
202 mercurial/patch.py: error importing module: <ImportError> No module named 'cStringIO' (line *) (glob)
201 mercurial/patch.py: error importing module: <ImportError> No module named 'cStringIO' (line *) (glob)
203 mercurial/pathutil.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
202 mercurial/pathutil.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
204 mercurial/peer.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)
205 mercurial/pure/mpatch.py: error importing module: <ImportError> No module named 'cStringIO' (line *) (glob)
204 mercurial/pure/mpatch.py: error importing module: <ImportError> No module named 'cStringIO' (line *) (glob)
206 mercurial/pure/parsers.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)
207 mercurial/pushkey.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
206 mercurial/pushkey.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
208 mercurial/pvec.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)
209 mercurial/registrar.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)
210 mercurial/repair.py: error importing module: <SyntaxError> invalid syntax (bundle*.py, line *) (line *) (glob)
209 mercurial/repair.py: error importing module: <SyntaxError> invalid syntax (bundle*.py, line *) (line *) (glob)
211 mercurial/repoview.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
210 mercurial/repoview.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
212 mercurial/revlog.py: error importing: <ImportError> No module named 'cStringIO' (error at mpatch.py:*) (glob)
211 mercurial/revlog.py: error importing: <ImportError> No module named 'cStringIO' (error at mpatch.py:*) (glob)
213 mercurial/revset.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
212 mercurial/revset.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
214 mercurial/scmutil.py: error importing module: <ImportError> No module named 'Queue' (line *) (glob)
213 mercurial/scmutil.py: error importing module: <ImportError> No module named 'Queue' (line *) (glob)
215 mercurial/scmwindows.py: error importing module: <ImportError> No module named '_winreg' (line *) (glob)
214 mercurial/scmwindows.py: error importing module: <ImportError> No module named '_winreg' (line *) (glob)
216 mercurial/similar.py: error importing: <ImportError> No module named 'cStringIO' (error at mpatch.py:*) (glob)
215 mercurial/similar.py: error importing: <ImportError> No module named 'cStringIO' (error at mpatch.py:*) (glob)
217 mercurial/simplemerge.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)
218 mercurial/sshpeer.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
217 mercurial/sshpeer.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
219 mercurial/sshserver.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
218 mercurial/sshserver.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
220 mercurial/sslutil.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
219 mercurial/sslutil.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
221 mercurial/statichttprepo.py: error importing module: <ImportError> No module named 'urllib2' (line *) (glob)
220 mercurial/statichttprepo.py: error importing module: <ImportError> No module named 'urllib2' (line *) (glob)
222 mercurial/store.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
221 mercurial/store.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
223 mercurial/streamclone.py: error importing: <ImportError> No module named 'Queue' (error at scmutil.py:*) (glob)
222 mercurial/streamclone.py: error importing: <ImportError> No module named 'Queue' (error at scmutil.py:*) (glob)
224 mercurial/subrepo.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
223 mercurial/subrepo.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
225 mercurial/tagmerge.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
224 mercurial/tagmerge.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
226 mercurial/tags.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)
227 mercurial/templatefilters.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)
228 mercurial/templatekw.py: error importing: <ImportError> No module named 'cStringIO' (error at patch.py:*) (glob)
227 mercurial/templatekw.py: error importing: <ImportError> No module named 'cStringIO' (error at patch.py:*) (glob)
229 mercurial/templater.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
228 mercurial/templater.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
230 mercurial/transaction.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)
231 mercurial/ui.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)
232 mercurial/unionrepo.py: error importing: <ImportError> No module named 'cStringIO' (error at mpatch.py:*) (glob)
231 mercurial/unionrepo.py: error importing: <ImportError> No module named 'cStringIO' (error at mpatch.py:*) (glob)
233 mercurial/url.py: error importing module: <ImportError> No module named 'cStringIO' (line *) (glob)
232 mercurial/url.py: error importing module: <ImportError> No module named 'cStringIO' (line *) (glob)
234 mercurial/util.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
233 mercurial/util.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
235 mercurial/verify.py: error importing: <ImportError> No module named 'cStringIO' (error at mpatch.py:*) (glob)
234 mercurial/verify.py: error importing: <ImportError> No module named 'cStringIO' (error at mpatch.py:*) (glob)
236 mercurial/win*.py: error importing module: <ImportError> No module named 'msvcrt' (line *) (glob)
235 mercurial/win*.py: error importing module: <ImportError> No module named 'msvcrt' (line *) (glob)
237 mercurial/windows.py: error importing module: <ImportError> No module named '_winreg' (line *) (glob)
236 mercurial/windows.py: error importing module: <ImportError> No module named '_winreg' (line *) (glob)
238 mercurial/wireproto.py: error importing module: <SyntaxError> invalid syntax (bundle*.py, line *) (line *) (glob)
237 mercurial/wireproto.py: error importing module: <SyntaxError> invalid syntax (bundle*.py, line *) (line *) (glob)
239 tests/readlink.py: invalid syntax: invalid syntax (<unknown>, line *) (glob)
238 tests/readlink.py: invalid syntax: invalid syntax (<unknown>, line *) (glob)
240 tests/test-demandimport.py: invalid syntax: invalid syntax (<unknown>, line *) (glob)
239 tests/test-demandimport.py: invalid syntax: invalid syntax (<unknown>, line *) (glob)
241 tests/test-hybridencode.py: invalid syntax: invalid syntax (<unknown>, line *) (glob)
240 tests/test-hybridencode.py: invalid syntax: invalid syntax (<unknown>, line *) (glob)
242 tests/test-lrucachedict.py: invalid syntax: invalid syntax (<unknown>, line *) (glob)
241 tests/test-lrucachedict.py: invalid syntax: invalid syntax (<unknown>, line *) (glob)
243 tests/test-minirst.py: invalid syntax: Missing parentheses in call to 'print' (<unknown>, line *) (glob)
242 tests/test-minirst.py: invalid syntax: Missing parentheses in call to 'print' (<unknown>, line *) (glob)
244 tests/test-parseindex*.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)
245 tests/test-propertycache.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)
246 tests/test-revlog-ancestry.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)
247 tests/test-status-inprocess.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)
248 tests/test-trusted.py: invalid syntax: invalid syntax (<unknown>, line *) (glob)
247 tests/test-trusted.py: invalid syntax: invalid syntax (<unknown>, line *) (glob)
249
248
250 #endif
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 def show(s):
6 def show(s):
4 # show test input
7 # show test input
5 print "A = '%s'" % s.encode("string_escape")
8 print "A = '%s'" % s.encode("string_escape")
6
9
7 # show the result of the C implementation, if available
10 # show the result of the C implementation, if available
8 h = store._pathencode(s)
11 h = store._pathencode(s)
9 print "B = '%s'" % h.encode("string_escape")
12 print "B = '%s'" % h.encode("string_escape")
10
13
11 # compare it with reference implementation in Python
14 # compare it with reference implementation in Python
12 r = store._hybridencode(s, True)
15 r = store._hybridencode(s, True)
13 if h != r:
16 if h != r:
14 print "R = '%s'" % r.encode("string_escape")
17 print "R = '%s'" % r.encode("string_escape")
15 print
18 print
16
19
17 show("data/abcdefghijklmnopqrstuvwxyz0123456789 !#%&'()+,-.;=[]^`{}")
20 show("data/abcdefghijklmnopqrstuvwxyz0123456789 !#%&'()+,-.;=[]^`{}")
18
21
19 print "uppercase char X is encoded as _x"
22 print "uppercase char X is encoded as _x"
20 show("data/ABCDEFGHIJKLMNOPQRSTUVWXYZ")
23 show("data/ABCDEFGHIJKLMNOPQRSTUVWXYZ")
21
24
22 print "underbar is doubled"
25 print "underbar is doubled"
23 show("data/_")
26 show("data/_")
24
27
25 print "tilde is character-encoded"
28 print "tilde is character-encoded"
26 show("data/~")
29 show("data/~")
27
30
28 print "characters in ASCII code range 1..31"
31 print "characters in ASCII code range 1..31"
29 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'
30 '\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')
31
34
32 print "characters in ASCII code range 126..255"
35 print "characters in ASCII code range 126..255"
33 show('data/\x7e\x7f'
36 show('data/\x7e\x7f'
34 '\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'
35 '\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')
36 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'
37 '\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')
38 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'
39 '\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')
40 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'
41 '\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')
42
45
43 print "Windows reserved characters"
46 print "Windows reserved characters"
44 show('data/less <, greater >, colon :, double-quote ", backslash \\'
47 show('data/less <, greater >, colon :, double-quote ", backslash \\'
45 ', pipe |, question-mark ?, asterisk *')
48 ', pipe |, question-mark ?, asterisk *')
46
49
47 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"
48 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')
49 show('data/a.hg/a.i/a.d/foo')
52 show('data/a.hg/a.i/a.d/foo')
50 show('data/au.hg/au.i/au.d/foo')
53 show('data/au.hg/au.i/au.d/foo')
51 show('data/aux.hg/aux.i/aux.d/foo')
54 show('data/aux.hg/aux.i/aux.d/foo')
52 show('data/auxy.hg/auxy.i/auxy.d/foo')
55 show('data/auxy.hg/auxy.i/auxy.d/foo')
53
56
54 print "but these are not encoded on *filenames*"
57 print "but these are not encoded on *filenames*"
55 show('data/foo/x.hg')
58 show('data/foo/x.hg')
56 show('data/foo/x.i')
59 show('data/foo/x.i')
57 show('data/foo/x.d')
60 show('data/foo/x.d')
58 show('data/foo/a.hg')
61 show('data/foo/a.hg')
59 show('data/foo/a.i')
62 show('data/foo/a.i')
60 show('data/foo/a.d')
63 show('data/foo/a.d')
61 show('data/foo/au.hg')
64 show('data/foo/au.hg')
62 show('data/foo/au.i')
65 show('data/foo/au.i')
63 show('data/foo/au.d')
66 show('data/foo/au.d')
64 show('data/foo/aux.hg')
67 show('data/foo/aux.hg')
65 show('data/foo/aux.i')
68 show('data/foo/aux.i')
66 show('data/foo/aux.d')
69 show('data/foo/aux.d')
67 show('data/foo/auxy.hg')
70 show('data/foo/auxy.hg')
68 show('data/foo/auxy.i')
71 show('data/foo/auxy.i')
69 show('data/foo/auxy.d')
72 show('data/foo/auxy.d')
70
73
71 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"
72 show('data/.hg/.i/.d/foo')
75 show('data/.hg/.i/.d/foo')
73
76
74 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')
75
78
76 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/'
77 'TENTH/ELEVENTH/LOREMIPSUM.TXT.i')
80 'TENTH/ELEVENTH/LOREMIPSUM.TXT.i')
78 show('data/enterprise/openesbaddons/contrib-imola/corba-bc/netbeansplugin/'
81 show('data/enterprise/openesbaddons/contrib-imola/corba-bc/netbeansplugin/'
79 'wsdlExtension/src/main/java/META-INF/services/org.netbeans.modules'
82 'wsdlExtension/src/main/java/META-INF/services/org.netbeans.modules'
80 '.xml.wsdl.bindingsupport.spi.ExtensibilityElementTemplateProvider.i')
83 '.xml.wsdl.bindingsupport.spi.ExtensibilityElementTemplateProvider.i')
81 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-'
82 'BROWN-FOX-JUMPS-OVER-THE-LAZY-DOG.TXT.i')
85 'BROWN-FOX-JUMPS-OVER-THE-LAZY-DOG.TXT.i')
83 show('data/Project Planning/Resources/AnotherLongDirectoryName/'
86 show('data/Project Planning/Resources/AnotherLongDirectoryName/'
84 'Followedbyanother/AndAnother/AndThenAnExtremelyLongFileName.txt')
87 'Followedbyanother/AndAnother/AndThenAnExtremelyLongFileName.txt')
85 show('data/Project.Planning/Resources/AnotherLongDirectoryName/'
88 show('data/Project.Planning/Resources/AnotherLongDirectoryName/'
86 'Followedbyanother/AndAnother/AndThenAnExtremelyLongFileName.txt')
89 'Followedbyanother/AndAnother/AndThenAnExtremelyLongFileName.txt')
87 show('data/foo.../foo / /a./_. /__/.x../ bla/.FOO/something.i')
90 show('data/foo.../foo / /a./_. /__/.x../ bla/.FOO/something.i')
88
91
89 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')
90 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')
91 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'
92 '/com6.x/com7.x/com8.x/com9.x')
95 '/com6.x/com7.x/com8.x/com9.x')
93 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'
94 '/x.com6/x.com7/x.com8/x.com9')
97 '/x.com6/x.com7/x.com8/x.com9')
95 show('data/cx/cox/comx/com0x/com1x/com2x/com3x/com4x/com5x'
98 show('data/cx/cox/comx/com0x/com1x/com2x/com3x/com4x/com5x'
96 '/com6x/com7x/com8x/com9x')
99 '/com6x/com7x/com8x/com9x')
97 show('data/xc/xco/xcom0/xcom1/xcom2/xcom3/xcom4/xcom5'
100 show('data/xc/xco/xcom0/xcom1/xcom2/xcom3/xcom4/xcom5'
98 '/xcom6/xcom7/xcom8/xcom9')
101 '/xcom6/xcom7/xcom8/xcom9')
99
102
100 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')
101 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')
102 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'
103 '/lpt6.x/lpt7.x/lpt8.x/lpt9.x')
106 '/lpt6.x/lpt7.x/lpt8.x/lpt9.x')
104 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'
105 '/x.lpt6/x.lpt7/x.lpt8/x.lpt9')
108 '/x.lpt6/x.lpt7/x.lpt8/x.lpt9')
106 show('data/lx/lpx/lptx/lpt0x/lpt1x/lpt2x/lpt3x/lpt4x/lpt5x'
109 show('data/lx/lpx/lptx/lpt0x/lpt1x/lpt2x/lpt3x/lpt4x/lpt5x'
107 '/lpt6x/lpt7x/lpt8x/lpt9x')
110 '/lpt6x/lpt7x/lpt8x/lpt9x')
108 show('data/xl/xlp/xlpt/xlpt0/xlpt1/xlpt2/xlpt3/xlpt4/xlpt5'
111 show('data/xl/xlp/xlpt/xlpt0/xlpt1/xlpt2/xlpt3/xlpt4/xlpt5'
109 '/xlpt6/xlpt7/xlpt8/xlpt9')
112 '/xlpt6/xlpt7/xlpt8/xlpt9')
110
113
111 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')
112 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')
113 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')
114 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')
115 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')
116 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')
117
120
118 show('data/a./au./aux./auxy./aux.')
121 show('data/a./au./aux./auxy./aux.')
119 show('data/c./co./con./cony./con.')
122 show('data/c./co./con./cony./con.')
120 show('data/p./pr./prn./prny./prn.')
123 show('data/p./pr./prn./prny./prn.')
121 show('data/n./nu./nul./nuly./nul.')
124 show('data/n./nu./nul./nuly./nul.')
122 show('data/l./lp./lpt./lpt1./lpt1y./lpt1.')
125 show('data/l./lp./lpt./lpt1./lpt1y./lpt1.')
123 show('data/lpt9./lpt9y./lpt9.')
126 show('data/lpt9./lpt9y./lpt9.')
124 show('data/com./com1./com1y./com1.')
127 show('data/com./com1./com1y./com1.')
125 show('data/com9./com9y./com9.')
128 show('data/com9./com9y./com9.')
126
129
127 show('data/a /au /aux /auxy /aux ')
130 show('data/a /au /aux /auxy /aux ')
128
131
129 print "largest unhashed path"
132 print "largest unhashed path"
130 show('data/123456789-123456789-123456789-123456789-123456789-'
133 show('data/123456789-123456789-123456789-123456789-123456789-'
131 'unhashed--xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
134 'unhashed--xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
132 '123456789-12345')
135 '123456789-12345')
133
136
134 print "shortest hashed path"
137 print "shortest hashed path"
135 show('data/123456789-123456789-123456789-123456789-123456789-'
138 show('data/123456789-123456789-123456789-123456789-123456789-'
136 'hashed----xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
139 'hashed----xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
137 '123456789-123456')
140 '123456789-123456')
138
141
139 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"
140 show('data/123456789-123456789-123456789-123456789-123456789-'
143 show('data/123456789-123456789-123456789-123456789-123456789-'
141 'hashed----xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxy-'
144 'hashed----xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxy-'
142 '123456789-123456')
145 '123456789-123456')
143
146
144 print "uppercase hitting length limit due to encoding"
147 print "uppercase hitting length limit due to encoding"
145 show('data/A23456789-123456789-123456789-123456789-123456789-'
148 show('data/A23456789-123456789-123456789-123456789-123456789-'
146 'xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
149 'xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
147 '123456789-12345')
150 '123456789-12345')
148 show('data/Z23456789-123456789-123456789-123456789-123456789-'
151 show('data/Z23456789-123456789-123456789-123456789-123456789-'
149 'xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
152 'xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
150 '123456789-12345')
153 '123456789-12345')
151
154
152 print "compare with lowercase not hitting limit"
155 print "compare with lowercase not hitting limit"
153 show('data/a23456789-123456789-123456789-123456789-123456789-'
156 show('data/a23456789-123456789-123456789-123456789-123456789-'
154 'xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
157 'xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
155 '123456789-12345')
158 '123456789-12345')
156 show('data/z23456789-123456789-123456789-123456789-123456789-'
159 show('data/z23456789-123456789-123456789-123456789-123456789-'
157 'xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
160 'xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
158 '123456789-12345')
161 '123456789-12345')
159
162
160 print "not hitting limit with any of these"
163 print "not hitting limit with any of these"
161 show("data/abcdefghijklmnopqrstuvwxyz0123456789 !#%&'()+,-.;="
164 show("data/abcdefghijklmnopqrstuvwxyz0123456789 !#%&'()+,-.;="
162 "[]^`{}xxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-"
165 "[]^`{}xxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-"
163 "123456789-12345")
166 "123456789-12345")
164
167
165 print "underbar hitting length limit due to encoding"
168 print "underbar hitting length limit due to encoding"
166 show('data/_23456789-123456789-123456789-123456789-123456789-'
169 show('data/_23456789-123456789-123456789-123456789-123456789-'
167 'xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
170 'xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
168 '123456789-12345')
171 '123456789-12345')
169
172
170 print "tilde hitting length limit due to encoding"
173 print "tilde hitting length limit due to encoding"
171 show('data/~23456789-123456789-123456789-123456789-123456789-'
174 show('data/~23456789-123456789-123456789-123456789-123456789-'
172 'xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
175 'xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
173 '123456789-12345')
176 '123456789-12345')
174
177
175 print "Windows reserved characters hitting length limit"
178 print "Windows reserved characters hitting length limit"
176 show('data/<23456789-123456789-123456789-123456789-123456789-'
179 show('data/<23456789-123456789-123456789-123456789-123456789-'
177 'xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
180 'xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
178 '123456789-12345')
181 '123456789-12345')
179 show('data/>23456789-123456789-123456789-123456789-123456789-'
182 show('data/>23456789-123456789-123456789-123456789-123456789-'
180 'xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
183 'xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
181 '123456789-12345')
184 '123456789-12345')
182 show('data/:23456789-123456789-123456789-123456789-123456789-'
185 show('data/:23456789-123456789-123456789-123456789-123456789-'
183 'xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
186 'xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
184 '123456789-12345')
187 '123456789-12345')
185 show('data/"23456789-123456789-123456789-123456789-123456789-'
188 show('data/"23456789-123456789-123456789-123456789-123456789-'
186 'xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
189 'xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
187 '123456789-12345')
190 '123456789-12345')
188 show('data/\\23456789-123456789-123456789-123456789-123456789-'
191 show('data/\\23456789-123456789-123456789-123456789-123456789-'
189 'xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
192 'xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
190 '123456789-12345')
193 '123456789-12345')
191 show('data/|23456789-123456789-123456789-123456789-123456789-'
194 show('data/|23456789-123456789-123456789-123456789-123456789-'
192 'xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
195 'xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
193 '123456789-12345')
196 '123456789-12345')
194 show('data/?23456789-123456789-123456789-123456789-123456789-'
197 show('data/?23456789-123456789-123456789-123456789-123456789-'
195 'xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
198 'xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
196 '123456789-12345')
199 '123456789-12345')
197 show('data/*23456789-123456789-123456789-123456789-123456789-'
200 show('data/*23456789-123456789-123456789-123456789-123456789-'
198 'xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
201 'xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
199 '123456789-12345')
202 '123456789-12345')
200
203
201 print "initial space hitting length limit"
204 print "initial space hitting length limit"
202 show('data/ 23456789-123456789-123456789-123456789-123456789-'
205 show('data/ 23456789-123456789-123456789-123456789-123456789-'
203 'xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
206 'xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
204 '123456789-12345')
207 '123456789-12345')
205
208
206 print "initial dot hitting length limit"
209 print "initial dot hitting length limit"
207 show('data/.23456789-123456789-123456789-123456789-123456789-'
210 show('data/.23456789-123456789-123456789-123456789-123456789-'
208 'xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
211 'xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
209 '123456789-12345')
212 '123456789-12345')
210
213
211 print "trailing space in filename hitting length limit"
214 print "trailing space in filename hitting length limit"
212 show('data/123456789-123456789-123456789-123456789-123456789-'
215 show('data/123456789-123456789-123456789-123456789-123456789-'
213 'xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
216 'xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
214 '123456789-1234 ')
217 '123456789-1234 ')
215
218
216 print "trailing dot in filename hitting length limit"
219 print "trailing dot in filename hitting length limit"
217 show('data/123456789-123456789-123456789-123456789-123456789-'
220 show('data/123456789-123456789-123456789-123456789-123456789-'
218 'xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
221 'xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
219 '123456789-1234.')
222 '123456789-1234.')
220
223
221 print "initial space in directory hitting length limit"
224 print "initial space in directory hitting length limit"
222 show('data/ x/456789-123456789-123456789-123456789-123456789-'
225 show('data/ x/456789-123456789-123456789-123456789-123456789-'
223 'xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
226 'xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
224 '123456789-12345')
227 '123456789-12345')
225
228
226 print "initial dot in directory hitting length limit"
229 print "initial dot in directory hitting length limit"
227 show('data/.x/456789-123456789-123456789-123456789-123456789-'
230 show('data/.x/456789-123456789-123456789-123456789-123456789-'
228 'xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
231 'xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
229 '123456789-12345')
232 '123456789-12345')
230
233
231 print "trailing space in directory hitting length limit"
234 print "trailing space in directory hitting length limit"
232 show('data/x /456789-123456789-123456789-123456789-123456789-'
235 show('data/x /456789-123456789-123456789-123456789-123456789-'
233 'xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
236 'xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
234 '123456789-12345')
237 '123456789-12345')
235
238
236 print "trailing dot in directory hitting length limit"
239 print "trailing dot in directory hitting length limit"
237 show('data/x./456789-123456789-123456789-123456789-123456789-'
240 show('data/x./456789-123456789-123456789-123456789-123456789-'
238 'xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
241 'xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
239 '123456789-12345')
242 '123456789-12345')
240
243
241 print "with directories that need direncoding, hitting length limit"
244 print "with directories that need direncoding, hitting length limit"
242 show('data/x.i/56789-123456789-123456789-123456789-123456789-'
245 show('data/x.i/56789-123456789-123456789-123456789-123456789-'
243 'xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
246 'xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
244 '123456789-12345')
247 '123456789-12345')
245 show('data/x.d/56789-123456789-123456789-123456789-123456789-'
248 show('data/x.d/56789-123456789-123456789-123456789-123456789-'
246 'xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
249 'xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
247 '123456789-12345')
250 '123456789-12345')
248 show('data/x.hg/5789-123456789-123456789-123456789-123456789-'
251 show('data/x.hg/5789-123456789-123456789-123456789-123456789-'
249 'xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
252 'xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
250 '123456789-12345')
253 '123456789-12345')
251
254
252 print "Windows reserved filenames, hitting length limit"
255 print "Windows reserved filenames, hitting length limit"
253 show('data/con/56789-123456789-123456789-123456789-123456789-'
256 show('data/con/56789-123456789-123456789-123456789-123456789-'
254 'xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
257 'xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
255 '123456789-12345')
258 '123456789-12345')
256 show('data/prn/56789-123456789-123456789-123456789-123456789-'
259 show('data/prn/56789-123456789-123456789-123456789-123456789-'
257 'xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
260 'xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
258 '123456789-12345')
261 '123456789-12345')
259 show('data/aux/56789-123456789-123456789-123456789-123456789-'
262 show('data/aux/56789-123456789-123456789-123456789-123456789-'
260 'xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
263 'xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
261 '123456789-12345')
264 '123456789-12345')
262 show('data/nul/56789-123456789-123456789-123456789-123456789-'
265 show('data/nul/56789-123456789-123456789-123456789-123456789-'
263 'xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
266 'xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
264 '123456789-12345')
267 '123456789-12345')
265 show('data/com1/6789-123456789-123456789-123456789-123456789-'
268 show('data/com1/6789-123456789-123456789-123456789-123456789-'
266 'xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
269 'xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
267 '123456789-12345')
270 '123456789-12345')
268 show('data/com9/6789-123456789-123456789-123456789-123456789-'
271 show('data/com9/6789-123456789-123456789-123456789-123456789-'
269 'xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
272 'xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
270 '123456789-12345')
273 '123456789-12345')
271 show('data/lpt1/6789-123456789-123456789-123456789-123456789-'
274 show('data/lpt1/6789-123456789-123456789-123456789-123456789-'
272 'xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
275 'xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
273 '123456789-12345')
276 '123456789-12345')
274 show('data/lpt9/6789-123456789-123456789-123456789-123456789-'
277 show('data/lpt9/6789-123456789-123456789-123456789-123456789-'
275 'xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
278 'xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
276 '123456789-12345')
279 '123456789-12345')
277
280
278 print "non-reserved names, just not hitting limit"
281 print "non-reserved names, just not hitting limit"
279 show('data/123456789-123456789-123456789-123456789-123456789-'
282 show('data/123456789-123456789-123456789-123456789-123456789-'
280 '/com/com0/lpt/lpt0/-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
283 '/com/com0/lpt/lpt0/-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
281 '123456789-12345')
284 '123456789-12345')
282
285
283 print "hashed path with largest untruncated 1st dir"
286 print "hashed path with largest untruncated 1st dir"
284 show('data/12345678/-123456789-123456789-123456789-123456789-'
287 show('data/12345678/-123456789-123456789-123456789-123456789-'
285 'hashed----xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
288 'hashed----xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
286 '123456789-123456')
289 '123456789-123456')
287
290
288 print "hashed path with smallest truncated 1st dir"
291 print "hashed path with smallest truncated 1st dir"
289 show('data/123456789/123456789-123456789-123456789-123456789-'
292 show('data/123456789/123456789-123456789-123456789-123456789-'
290 'hashed----xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
293 'hashed----xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
291 '123456789-123456')
294 '123456789-123456')
292
295
293 print "hashed path with largest untruncated two dirs"
296 print "hashed path with largest untruncated two dirs"
294 show('data/12345678/12345678/9-123456789-123456789-123456789-'
297 show('data/12345678/12345678/9-123456789-123456789-123456789-'
295 'hashed----xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
298 'hashed----xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
296 '123456789-123456')
299 '123456789-123456')
297
300
298 print "hashed path with smallest truncated two dirs"
301 print "hashed path with smallest truncated two dirs"
299 show('data/123456789/123456789/123456789-123456789-123456789-'
302 show('data/123456789/123456789/123456789-123456789-123456789-'
300 'hashed----xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
303 'hashed----xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
301 '123456789-123456')
304 '123456789-123456')
302
305
303 print "hashed path with largest untruncated three dirs"
306 print "hashed path with largest untruncated three dirs"
304 show('data/12345678/12345678/12345678/89-123456789-123456789-'
307 show('data/12345678/12345678/12345678/89-123456789-123456789-'
305 'hashed----xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
308 'hashed----xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
306 '123456789-123456')
309 '123456789-123456')
307
310
308 print "hashed path with smallest truncated three dirs"
311 print "hashed path with smallest truncated three dirs"
309 show('data/123456789/123456789/123456789/123456789-123456789-'
312 show('data/123456789/123456789/123456789/123456789-123456789-'
310 'hashed----xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
313 'hashed----xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
311 '123456789-123456')
314 '123456789-123456')
312
315
313 print "hashed path with largest untruncated four dirs"
316 print "hashed path with largest untruncated four dirs"
314 show('data/12345678/12345678/12345678/12345678/789-123456789-'
317 show('data/12345678/12345678/12345678/12345678/789-123456789-'
315 'hashed----xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
318 'hashed----xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
316 '123456789-123456')
319 '123456789-123456')
317
320
318 print "hashed path with smallest truncated four dirs"
321 print "hashed path with smallest truncated four dirs"
319 show('data/123456789/123456789/123456789/123456789/123456789-'
322 show('data/123456789/123456789/123456789/123456789/123456789-'
320 'hashed----xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
323 'hashed----xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
321 '123456789-123456')
324 '123456789-123456')
322
325
323 print "hashed path with largest untruncated five dirs"
326 print "hashed path with largest untruncated five dirs"
324 show('data/12345678/12345678/12345678/12345678/12345678/6789-'
327 show('data/12345678/12345678/12345678/12345678/12345678/6789-'
325 'hashed----xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
328 'hashed----xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
326 '123456789-123456')
329 '123456789-123456')
327
330
328 print "hashed path with smallest truncated five dirs"
331 print "hashed path with smallest truncated five dirs"
329 show('data/123456789/123456789/123456789/123456789/123456789/'
332 show('data/123456789/123456789/123456789/123456789/123456789/'
330 'hashed----xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
333 'hashed----xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
331 '123456789-123456')
334 '123456789-123456')
332
335
333 print "hashed path with largest untruncated six dirs"
336 print "hashed path with largest untruncated six dirs"
334 show('data/12345678/12345678/12345678/12345678/12345678/12345'
337 show('data/12345678/12345678/12345678/12345678/12345678/12345'
335 '678/ed----xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
338 '678/ed----xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
336 '123456789-123456')
339 '123456789-123456')
337
340
338 print "hashed path with smallest truncated six dirs"
341 print "hashed path with smallest truncated six dirs"
339 show('data/123456789/123456789/123456789/123456789/123456789/'
342 show('data/123456789/123456789/123456789/123456789/123456789/'
340 '123456789/xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
343 '123456789/xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
341 '123456789-123456')
344 '123456789-123456')
342
345
343 print "hashed path with largest untruncated seven dirs"
346 print "hashed path with largest untruncated seven dirs"
344 show('data/12345678/12345678/12345678/12345678/12345678/12345'
347 show('data/12345678/12345678/12345678/12345678/12345678/12345'
345 '678/12345678/xxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
348 '678/12345678/xxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
346 '123456789-123456')
349 '123456789-123456')
347
350
348 print "hashed path with smallest truncated seven dirs"
351 print "hashed path with smallest truncated seven dirs"
349 show('data/123456789/123456789/123456789/123456789/123456789/'
352 show('data/123456789/123456789/123456789/123456789/123456789/'
350 '123456789/123456789/xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
353 '123456789/123456789/xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
351 '123456789-123456')
354 '123456789-123456')
352
355
353 print "hashed path with largest untruncated eight dirs"
356 print "hashed path with largest untruncated eight dirs"
354 print "(directory 8 is dropped because it hits _maxshortdirslen)"
357 print "(directory 8 is dropped because it hits _maxshortdirslen)"
355 show('data/12345678/12345678/12345678/12345678/12345678/12345'
358 show('data/12345678/12345678/12345678/12345678/12345678/12345'
356 '678/12345678/12345678/xxxxxxx-xxxxxxxxx-xxxxxxxxx-'
359 '678/12345678/12345678/xxxxxxx-xxxxxxxxx-xxxxxxxxx-'
357 '123456789-123456')
360 '123456789-123456')
358
361
359 print "hashed path with smallest truncated eight dirs"
362 print "hashed path with smallest truncated eight dirs"
360 print "(directory 8 is dropped because it hits _maxshortdirslen)"
363 print "(directory 8 is dropped because it hits _maxshortdirslen)"
361 show('data/123456789/123456789/123456789/123456789/123456789/'
364 show('data/123456789/123456789/123456789/123456789/123456789/'
362 '123456789/123456789/123456789/xxxxxxxxx-xxxxxxxxx-'
365 '123456789/123456789/123456789/xxxxxxxxx-xxxxxxxxx-'
363 '123456789-123456')
366 '123456789-123456')
364
367
365 print "hashed path with largest non-dropped directory 8"
368 print "hashed path with largest non-dropped directory 8"
366 print "(just not hitting the _maxshortdirslen boundary)"
369 print "(just not hitting the _maxshortdirslen boundary)"
367 show('data/12345678/12345678/12345678/12345678/12345678/12345'
370 show('data/12345678/12345678/12345678/12345678/12345678/12345'
368 '678/12345678/12345/-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
371 '678/12345678/12345/-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
369 '123456789-123456')
372 '123456789-123456')
370
373
371 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"
372 show('data/12345678x/12345678/12345678/12345678/12345678/12345'
375 show('data/12345678x/12345678/12345678/12345678/12345678/12345'
373 '678/12345678/12345/xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
376 '678/12345678/12345/xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
374 '123456789-123456')
377 '123456789-123456')
375 show('data/12345678/12345678x/12345678/12345678/12345678/12345'
378 show('data/12345678/12345678x/12345678/12345678/12345678/12345'
376 '678/12345678/12345/xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
379 '678/12345678/12345/xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
377 '123456789-123456')
380 '123456789-123456')
378 show('data/12345678/12345678/12345678x/12345678/12345678/12345'
381 show('data/12345678/12345678/12345678x/12345678/12345678/12345'
379 '678/12345678/12345/xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
382 '678/12345678/12345/xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
380 '123456789-123456')
383 '123456789-123456')
381 show('data/12345678/12345678/12345678/12345678x/12345678/12345'
384 show('data/12345678/12345678/12345678/12345678x/12345678/12345'
382 '678/12345678/12345/xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
385 '678/12345678/12345/xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
383 '123456789-123456')
386 '123456789-123456')
384 show('data/12345678/12345678/12345678/12345678/12345678x/12345'
387 show('data/12345678/12345678/12345678/12345678/12345678x/12345'
385 '678/12345678/12345/xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
388 '678/12345678/12345/xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
386 '123456789-123456')
389 '123456789-123456')
387 show('data/12345678/12345678/12345678/12345678/12345678/12345'
390 show('data/12345678/12345678/12345678/12345678/12345678/12345'
388 '678x/12345678/12345/xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
391 '678x/12345678/12345/xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
389 '123456789-123456')
392 '123456789-123456')
390 show('data/12345678/12345678/12345678/12345678/12345678/12345'
393 show('data/12345678/12345678/12345678/12345678/12345678/12345'
391 '678/12345678x/12345/xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
394 '678/12345678x/12345/xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
392 '123456789-123456')
395 '123456789-123456')
393
396
394 print "hashed path with shortest dropped directory 8"
397 print "hashed path with shortest dropped directory 8"
395 print "(just hitting the _maxshortdirslen boundary)"
398 print "(just hitting the _maxshortdirslen boundary)"
396 show('data/12345678/12345678/12345678/12345678/12345678/12345'
399 show('data/12345678/12345678/12345678/12345678/12345678/12345'
397 '678/12345678/123456/xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
400 '678/12345678/123456/xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
398 '123456789-123456')
401 '123456789-123456')
399
402
400 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"
401 print "encoded, and thus causing to hit _maxshortdirslen"
404 print "encoded, and thus causing to hit _maxshortdirslen"
402 show('data/12345678/12345678/12345678/12345678/12345678/12345'
405 show('data/12345678/12345678/12345678/12345678/12345678/12345'
403 '678/12345678/1234./-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
406 '678/12345678/1234./-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
404 '123456789-123456')
407 '123456789-123456')
405 show('data/12345678/12345678/12345678/12345678/12345678/12345'
408 show('data/12345678/12345678/12345678/12345678/12345678/12345'
406 '678/12345678/1234 /-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
409 '678/12345678/1234 /-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
407 '123456789-123456')
410 '123456789-123456')
408
411
409 print "... with dir 8 short enough for encoding"
412 print "... with dir 8 short enough for encoding"
410 show('data/12345678/12345678/12345678/12345678/12345678/12345'
413 show('data/12345678/12345678/12345678/12345678/12345678/12345'
411 '678/12345678/12./xx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
414 '678/12345678/12./xx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
412 '123456789-123456')
415 '123456789-123456')
413 show('data/12345678/12345678/12345678/12345678/12345678/12345'
416 show('data/12345678/12345678/12345678/12345678/12345678/12345'
414 '678/12345678/12 /xx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
417 '678/12345678/12 /xx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
415 '123456789-123456')
418 '123456789-123456')
416
419
417 print '''Extensions are replicated on hashed paths. Note that
420 print '''Extensions are replicated on hashed paths. Note that
418 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
419 store. Encoded filenames are thus bound in length.'''
422 store. Encoded filenames are thus bound in length.'''
420 show('data/12345678/12345678/12345678/12345678/12345678/12345'
423 show('data/12345678/12345678/12345678/12345678/12345678/12345'
421 '678/12345678/12345/-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
424 '678/12345678/12345/-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
422 '123456789-12.345.i')
425 '123456789-12.345.i')
423 show('data/12345678/12345678/12345678/12345678/12345678/12345'
426 show('data/12345678/12345678/12345678/12345678/12345678/12345'
424 '678/12345678/12345/-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
427 '678/12345678/12345/-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
425 '123456789-12.345.d')
428 '123456789-12.345.d')
426 show('data/12345678/12345678/12345678/12345678/12345678/12345'
429 show('data/12345678/12345678/12345678/12345678/12345678/12345'
427 '678/12345678/12345/-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
430 '678/12345678/12345/-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
428 '123456789-12.3456.i')
431 '123456789-12.3456.i')
429 show('data/12345678/12345678/12345678/12345678/12345678/12345'
432 show('data/12345678/12345678/12345678/12345678/12345678/12345'
430 '678/12345678/12345/-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
433 '678/12345678/12345/-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
431 '123456789-12.34567.i')
434 '123456789-12.34567.i')
432 show('data/12345678/12345678/12345678/12345678/12345678/12345'
435 show('data/12345678/12345678/12345678/12345678/12345678/12345'
433 '678/12345678/12345/-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
436 '678/12345678/12345/-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
434 '123456789-12.345678.i')
437 '123456789-12.345678.i')
435 show('data/12345678/12345678/12345678/12345678/12345678/12345'
438 show('data/12345678/12345678/12345678/12345678/12345678/12345'
436 '678/12345678/12345/-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
439 '678/12345678/12345/-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
437 '123456789-12.3456789.i')
440 '123456789-12.3456789.i')
438 show('data/12345678/12345678/12345678/12345678/12345678/12345'
441 show('data/12345678/12345678/12345678/12345678/12345678/12345'
439 '678/12345678/12345/-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
442 '678/12345678/12345/-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
440 '123456789-12.3456789-.i')
443 '123456789-12.3456789-.i')
441 show('data/12345678/12345678/12345678/12345678/12345678/12345'
444 show('data/12345678/12345678/12345678/12345678/12345678/12345'
442 '678/12345678/12345/-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
445 '678/12345678/12345/-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
443 '123456789-12.3456789-1.i')
446 '123456789-12.3456789-1.i')
444 show('data/12345678/12345678/12345678/12345678/12345678/12345'
447 show('data/12345678/12345678/12345678/12345678/12345678/12345'
445 '678/12345678/12345/-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
448 '678/12345678/12345/-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
446 '123456789-12.3456789-12.i')
449 '123456789-12.3456789-12.i')
447 show('data/12345678/12345678/12345678/12345678/12345678/12345'
450 show('data/12345678/12345678/12345678/12345678/12345678/12345'
448 '678/12345678/12345/-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
451 '678/12345678/12345/-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
449 '123456789-12.3456789-123.i')
452 '123456789-12.3456789-123.i')
450 show('data/12345678/12345678/12345678/12345678/12345678/12345'
453 show('data/12345678/12345678/12345678/12345678/12345678/12345'
451 '678/12345678/12345/-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
454 '678/12345678/12345/-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
452 '123456789-12.3456789-1234.i')
455 '123456789-12.3456789-1234.i')
453 show('data/12345678/12345678/12345678/12345678/12345678/12345'
456 show('data/12345678/12345678/12345678/12345678/12345678/12345'
454 '678/12345678/12345/-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
457 '678/12345678/12345/-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
455 '123456789-12.3456789-12345.i')
458 '123456789-12.3456789-12345.i')
456 show('data/12345678/12345678/12345678/12345678/12345678/12345'
459 show('data/12345678/12345678/12345678/12345678/12345678/12345'
457 '678/12345678/12345/-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
460 '678/12345678/12345/-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-'
458 '123456789-12.3456789-12345-ABCDEFGHIJKLMNOPRSTUVWX'
461 '123456789-12.3456789-12345-ABCDEFGHIJKLMNOPRSTUVWX'
459 'YZ-abcdefghjiklmnopqrstuvwxyz-ABCDEFGHIJKLMNOPRSTU'
462 'YZ-abcdefghjiklmnopqrstuvwxyz-ABCDEFGHIJKLMNOPRSTU'
460 'VWXYZ-1234567890-xxxxxxxxx-xxxxxxxxx-xxxxxxxx-xxxx'
463 'VWXYZ-1234567890-xxxxxxxxx-xxxxxxxxx-xxxxxxxx-xxxx'
461 'xxxxx-wwwwwwwww-wwwwwwwww-wwwwwwwww-wwwwwwwww-wwww'
464 'xxxxx-wwwwwwwww-wwwwwwwww-wwwwwwwww-wwwwwwwww-wwww'
462 'wwwww-wwwwwwwww-wwwwwwwww-wwwwwwwww-wwwwwwwww.i')
465 'wwwww-wwwwwwwww-wwwwwwwww-wwwwwwwww-wwwwwwwww.i')
463
466
464 print "paths outside data/ can be encoded"
467 print "paths outside data/ can be encoded"
465 show('metadata/dir/00manifest.i')
468 show('metadata/dir/00manifest.i')
466 show('metadata/12345678/12345678/12345678/12345678/12345678/'
469 show('metadata/12345678/12345678/12345678/12345678/12345678/'
467 '12345678/12345678/12345678/12345678/12345678/12345678/'
470 '12345678/12345678/12345678/12345678/12345678/12345678/'
468 '12345678/12345678/00manifest.i')
471 '12345678/12345678/00manifest.i')
General Comments 0
You need to be logged in to leave comments. Login now