Title: [107145] trunk/Tools
Revision
107145
Author
aba...@webkit.org
Date
2012-02-08 15:59:04 -0800 (Wed, 08 Feb 2012)

Log Message

Remove the ospath compat shim from webkitpy
https://bugs.webkit.org/show_bug.cgi?id=78170

Reviewed by Eric Seidel.

We no longer need this compat shim now that we don't support Python 2.5.

* Scripts/webkitpy/common/checkout/scm/git.py:
* Scripts/webkitpy/common/checkout/scm/svn.py:
* Scripts/webkitpy/common/system/filesystem.py:
(FileSystem.relpath):
* Scripts/webkitpy/common/system/filesystem_mock.py:
(MockFileSystem.relpath):
* Scripts/webkitpy/common/system/ospath.py: Removed.
* Scripts/webkitpy/common/system/ospath_unittest.py: Removed.

Modified Paths

Removed Paths

Diff

Modified: trunk/Tools/ChangeLog (107144 => 107145)


--- trunk/Tools/ChangeLog	2012-02-08 23:57:48 UTC (rev 107144)
+++ trunk/Tools/ChangeLog	2012-02-08 23:59:04 UTC (rev 107145)
@@ -1,3 +1,21 @@
+2012-02-08  Adam Barth  <aba...@webkit.org>
+
+        Remove the ospath compat shim from webkitpy
+        https://bugs.webkit.org/show_bug.cgi?id=78170
+
+        Reviewed by Eric Seidel.
+
+        We no longer need this compat shim now that we don't support Python 2.5.
+
+        * Scripts/webkitpy/common/checkout/scm/git.py:
+        * Scripts/webkitpy/common/checkout/scm/svn.py:
+        * Scripts/webkitpy/common/system/filesystem.py:
+        (FileSystem.relpath):
+        * Scripts/webkitpy/common/system/filesystem_mock.py:
+        (MockFileSystem.relpath):
+        * Scripts/webkitpy/common/system/ospath.py: Removed.
+        * Scripts/webkitpy/common/system/ospath_unittest.py: Removed.
+
 2012-02-08  Ryosuke Niwa  <rn...@webkit.org>
 
         Build fix attempt after r107053.

Modified: trunk/Tools/Scripts/webkitpy/common/checkout/scm/git.py (107144 => 107145)


--- trunk/Tools/Scripts/webkitpy/common/checkout/scm/git.py	2012-02-08 23:57:48 UTC (rev 107144)
+++ trunk/Tools/Scripts/webkitpy/common/checkout/scm/git.py	2012-02-08 23:59:04 UTC (rev 107145)
@@ -34,7 +34,6 @@
 from webkitpy.common.memoized import memoized
 from webkitpy.common.system.deprecated_logging import log
 from webkitpy.common.system.executive import Executive, ScriptError
-from webkitpy.common.system import ospath
 
 from .commitmessage import CommitMessage
 from .scm import AuthenticationError, SCM, commit_error_handler

Modified: trunk/Tools/Scripts/webkitpy/common/checkout/scm/svn.py (107144 => 107145)


--- trunk/Tools/Scripts/webkitpy/common/checkout/scm/svn.py	2012-02-08 23:57:48 UTC (rev 107144)
+++ trunk/Tools/Scripts/webkitpy/common/checkout/scm/svn.py	2012-02-08 23:59:04 UTC (rev 107145)
@@ -36,7 +36,6 @@
 from webkitpy.common.memoized import memoized
 from webkitpy.common.system.deprecated_logging import log
 from webkitpy.common.system.executive import Executive, ScriptError
-from webkitpy.common.system import ospath
 
 from .scm import AuthenticationError, SCM, commit_error_handler
 

Modified: trunk/Tools/Scripts/webkitpy/common/system/filesystem.py (107144 => 107145)


