diff options
-rw-r--r-- | Lib/ntpath.py | 4 | ||||
-rw-r--r-- | Lib/test/test_ntpath.py | 2 | ||||
-rw-r--r-- | Misc/NEWS.d/next/Library/2018-10-25-09-37-03.bpo-31047.kBbX8r.rst | 2 |
3 files changed, 6 insertions, 2 deletions
diff --git a/Lib/ntpath.py b/Lib/ntpath.py index 24113e7..1b23a15 100644 --- a/Lib/ntpath.py +++ b/Lib/ntpath.py @@ -545,8 +545,8 @@ else: # use native Windows method on Windows def abspath(path): """Return the absolute version of a path.""" try: - return _getfullpathname(path) - except OSError: + return normpath(_getfullpathname(path)) + except (OSError, ValueError): return _abspath_fallback(path) # realpath is a no-op on systems without islink support diff --git a/Lib/test/test_ntpath.py b/Lib/test/test_ntpath.py index f93d902..bba1712 100644 --- a/Lib/test/test_ntpath.py +++ b/Lib/test/test_ntpath.py @@ -307,6 +307,8 @@ class TestNtpath(unittest.TestCase): tester('ntpath.abspath("")', cwd_dir) tester('ntpath.abspath(" ")', cwd_dir + "\\ ") tester('ntpath.abspath("?")', cwd_dir + "\\?") + drive, _ = ntpath.splitdrive(cwd_dir) + tester('ntpath.abspath("/abc/")', drive + "\\abc") except ImportError: self.skipTest('nt module not available') diff --git a/Misc/NEWS.d/next/Library/2018-10-25-09-37-03.bpo-31047.kBbX8r.rst b/Misc/NEWS.d/next/Library/2018-10-25-09-37-03.bpo-31047.kBbX8r.rst new file mode 100644 index 0000000..1e47bf4 --- /dev/null +++ b/Misc/NEWS.d/next/Library/2018-10-25-09-37-03.bpo-31047.kBbX8r.rst @@ -0,0 +1,2 @@ +Fix ``ntpath.abspath`` regression where it didn't remove a trailing +separator on Windows. Patch by Tim Graham. |