summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Lib/distutils/dir_util.py11
-rw-r--r--Lib/distutils/tests/test_dir_util.py14
2 files changed, 14 insertions, 11 deletions
diff --git a/Lib/distutils/dir_util.py b/Lib/distutils/dir_util.py
index ed54cce..82608d2 100644
--- a/Lib/distutils/dir_util.py
+++ b/Lib/distutils/dir_util.py
@@ -208,14 +208,11 @@ def remove_tree (directory, verbose=1, dry_run=0):
exc, "error removing %s: " % directory))
-def ensure_relative (path):
+def ensure_relative(path):
"""Take the full path 'path', and make it a relative path so
it can be the second argument to os.path.join().
"""
drive, path = os.path.splitdrive(path)
- if sys.platform == 'mac':
- return os.sep + path
- else:
- if path[0:1] == os.sep:
- path = drive + path[1:]
- return path
+ if path[0:1] == os.sep:
+ path = drive + path[1:]
+ return path
diff --git a/Lib/distutils/tests/test_dir_util.py b/Lib/distutils/tests/test_dir_util.py
index bf416b6..9bd6530 100644
--- a/Lib/distutils/tests/test_dir_util.py
+++ b/Lib/distutils/tests/test_dir_util.py
@@ -3,10 +3,8 @@ import unittest
import os
import shutil
-from distutils.dir_util import mkpath
-from distutils.dir_util import remove_tree
-from distutils.dir_util import create_tree
-from distutils.dir_util import copy_tree
+from distutils.dir_util import (mkpath, remove_tree, create_tree, copy_tree,
+ ensure_relative)
from distutils import log
from distutils.tests import support
@@ -85,6 +83,14 @@ class DirUtilTestCase(support.TempdirManager, unittest.TestCase):
remove_tree(self.root_target, verbose=0)
remove_tree(self.target2, verbose=0)
+ def test_ensure_relative(self):
+ if os.sep == '/':
+ self.assertEquals(ensure_relative('/home/foo'), 'home/foo')
+ self.assertEquals(ensure_relative('some/path'), 'some/path')
+ else: # \\
+ self.assertEquals(ensure_relative('c:\\home\\foo'), 'home\\foo')
+ self.assertEquals(ensure_relative('home\\foo'), 'home\\foo')
+
def test_suite():
return unittest.makeSuite(DirUtilTestCase)