Skip to content

PathName2URLTests fail with Python 3.12.9 #647

@ptrcnull

Description

@ptrcnull

some changes between Python 3.12.2 and 3.12.9 cause the following tests to fail on Alpine Linux edge with python-future 1.0.0:

____________ URL2PathNameTests.test_converting_when_no_drive_letter ____________

self = <test_future.test_urllib.URL2PathNameTests testMethod=test_converting_when_no_drive_letter>

    def test_converting_when_no_drive_letter(self):
        # cannot end a raw string in \
>       self.assertEqual(url2pathname("///C/test/"), r'\\\C\test' '\\')
E       AssertionError: '\\C\\test\\' != '\\\\\\C\\test\\'
E       - \C\test\
E       + \\\C\test\
E       ? ++

tests/test_future/test_urllib.py:1339: AssertionError
________________ URL2PathNameTests.test_roundtrip_url2pathname _________________

self = <test_future.test_urllib.URL2PathNameTests testMethod=test_roundtrip_url2pathname>

    def test_roundtrip_url2pathname(self):
        list_of_paths = ['C:',
                         r'\\\C\test\\',
                         r'C:\foo\bar\spam.foo'
                         ]
        for path in list_of_paths:
>           self.assertEqual(url2pathname(pathname2url(path)), path)
E           AssertionError: '\\C\\test\\\\' != '\\\\\\C\\test\\\\'
E           - \C\test\\
E           + \\\C\test\\
E           ? ++

tests/test_future/test_urllib.py:1355: AssertionError
________________ PathName2URLTests.test_converting_drive_letter ________________

self = <test_future.test_urllib.PathName2URLTests testMethod=test_converting_drive_letter>

    def test_converting_drive_letter(self):
        self.assertEqual(pathname2url("C:"), '///C:')
>       self.assertEqual(pathname2url("C:\\"), '///C:')
E       AssertionError: '///C:/' != '///C:'
E       - ///C:/
E       ?      -
E       + ///C:

tests/test_future/test_urllib.py:1361: AssertionError
____________ PathName2URLTests.test_converting_when_no_drive_letter ____________

self = <test_future.test_urllib.PathName2URLTests testMethod=test_converting_when_no_drive_letter>

    def test_converting_when_no_drive_letter(self):
>       self.assertEqual(pathname2url(r"\\\folder\test" "\\"),
                         '/////folder/test/')
E       AssertionError: '///folder/test/' != '/////folder/test/'
E       - ///folder/test/
E       + /////folder/test/
E       ? ++

tests/test_future/test_urllib.py:1364: AssertionError
________________ PathName2URLTests.test_roundtrip_pathname2url _________________

self = <test_future.test_urllib.PathName2URLTests testMethod=test_roundtrip_pathname2url>

    def test_roundtrip_pathname2url(self):
        list_of_paths = ['///C:',
                         '/////folder/test/',
                         '///C:/foo/bar/spam.foo']
        for path in list_of_paths:
>           self.assertEqual(pathname2url(url2pathname(path)), path)
E           AssertionError: '//folder/test/' != '/////folder/test/'
E           - //folder/test/
E           + /////folder/test/
E           ? +++

tests/test_future/test_urllib.py:1383: AssertionError
____________ URL2PathNameTests.test_converting_when_no_drive_letter ____________

self = <test_future.test_urllib_toplevel.URL2PathNameTests testMethod=test_converting_when_no_drive_letter>

    def test_converting_when_no_drive_letter(self):
        # cannot end a raw string in \
>       self.assertEqual(url2pathname("///C/test/"), r'\\\C\test' '\\')
E       AssertionError: '\\C\\test\\' != '\\\\\\C\\test\\'
E       - \C\test\
E       + \\\C\test\
E       ? ++

tests/test_future/test_urllib_toplevel.py:1357: AssertionError
________________ URL2PathNameTests.test_roundtrip_url2pathname _________________

self = <test_future.test_urllib_toplevel.URL2PathNameTests testMethod=test_roundtrip_url2pathname>

    def test_roundtrip_url2pathname(self):
        list_of_paths = ['C:',
                         r'\\\C\test\\',
                         r'C:\foo\bar\spam.foo'
                         ]
        for path in list_of_paths:
>           self.assertEqual(url2pathname(pathname2url(path)), path)
E           AssertionError: '\\C\\test\\\\' != '\\\\\\C\\test\\\\'
E           - \C\test\\
E           + \\\C\test\\
E           ? ++

tests/test_future/test_urllib_toplevel.py:1373: AssertionError
________________ PathName2URLTests.test_converting_drive_letter ________________

self = <test_future.test_urllib_toplevel.PathName2URLTests testMethod=test_converting_drive_letter>

    def test_converting_drive_letter(self):
        self.assertEqual(pathname2url("C:"), '///C:')
>       self.assertEqual(pathname2url("C:\\"), '///C:')
E       AssertionError: '///C:/' != '///C:'
E       - ///C:/
E       ?      -
E       + ///C:

tests/test_future/test_urllib_toplevel.py:1379: AssertionError
____________ PathName2URLTests.test_converting_when_no_drive_letter ____________

self = <test_future.test_urllib_toplevel.PathName2URLTests testMethod=test_converting_when_no_drive_letter>

    def test_converting_when_no_drive_letter(self):
>       self.assertEqual(pathname2url(r"\\\folder\test" "\\"),
                         '/////folder/test/')
E       AssertionError: '///folder/test/' != '/////folder/test/'
E       - ///folder/test/
E       + /////folder/test/
E       ? ++

tests/test_future/test_urllib_toplevel.py:1382: AssertionError
________________ PathName2URLTests.test_roundtrip_pathname2url _________________

self = <test_future.test_urllib_toplevel.PathName2URLTests testMethod=test_roundtrip_pathname2url>

    def test_roundtrip_pathname2url(self):
        list_of_paths = ['///C:',
                         '/////folder/test/',
                         '///C:/foo/bar/spam.foo']
        for path in list_of_paths:
>           self.assertEqual(pathname2url(url2pathname(path)), path)
E           AssertionError: '//folder/test/' != '/////folder/test/'
E           - //folder/test/
E           + /////folder/test/
E           ? +++

tests/test_future/test_urllib_toplevel.py:1401: AssertionError

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions