[pypy-commit] pypy default: escape slashes in udir basenames with --
RonnyPfannschmidt
noreply at buildbot.pypy.org
Sat Apr 14 14:32:19 CEST 2012
Author: Ronny Pfannschmidt <Ronny.Pfannschmidt at gmx.de>
Branch:
Changeset: r54361:4b487dad7abe
Date: 2012-04-14 12:00 +0200
http://bitbucket.org/pypy/pypy/changeset/4b487dad7abe/
Log: escape slashes in udir basenames with --
diff --git a/pypy/tool/test/test_udir.py b/pypy/tool/test/test_udir.py
--- a/pypy/tool/test/test_udir.py
+++ b/pypy/tool/test/test_udir.py
@@ -13,6 +13,8 @@
def test_make_udir_with_basename():
root = str(udir.udir.ensure('make_udir2', dir=1))
p1 = udir.make_udir(dir=root, basename='foobar')
+ def assert_relto(path, root, expected):
+ assert path.relto(root) == expected, path.relto(root)
assert p1.relto(root) == 'usession-foobar-0'
p1 = udir.make_udir(dir=root, basename='-foobar')
assert p1.relto(root) == 'usession-foobar-1'
@@ -24,3 +26,5 @@
assert p1.relto(root) == 'usession-0'
p1 = udir.make_udir(dir=root, basename='-')
assert p1.relto(root) == 'usession-1'
+ p1 = udir.make_udir(dir=root, basename='fun/bar')
+ assert p1.relto(root) == 'usession-fun--bar-0'
diff --git a/pypy/tool/udir.py b/pypy/tool/udir.py
--- a/pypy/tool/udir.py
+++ b/pypy/tool/udir.py
@@ -41,6 +41,7 @@
basename = basename.encode(sys.getdefaultencoding())
else:
basename = ''
+ basename = basename.replace('/', '--')
if not basename.startswith('-'):
basename = '-' + basename
if not basename.endswith('-'):
More information about the pypy-commit
mailing list