--- trunk/Tools/Scripts/webkitpy/common/system/filesystem.py	2012-02-08 23:57:48 UTC (rev 107144)
+++ trunk/Tools/Scripts/webkitpy/common/system/filesystem.py	2012-02-08 23:59:04 UTC (rev 107145)
@@ -39,8 +39,6 @@
 import tempfile
 import time
 
-from webkitpy.common.system import ospath
-
 class FileSystem(object):
     """FileSystem interface for webkitpy.
 
@@ -227,7 +225,7 @@
         return hashlib.sha1(contents).hexdigest()
 
     def relpath(self, path, start='.'):
-        return ospath.relpath(path, start)
+        return os.path.relpath(path, start)
 
     class _WindowsError(exceptions.OSError):
         """Fake exception for Linux and Mac."""

Modified: trunk/Tools/Scripts/webkitpy/common/system/filesystem_mock.py (107144 => 107145)


--- trunk/Tools/Scripts/webkitpy/common/system/filesystem_mock.py	2012-02-08 23:57:48 UTC (rev 107144)
+++ trunk/Tools/Scripts/webkitpy/common/system/filesystem_mock.py	2012-02-08 23:59:04 UTC (rev 107145)
@@ -33,7 +33,6 @@
 import re
 
 from webkitpy.common.system import path
-from webkitpy.common.system import ospath
 
 
 class MockFileSystem(object):
@@ -303,8 +302,34 @@
         return hashlib.sha1(contents).hexdigest()
 
     def relpath(self, path, start='.'):
-        return ospath.relpath(path, start, self.abspath, self.sep)
+        # Since os.path.relpath() calls os.path.normpath()
+        # (see http://docs.python.org/library/os.path.html#os.path.abspath )
+        # it also removes trailing slashes and converts forward and backward
+        # slashes to the preferred slash os.sep.
+        start = self.abspath(start)
+        path = self.abspath(path)
 
+        if not path.lower().startswith(start.lower()):
+            # Then path is outside the directory given by start.
+            return None  # FIXME: os.relpath still returns a path here.
+
+        rel_path = path[len(start):]
+
+        if not rel_path:
+            # Then the paths are the same.
+            pass
+        elif rel_path[0] == self.sep:
+            # It is probably sufficient to remove just the first character
+            # since os.path.normpath() collapses separators, but we use
+            # lstrip() just to be sure.
+            rel_path = rel_path.lstrip(self.sep)
+        else:
+            # We are in the case typified by the following example:
+            # path = "/tmp/foobar", start = "/tmp/foo" -> rel_path = "bar"
+            return None
+
+        return rel_path
+
     def remove(self, path):
         if self.files[path] is None:
             self._raise_not_found(path)

Deleted: trunk/Tools/Scripts/webkitpy/common/system/ospath.py (107144 => 107145)


--- trunk/Tools/Scripts/webkitpy/common/system/ospath.py	2012-02-08 23:57:48 UTC (rev 107144)
+++ trunk/Tools/Scripts/webkitpy/common/system/ospath.py	2012-02-08 23:59:04 UTC (rev 107145)
@@ -1,85 +0,0 @@
-# Copyright (C) 2010 Chris Jerdonek (cjerdo...@webkit.org)
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-# 1.  Redistributions of source code must retain the above copyright
-#     notice, this list of conditions and the following disclaimer.
-# 2.  Redistributions in binary form must reproduce the above copyright
-#     notice, this list of conditions and the following disclaimer in the
-#     documentation and/or other materials provided with the distribution.
-#
-# THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' AND
-# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-# DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS BE LIABLE FOR
-# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-"""Contains a substitute for Python 2.6's os.path.relpath()."""
-
-import os
-
-
-# This function is a replacement for os.path.relpath(), which is only
-# available in Python 2.6:
-#
-# http://docs.python.org/library/os.path.html#os.path.relpath
-#
-# It should behave essentially the same as os.path.relpath(), except for
-# returning None on paths not contained in abs_start_path.
-def relpath(path, start_path, os_path_abspath=None, sep=None):
-    """Return a path relative to the given start path, or None.
-
-    Returns None if the path is not contained in the directory start_path.
-
-    Args:
-      path: An absolute or relative path to convert to a relative path.
-      start_path: The path relative to which the given path should be
-                  converted.
-      os_path_abspath: A replacement function for unit testing.  This
-                       function should strip trailing slashes just like
-                       os.path.abspath().  Defaults to os.path.abspath.
-      sep: Path separator.  Defaults to os.path.sep
-
-    """
-    if os_path_abspath is None:
-        os_path_abspath = os.path.abspath
-    sep = sep or os.sep
-
-    # Since os_path_abspath() calls os.path.normpath()--
-    #
-    # (see http://docs.python.org/library/os.path.html#os.path.abspath )
-    #
-    # it also removes trailing slashes and converts forward and backward
-    # slashes to the preferred slash os.sep.
-    start_path = os_path_abspath(start_path)
-    path = os_path_abspath(path)
-
-    if not path.lower().startswith(start_path.lower()):
-        # Then path is outside the directory given by start_path.
-        return None
-
-    rel_path = path[len(start_path):]
-
-    if not rel_path:
-        # Then the paths are the same.
-        pass
-    elif rel_path[0] == sep:
-        # It is probably sufficient to remove just the first character
-        # since os.path.normpath() collapses separators, but we use
-        # lstrip() just to be sure.
-        rel_path = rel_path.lstrip(sep)
-    else:
-        # We are in the case typified by the following example:
-        #
-        # start_path = "/tmp/foo"
-        # path = "/tmp/foobar"
-        # rel_path = "bar"
-        return None
-
-    return rel_path

Deleted: trunk/Tools/Scripts/webkitpy/common/system/ospath_unittest.py (107144 => 107145)


--- trunk/Tools/Scripts/webkitpy/common/system/ospath_unittest.py	2012-02-08 23:57:48 UTC (rev 107144)
+++ trunk/Tools/Scripts/webkitpy/common/system/ospath_unittest.py	2012-02-08 23:59:04 UTC (rev 107145)
@@ -1,62 +0,0 @@
-# Copyright (C) 2010 Chris Jerdonek (cjerdo...@webkit.org)
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-# 1.  Redistributions of source code must retain the above copyright
-#     notice, this list of conditions and the following disclaimer.
-# 2.  Redistributions in binary form must reproduce the above copyright
-#     notice, this list of conditions and the following disclaimer in the
-#     documentation and/or other materials provided with the distribution.
-#
-# THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' AND
-# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-# DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS BE LIABLE FOR
-# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-"""Unit tests for ospath.py."""
-
-import os
-import unittest
-
-from webkitpy.common.system.ospath import relpath
-
-
-# Make sure the tests in this class are platform independent.
-class RelPathTest(unittest.TestCase):
-
-    """Tests relpath()."""
-
-    os_path_abspath = lambda self, path: path
-
-    def _rel_path(self, path, abs_start_path):
-        return relpath(path, abs_start_path, self.os_path_abspath)
-
-    def test_same_path(self):
-        rel_path = self._rel_path("WebKit", "WebKit")
-        self.assertEquals(rel_path, "")
-
-    def test_long_rel_path(self):
-        start_path = "WebKit"
-        expected_rel_path = os.path.join("test", "Foo.txt")
-        path = os.path.join(start_path, expected_rel_path)
-
-        rel_path = self._rel_path(path, start_path)
-        self.assertEquals(expected_rel_path, rel_path)
-
-    def test_none_rel_path(self):
-        """Test _rel_path() with None return value."""
-        start_path = "WebKit"
-        path = os.path.join("other_dir", "foo.txt")
-
-        rel_path = self._rel_path(path, start_path)
-        self.assertTrue(rel_path is None)
-
-        rel_path = self._rel_path("Tools", "WebKit")
-        self.assertTrue(rel_path is None)
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to