Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

test_cmd_line_script and test_embed, test_compileall, test_urllib fail if TMPDIR path is non-ASCII #93855

Closed
vstinner opened this issue Jun 15, 2022 · 3 comments
Labels
type-bug An unexpected behavior, bug, or error

Comments

@vstinner
Copy link
Member

$ mkdir nonasciié
$ TMPDIR=$PWD/nonasciié/ TEMP=$PWD/nonasciié/ ./python -m test test_urllib -v -m test_file_notexists 
(...)
ERROR: test_file_notexists (test.test_urllib.urlopen_HttpTests.test_file_notexists)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/vstinner/python/main/Lib/urllib/parse.py", line 1004, in _to_bytes
    url = url.encode("ASCII").decode()
          ^^^^^^^^^^^^^^^^^^^
UnicodeEncodeError: 'ascii' codec can't encode character '\xe9' in position 52: ordinal not in range(128)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/vstinner/python/main/Lib/test/test_urllib.py", line 535, in test_file_notexists
    with urlopen(tmp_fileurl) as fobj:
         ^^^^^^^^^^^^^^^^^^^^
  File "/home/vstinner/python/main/Lib/test/test_urllib.py", line 54, in urlopen
    return opener.open(url)
           ^^^^^^^^^^^^^^^^
  File "/home/vstinner/python/main/Lib/urllib/request.py", line 1760, in open
    fullurl = unwrap(_to_bytes(fullurl))
                     ^^^^^^^^^^^^^^^^^^
  File "/home/vstinner/python/main/Lib/urllib/parse.py", line 1006, in _to_bytes
    raise UnicodeError("URL " + repr(url) +
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
UnicodeError: URL 'file://localhost//home/vstinner/python/main/nonasciié/tmp3e6una03' contains non-ASCII characters

cc @serhiy-storchaka

@vstinner vstinner added the type-bug An unexpected behavior, bug, or error label Jun 15, 2022
@vstinner
Copy link
Member Author

vstinner commented Jun 15, 2022

The following tests fail with non-ASCII TMPDIR:

  • test_urllib:

    • test_file_notexists()
  • test_embed:

    • test_init_pybuilddir()
  • test_compileall:

    • test_include_on_stdin()
    • test_include_on_stdin()
    • test_error()
  • test_cmd_line_script:

    • test_pep_409_verbiage()
    • test_syntaxerror_indented_caret_position()
    • test_syntaxerror_unindented_caret_position()

@vstinner vstinner changed the title test_urllib: test_file_notexists() fails if TMPDIR path is non-ASCII test_cmd_line_script and test_embed, test_compileall, test_urllib fail if TMPDIR path is non-ASCII Jun 15, 2022
@vstinner
Copy link
Member Author

I merged my PR #93909 to create the temporary directory in /tmp but with an ASCII name. Once this issue will be fixed, we can add again os_helper.FS_NONASCII suffix to the temporary directory name to detect such bug.

@vstinner
Copy link
Member Author

vstinner commented Nov 3, 2022

Sadly, I don't have the bandwidth to work on this issue, so I just close it.

@vstinner vstinner closed this as completed Nov 3, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type-bug An unexpected behavior, bug, or error
Projects
None yet
Development

No branches or pull requests

1 participant