diff -r e61d7da84680 Lib/posixpath.py --- a/Lib/posixpath.py Fri Jun 14 10:42:48 2013 -0400 +++ b/Lib/posixpath.py Sat Jun 15 14:34:15 2013 +0200 @@ -346,8 +346,9 @@ return path or dot -def abspath(path): +def abspath(path, *p): """Return an absolute path.""" + path = join(path, *p) if not isabs(path): if isinstance(path, bytes): cwd = os.getcwdb() diff -r e61d7da84680 Lib/test/test_posixpath.py --- a/Lib/test/test_posixpath.py Fri Jun 14 10:42:48 2013 -0400 +++ b/Lib/test/test_posixpath.py Sat Jun 15 14:34:15 2013 +0200 @@ -285,6 +285,16 @@ b"/foo/bar") @skip_if_ABSTFN_contains_backslash + def test_abspath_respects_multiple_arguments(self): + self.assertEqual(abspath('/foo', 'bar'), '/foo/bar') + self.assertEqual(abspath('/foo', 'bar', 'baz'), '/foo/bar/baz') + self.assertEqual(abspath('/foo', 'bar/', 'baz'), '/foo/bar/baz') + self.assertEqual(abspath('/foo', 'bar/', 'baz/'), '/foo/bar/baz') + self.assertEqual(abspath('/foo/', 'bar/'), '/foo/bar') + self.assertEqual(abspath('/foo/bar', 'baz'), '/foo/bar/baz') + self.assertEqual(abspath('/foo/bar/', 'baz'), '/foo/bar/baz') + + @skip_if_ABSTFN_contains_backslash def test_realpath_curdir(self): self.assertEqual(realpath('.'), os.getcwd()) self.assertEqual(realpath('./.'), os.getcwd())