mirror of https://github.com/python/cpython
gh-103088: Fix virtual environment activate script not working in Cygwin (GH-103470)
This commit is contained in:
parent
7f3c106503
commit
2b6e877767
|
@ -32,6 +32,9 @@ Lib/test/test_importlib/resources/data01/* noeol
|
|||
Lib/test/test_importlib/resources/namespacedata01/* noeol
|
||||
Lib/test/xmltestdata/* noeol
|
||||
|
||||
# Shell scripts should have LF even on Windows because of Cygwin
|
||||
Lib/venv/scripts/common/activate text eol=lf
|
||||
|
||||
# CRLF files
|
||||
[attr]dos text eol=crlf
|
||||
|
||||
|
|
|
@ -611,6 +611,21 @@ class BasicTest(BaseTest):
|
|||
out, err = check_output(cmd)
|
||||
self.assertTrue(zip_landmark.encode() in out)
|
||||
|
||||
def test_activate_shell_script_has_no_dos_newlines(self):
|
||||
"""
|
||||
Test that the `activate` shell script contains no CR LF.
|
||||
This is relevant for Cygwin, as the Windows build might have
|
||||
converted line endings accidentally.
|
||||
"""
|
||||
venv_dir = pathlib.Path(self.env_dir)
|
||||
rmtree(venv_dir)
|
||||
[[scripts_dir], *_] = self.ENV_SUBDIRS
|
||||
script_path = venv_dir / scripts_dir / "activate"
|
||||
venv.create(venv_dir)
|
||||
with open(script_path, 'rb') as script:
|
||||
for line in script:
|
||||
self.assertFalse(line.endswith(b'\r\n'), line)
|
||||
|
||||
@requireVenvCreate
|
||||
class EnsurePipTest(BaseTest):
|
||||
"""Test venv module installation of pip."""
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
Fix virtual environment :file:`activate` script having incorrect line endings for Cygwin.
|
Loading…
Reference in New Issue