Skip to content

UnicodeDecodeError in test_csh with tcsh 6.24.14 #2814

@hroncok

Description

@hroncok

Issue

In Fedora, tcsh was updated from 6.24.13 to 6.24.14. Since then, test_csh fails with UnicodeDecodeError trying to decode the output of subprocess.

Environment

Provide at least:

  • OS: Fedora 42
  • pip list of the host python where virtualenv is installed is not relevant

Reproducer

To reproduce on Fedora, you can do:

$ podman run --rm -ti /usr/bin/bash  # or docker
[root@d37c27191109 /]# dnf install git-core tox tcsh --setopt=install_weak_deps=False
...
[root@d37c27191109 /]# git clone https://github.com/pypa/virtualenv.git --depth=1
...
[root@d37c27191109 /]# cd virtualenv
[root@d37c27191109 virtualenv]# tox -e 3.13 -- -k test_csh
...
.pkg: _optional_hooks> python /usr/lib/python3.13/site-packages/pyproject_api/_backend.py True hatchling.build
.pkg: get_requires_for_build_wheel> python /usr/lib/python3.13/site-packages/pyproject_api/_backend.py True hatchling.build
.pkg: get_requires_for_build_editable> python /usr/lib/python3.13/site-packages/pyproject_api/_backend.py True hatchling.build
.pkg: build_wheel> python /usr/lib/python3.13/site-packages/pyproject_api/_backend.py True hatchling.build
3.13: install_package> python -I -m pip install --force-reinstall --no-deps /virtualenv/.tox/.tmp/package/3/virtualenv-0.1.dev1+g9098223-py3-none-any.whl
3.13: commands[0]> coverage erase
3.13: commands[1]> coverage run -m pytest -k test_csh
============================= test session starts ==============================
platform linux -- Python 3.13.0, pytest-8.3.4, pluggy-1.5.0
cachedir: .tox/3.13/.pytest_cache
Using --randomly-seed=2041388225
rootdir: /virtualenv
configfile: pyproject.toml
plugins: time-machine-2.16.0, env-1.1.5, timeout-2.3.1, randomly-3.16.0, flaky-3.8.1, mock-3.14.0
timeout: 600.0s
timeout method: signal
timeout func_only: False
collected 338 items / 336 deselected / 2 selected                              

tests/unit/activation/test_csh.py FF                                     [100%]

=================================== FAILURES ===================================
____________________________ test_csh[with_prompt] _____________________________

activation_tester_class = <class 'conftest.ActivationTester'>
activation_tester = <function activation_tester.<locals>._tester at 0x7f4f353bc400>

    def test_csh(activation_tester_class, activation_tester):
        class Csh(activation_tester_class):
            def __init__(self, session) -> None:
                super().__init__(CShellActivator, session, "csh", "activate.csh", "csh")
    
            def print_prompt(self):
                # Original csh doesn't print the last newline,
                # breaking the test; hence the trailing echo.
                return "echo 'source \"$VIRTUAL_ENV/bin/activate.csh\"; echo $prompt' | csh -i ; echo"
    
>       activation_tester(Csh)

Csh        = <class 'test_csh.test_csh.<locals>.Csh'>
activation_tester = <function activation_tester.<locals>._tester at 0x7f4f353bc400>
activation_tester_class = <class 'conftest.ActivationTester'>

/virtualenv/tests/unit/activation/test_csh.py:16: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
/virtualenv/tests/unit/activation/conftest.py:252: in _tester
    return tester(monkeypatch, tmp_path)
        activation_python = <virtualenv.run.session.Session object at 0x7f4f35516cf0>
        is_inside_ci = False
        monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7f4f35584e90>
        tester     = Csh(
version='tcsh 6.24.14 (Astron) 2024-11-26 (x86_64-unknown-linux) options wide,nls,dl,al,kan,sm,rh,color,filec\n',..., version='3.13.0 (main, Oct  8 2024, 00:00:00) [GCC 14.2.1 20240912 (Red Hat 14.2.1-4)]', encoding_fs_io=utf-8-utf-8))
        tester_class = <class 'test_csh.test_csh.<locals>.Csh'>
        tmp_path   = PosixPath('/tmp/pytest-of-root/pytest-1/test_csh_with_prompt_0')
        version    = 'tcsh 6.24.14 (Astron) 2024-11-26 (x86_64-unknown-linux) options wide,nls,dl,al,kan,sm,rh,color,filec\n'
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = Csh(
version='tcsh 6.24.14 (Astron) 2024-11-26 (x86_64-unknown-linux) options wide,nls,dl,al,kan,sm,rh,color,filec\n',..., version='3.13.0 (main, Oct  8 2024, 00:00:00) [GCC 14.2.1 20240912 (Red Hat 14.2.1-4)]', encoding_fs_io=utf-8-utf-8))
monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7f4f35584e90>
tmp_path = PosixPath('/tmp/pytest-of-root/pytest-1/test_csh_with_prompt_0')

    def __call__(self, monkeypatch, tmp_path):
        activate_script = self._creator.bin_dir / self.activate_script
    
        # check line endings are correct type
        script_content = activate_script.read_bytes()
        for line in script_content.split(b"\n")[:-1]:
            if self.unix_line_ending:
                assert line == b"" or line[-1] != 13, script_content.decode("utf-8")
            else:
                assert line[-1] == 13, script_content.decode("utf-8")
    
        test_script = self._generate_test_script(activate_script, tmp_path)
        monkeypatch.chdir(tmp_path)
    
        monkeypatch.delenv("VIRTUAL_ENV", raising=False)
        invoke, env = [*self._invoke_script, str(test_script)], self.env(tmp_path)
    
        try:
            process = Popen(invoke, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, env=env)
            raw_, _ = process.communicate()
>           raw = raw_.decode()
E           UnicodeDecodeError: 'utf-8' codec can't decode byte 0x92 in position 110: invalid start byte

_          = None
activate_script = PosixPath('/tmp/pytest-of-root/pytest-1/activation-tester-env0/\'";&&e-$ èрт🚒♞中片-j/bin/activate.csh')
env        = {'COLUMNS': '80', 'COVERAGE_FILE': '/virtualenv/.tox/.coverage.3.13', 'COVERAGE_PROCESS_START': '/virtualenv/pyproject.toml', 'COVERAGE_RUN': 'true', ...}
invoke     = ['csh', '/tmp/pytest-of-root/pytest-1/test_csh_with_prompt_0/script.csh']
line       = b'rehash'
monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7f4f35584e90>
process    = <Popen: returncode: 1 args: ['csh', '/tmp/pytest-of-root/pytest-1/test_csh_w...>
raw_       = b'/virtualenv/.tox/3.13/bin/python\nNone\nNone\n/tmp/pytest-of-root/pytest-1/activation-tester-env0/\'";&&e-$ \xc3\xa8\xd1\x80\xd1\x82\x92\xe2\x99\x9e\xe4\xb8\xad\xe7\x89\x87-j/bin/activate.csh: No such file or directory.\n'
script_content = b'# This file must be used with "source bin/activate.csh" *from csh*.\n# You cannot run it directly.\n# Created by Dav...ompt:q"\n        endif\n    endif\nendif\n\nunset env_name\nunset do_prompt\n\nalias pydoc python -m pydoc\n\nrehash\n'
self       = Csh(
version='tcsh 6.24.14 (Astron) 2024-11-26 (x86_64-unknown-linux) options wide,nls,dl,al,kan,sm,rh,color,filec\n',..., version='3.13.0 (main, Oct  8 2024, 00:00:00) [GCC 14.2.1 20240912 (Red Hat 14.2.1-4)]', encoding_fs_io=utf-8-utf-8))
test_script = PosixPath('/tmp/pytest-of-root/pytest-1/test_csh_with_prompt_0/script.csh')
tmp_path   = PosixPath('/tmp/pytest-of-root/pytest-1/test_csh_with_prompt_0')

/virtualenv/tests/unit/activation/conftest.py:80: UnicodeDecodeError
---------------------------- Captured stdout setup -----------------------------
571 setup logging to DEBUG [DEBUG report:36]
574 find interpreter for spec PythonSpec(path=/virtualenv/.tox/3.13/bin/python) [INFO builtin:74]
575 proposed PythonInfo(spec=CPython3.13.0.final.0-64, system=/usr/bin/python3.13, exe=/virtualenv/.tox/3.13/bin/python, platform=linux, version='3.13.0 (main, Oct  8 2024, 00:00:00) [GCC 14.2.1 20240912 (Red Hat 14.2.1-4)]', encoding_fs_io=utf-8-utf-8) [INFO builtin:81]
575 accepted PythonInfo(spec=CPython3.13.0.final.0-64, system=/usr/bin/python3.13, exe=/virtualenv/.tox/3.13/bin/python, platform=linux, version='3.13.0 (main, Oct  8 2024, 00:00:00) [GCC 14.2.1 20240912 (Red Hat 14.2.1-4)]', encoding_fs_io=utf-8-utf-8) [DEBUG builtin:83]
638 create virtual environment via CPython3Posix(dest=/tmp/pytest-of-root/pytest-1/activation-tester-env0/'";&&e-$ èрт🚒♞中片-j, clear=False, no_vcs_ignore=False, global=False) [INFO session:52]
639 create folder /tmp/pytest-of-root/pytest-1/activation-tester-env0/'";&&e-$ èрт🚒♞中片-j/bin [DEBUG _sync:14]
639 create folder /tmp/pytest-of-root/pytest-1/activation-tester-env0/'";&&e-$ èрт🚒♞中片-j/lib/python3.13/site-packages [DEBUG _sync:14]
639 create folder /tmp/pytest-of-root/pytest-1/activation-tester-env0/'";&&e-$ èрт🚒♞中片-j/lib64/python3.13/site-packages [DEBUG _sync:14]
640 write /tmp/pytest-of-root/pytest-1/activation-tester-env0/'";&&e-$ èрт🚒♞中片-j/pyvenv.cfg [DEBUG pyenv_cfg:35]
640 	home = /usr/bin [DEBUG pyenv_cfg:40]
640 	implementation = CPython [DEBUG pyenv_cfg:40]
640 	version_info = 3.13.0.final.0 [DEBUG pyenv_cfg:40]
640 	virtualenv = 0.1.dev1+g9098223 [DEBUG pyenv_cfg:40]
640 	include-system-site-packages = false [DEBUG pyenv_cfg:40]
640 	base-prefix = /usr [DEBUG pyenv_cfg:40]
640 	base-exec-prefix = /usr [DEBUG pyenv_cfg:40]
640 	base-executable = /usr/bin/python3.13 [DEBUG pyenv_cfg:40]
640 symlink /usr/bin/python3.13 to /tmp/pytest-of-root/pytest-1/activation-tester-env0/'";&&e-$ èрт🚒♞中片-j/bin/python [DEBUG _sync:34]
641 create virtualenv import hook file /tmp/pytest-of-root/pytest-1/activation-tester-env0/'";&&e-$ èрт🚒♞中片-j/lib/python3.13/site-packages/_virtualenv.pth [DEBUG api:93]
641 create /tmp/pytest-of-root/pytest-1/activation-tester-env0/'";&&e-$ èрт🚒♞中片-j/lib/python3.13/site-packages/_virtualenv.py [DEBUG api:96]
642 ============================== target debug ============================== [DEBUG session:54]
642 debug via '/tmp/pytest-of-root/pytest-1/activation-tester-env0/'"'"'";&&e-$ èрт🚒♞中片-j/bin/python' /virtualenv/.tox/3.13/lib/python3.13/site-packages/virtualenv/create/debug.py [DEBUG creator:215]
642 {
  "sys": {
    "executable": "/tmp/pytest-of-root/pytest-1/activation-tester-env0/'\";&&e-$ \u00e8\u0440\u0442\ud83d\ude92\u265e\u4e2d\u7247-j/bin/python",
    "_base_executable": "/usr/bin/python3.13",
    "prefix": "/tmp/pytest-of-root/pytest-1/activation-tester-env0/'\";&&e-$ \u00e8\u0440\u0442\ud83d\ude92\u265e\u4e2d\u7247-j",
    "base_prefix": "/usr",
    "real_prefix": null,
    "exec_prefix": "/tmp/pytest-of-root/pytest-1/activation-tester-env0/'\";&&e-$ \u00e8\u0440\u0442\ud83d\ude92\u265e\u4e2d\u7247-j",
    "base_exec_prefix": "/usr",
    "path": [
      "/usr/lib64/python313.zip",
      "/usr/lib64/python3.13",
      "/usr/lib64/python3.13/lib-dynload",
      "/tmp/pytest-of-root/pytest-1/activation-tester-env0/'\";&&e-$ \u00e8\u0440\u0442\ud83d\ude92\u265e\u4e2d\u7247-j/lib64/python3.13/site-packages",
      "/tmp/pytest-of-root/pytest-1/activation-tester-env0/'\";&&e-$ \u00e8\u0440\u0442\ud83d\ude92\u265e\u4e2d\u7247-j/lib/python3.13/site-packages"
    ],
    "meta_path": [
      "<class '_virtualenv._Finder'>",
      "<class '_frozen_importlib.BuiltinImporter'>",
      "<class '_frozen_importlib.FrozenImporter'>",
      "<class '_frozen_importlib_external.PathFinder'>"
    ],
    "fs_encoding": "utf-8",
    "io_encoding": "utf-8"
  },
  "version": "3.13.0 (main, Oct  8 2024, 00:00:00) [GCC 14.2.1 20240912 (Red Hat 14.2.1-4)]",
  "makefile_filename": "/usr/lib64/python3.13/config-3.13-x86_64-linux-gnu/Makefile",
  "os": "<module 'os' (frozen)>",
  "site": "<module 'site' (frozen)>",
  "datetime": "<module 'datetime' from '/usr/lib64/python3.13/datetime.py'>",
  "math": "<module 'math' from '/usr/lib64/python3.13/lib-dynload/math.cpython-313-x86_64-linux-gnu.so'>",
  "json": "<module 'json' from '/usr/lib64/python3.13/json/__init__.py'>"
} [DEBUG session:55]
678 add activators for Bash, CShell, Fish, Nushell, PowerShell, Python [INFO session:65]
683 write /tmp/pytest-of-root/pytest-1/activation-tester-env0/'";&&e-$ èрт🚒♞中片-j/pyvenv.cfg [DEBUG pyenv_cfg:35]
683 	home = /usr/bin [DEBUG pyenv_cfg:40]
683 	implementation = CPython [DEBUG pyenv_cfg:40]
683 	version_info = 3.13.0.final.0 [DEBUG pyenv_cfg:40]
683 	virtualenv = 0.1.dev1+g9098223 [DEBUG pyenv_cfg:40]
683 	include-system-site-packages = false [DEBUG pyenv_cfg:40]
683 	base-prefix = /usr [DEBUG pyenv_cfg:40]
683 	base-exec-prefix = /usr [DEBUG pyenv_cfg:40]
684 	base-executable = /usr/bin/python3.13 [DEBUG pyenv_cfg:40]
684 	prompt = '";&&e-$ èрт🚒♞中片-j [DEBUG pyenv_cfg:40]
685 Attempting to acquire lock 139978174777392 on /tmp/pytest-of-root/pytest-1/session-app-data0/py_info/1/.lock [DEBUG _api:331]
685 Lock 139978174777392 acquired on /tmp/pytest-of-root/pytest-1/session-app-data0/py_info/1/.lock [DEBUG _api:334]
685 Attempting to release lock 139978174777392 on /tmp/pytest-of-root/pytest-1/session-app-data0/py_info/1/.lock [DEBUG _api:364]
685 Lock 139978174777392 released on /tmp/pytest-of-root/pytest-1/session-app-data0/py_info/1/.lock [DEBUG _api:367]
--------------------------- Captured stdout teardown ---------------------------
1132 Attempting to acquire lock 139978173838864 on /tmp/pytest-of-root/pytest-1/session-app-data0/py_info/1/.lock [DEBUG _api:331]
1132 Lock 139978173838864 acquired on /tmp/pytest-of-root/pytest-1/session-app-data0/py_info/1/.lock [DEBUG _api:334]
1132 Attempting to release lock 139978173838864 on /tmp/pytest-of-root/pytest-1/session-app-data0/py_info/1/.lock [DEBUG _api:364]
1133 Lock 139978173838864 released on /tmp/pytest-of-root/pytest-1/session-app-data0/py_info/1/.lock [DEBUG _api:367]
---------------------------- Captured log teardown -----------------------------
DEBUG    filelock:_api.py:331 Attempting to acquire lock 139978173838864 on /tmp/pytest-of-root/pytest-1/session-app-data0/py_info/1/.lock
DEBUG    filelock:_api.py:334 Lock 139978173838864 acquired on /tmp/pytest-of-root/pytest-1/session-app-data0/py_info/1/.lock
DEBUG    filelock:_api.py:364 Attempting to release lock 139978173838864 on /tmp/pytest-of-root/pytest-1/session-app-data0/py_info/1/.lock
DEBUG    filelock:_api.py:367 Lock 139978173838864 released on /tmp/pytest-of-root/pytest-1/session-app-data0/py_info/1/.lock
_____________________________ test_csh[no_prompt] ______________________________

activation_tester_class = <class 'conftest.ActivationTester'>
activation_tester = <function activation_tester.<locals>._tester at 0x7f4f353be7a0>

    def test_csh(activation_tester_class, activation_tester):
        class Csh(activation_tester_class):
            def __init__(self, session) -> None:
                super().__init__(CShellActivator, session, "csh", "activate.csh", "csh")
    
            def print_prompt(self):
                # Original csh doesn't print the last newline,
                # breaking the test; hence the trailing echo.
                return "echo 'source \"$VIRTUAL_ENV/bin/activate.csh\"; echo $prompt' | csh -i ; echo"
    
>       activation_tester(Csh)

Csh        = <class 'test_csh.test_csh.<locals>.Csh'>
activation_tester = <function activation_tester.<locals>._tester at 0x7f4f353be7a0>
activation_tester_class = <class 'conftest.ActivationTester'>

/virtualenv/tests/unit/activation/test_csh.py:16: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
/virtualenv/tests/unit/activation/conftest.py:252: in _tester
    return tester(monkeypatch, tmp_path)
        activation_python = <virtualenv.run.session.Session object at 0x7f4f353f1450>
        is_inside_ci = False
        monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7f4f35585cd0>
        tester     = Csh(
version='tcsh 6.24.14 (Astron) 2024-11-26 (x86_64-unknown-linux) options wide,nls,dl,al,kan,sm,rh,color,filec\n',..., version='3.13.0 (main, Oct  8 2024, 00:00:00) [GCC 14.2.1 20240912 (Red Hat 14.2.1-4)]', encoding_fs_io=utf-8-utf-8))
        tester_class = <class 'test_csh.test_csh.<locals>.Csh'>
        tmp_path   = PosixPath('/tmp/pytest-of-root/pytest-1/test_csh_no_prompt_0')
        version    = 'tcsh 6.24.14 (Astron) 2024-11-26 (x86_64-unknown-linux) options wide,nls,dl,al,kan,sm,rh,color,filec\n'
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = Csh(
version='tcsh 6.24.14 (Astron) 2024-11-26 (x86_64-unknown-linux) options wide,nls,dl,al,kan,sm,rh,color,filec\n',..., version='3.13.0 (main, Oct  8 2024, 00:00:00) [GCC 14.2.1 20240912 (Red Hat 14.2.1-4)]', encoding_fs_io=utf-8-utf-8))
monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7f4f35585cd0>
tmp_path = PosixPath('/tmp/pytest-of-root/pytest-1/test_csh_no_prompt_0')

    def __call__(self, monkeypatch, tmp_path):
        activate_script = self._creator.bin_dir / self.activate_script
    
        # check line endings are correct type
        script_content = activate_script.read_bytes()
        for line in script_content.split(b"\n")[:-1]:
            if self.unix_line_ending:
                assert line == b"" or line[-1] != 13, script_content.decode("utf-8")
            else:
                assert line[-1] == 13, script_content.decode("utf-8")
    
        test_script = self._generate_test_script(activate_script, tmp_path)
        monkeypatch.chdir(tmp_path)
    
        monkeypatch.delenv("VIRTUAL_ENV", raising=False)
        invoke, env = [*self._invoke_script, str(test_script)], self.env(tmp_path)
    
        try:
            process = Popen(invoke, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, env=env)
            raw_, _ = process.communicate()
>           raw = raw_.decode()
E           UnicodeDecodeError: 'utf-8' codec can't decode byte 0x92 in position 110: invalid start byte

_          = None
activate_script = PosixPath('/tmp/pytest-of-root/pytest-1/activation-tester-env1/\'";&&e-$ èрт🚒♞中片-j/bin/activate.csh')
env        = {'COLUMNS': '80', 'COVERAGE_FILE': '/virtualenv/.tox/.coverage.3.13', 'COVERAGE_PROCESS_START': '/virtualenv/pyproject.toml', 'COVERAGE_RUN': 'true', ...}
invoke     = ['csh', '/tmp/pytest-of-root/pytest-1/test_csh_no_prompt_0/script.csh']
line       = b'rehash'
monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7f4f35585cd0>
process    = <Popen: returncode: 1 args: ['csh', '/tmp/pytest-of-root/pytest-1/test_csh_n...>
raw_       = b'/virtualenv/.tox/3.13/bin/python\nNone\nNone\n/tmp/pytest-of-root/pytest-1/activation-tester-env1/\'";&&e-$ \xc3\xa8\xd1\x80\xd1\x82\x92\xe2\x99\x9e\xe4\xb8\xad\xe7\x89\x87-j/bin/activate.csh: No such file or directory.\n'
script_content = b'# This file must be used with "source bin/activate.csh" *from csh*.\n# You cannot run it directly.\n# Created by Dav...ompt:q"\n        endif\n    endif\nendif\n\nunset env_name\nunset do_prompt\n\nalias pydoc python -m pydoc\n\nrehash\n'
self       = Csh(
version='tcsh 6.24.14 (Astron) 2024-11-26 (x86_64-unknown-linux) options wide,nls,dl,al,kan,sm,rh,color,filec\n',..., version='3.13.0 (main, Oct  8 2024, 00:00:00) [GCC 14.2.1 20240912 (Red Hat 14.2.1-4)]', encoding_fs_io=utf-8-utf-8))
test_script = PosixPath('/tmp/pytest-of-root/pytest-1/test_csh_no_prompt_0/script.csh')
tmp_path   = PosixPath('/tmp/pytest-of-root/pytest-1/test_csh_no_prompt_0')

/virtualenv/tests/unit/activation/conftest.py:80: UnicodeDecodeError
---------------------------- Captured stdout setup -----------------------------
1135 setup logging to DEBUG [DEBUG report:36]
1137 find interpreter for spec PythonSpec(path=/virtualenv/.tox/3.13/bin/python) [INFO builtin:74]
1137 Attempting to acquire lock 139978173841104 on /tmp/pytest-of-root/pytest-1/session-app-data0/py_info/1/00999fec0e5d6ce0d1ec9e2671c6dcb65452e3d834176acb3bc213b92dc5544e.lock [DEBUG _api:331]
1137 Lock 139978173841104 acquired on /tmp/pytest-of-root/pytest-1/session-app-data0/py_info/1/00999fec0e5d6ce0d1ec9e2671c6dcb65452e3d834176acb3bc213b92dc5544e.lock [DEBUG _api:334]
1138 get interpreter info via cmd: /virtualenv/.tox/3.13/bin/python /virtualenv/.tox/3.13/lib/python3.13/site-packages/virtualenv/discovery/py_info.py kdfoJBDBdYSurbg4hkYHui7Z6VST5m7J oYjgfTtjhndLLVUK210useaE0rJTa6wu [DEBUG cached_py_info:113]
1242 wrote python info of %s at (PosixPath('/virtualenv/.tox/3.13/bin/python'), PosixPath('/tmp/pytest-of-root/pytest-1/session-app-data0/py_info/1/00999fec0e5d6ce0d1ec9e2671c6dcb65452e3d834176acb3bc213b92dc5544e.json')) [DEBUG via_disk_folder:153]
1242 Attempting to release lock 139978173841104 on /tmp/pytest-of-root/pytest-1/session-app-data0/py_info/1/00999fec0e5d6ce0d1ec9e2671c6dcb65452e3d834176acb3bc213b92dc5544e.lock [DEBUG _api:364]
1242 Lock 139978173841104 released on /tmp/pytest-of-root/pytest-1/session-app-data0/py_info/1/00999fec0e5d6ce0d1ec9e2671c6dcb65452e3d834176acb3bc213b92dc5544e.lock [DEBUG _api:367]
1243 Attempting to acquire lock 139978174128832 on /tmp/pytest-of-root/pytest-1/session-app-data0/py_info/1/8544b3b66cebbf8d4bc96652e6245fc8bdfdf722f63bdaa4790110c167815f0e.lock [DEBUG _api:331]
1243 Lock 139978174128832 acquired on /tmp/pytest-of-root/pytest-1/session-app-data0/py_info/1/8544b3b66cebbf8d4bc96652e6245fc8bdfdf722f63bdaa4790110c167815f0e.lock [DEBUG _api:334]
1244 get interpreter info via cmd: /usr/bin/python3.13 /virtualenv/.tox/3.13/lib/python3.13/site-packages/virtualenv/discovery/py_info.py vlmafhdLZg8LvBEalhXgPE00fUw5V0Au P0osdBZ5TuvMoZ6jQGrOrNmAYmH5bivp [DEBUG cached_py_info:113]
1280 wrote python info of %s at (PosixPath('/usr/bin/python3.13'), PosixPath('/tmp/pytest-of-root/pytest-1/session-app-data0/py_info/1/8544b3b66cebbf8d4bc96652e6245fc8bdfdf722f63bdaa4790110c167815f0e.json')) [DEBUG via_disk_folder:153]
1280 Attempting to release lock 139978174128832 on /tmp/pytest-of-root/pytest-1/session-app-data0/py_info/1/8544b3b66cebbf8d4bc96652e6245fc8bdfdf722f63bdaa4790110c167815f0e.lock [DEBUG _api:364]
1280 Lock 139978174128832 released on /tmp/pytest-of-root/pytest-1/session-app-data0/py_info/1/8544b3b66cebbf8d4bc96652e6245fc8bdfdf722f63bdaa4790110c167815f0e.lock [DEBUG _api:367]
1280 proposed PythonInfo(spec=CPython3.13.0.final.0-64, system=/usr/bin/python3.13, exe=/virtualenv/.tox/3.13/bin/python, platform=linux, version='3.13.0 (main, Oct  8 2024, 00:00:00) [GCC 14.2.1 20240912 (Red Hat 14.2.1-4)]', encoding_fs_io=utf-8-utf-8) [INFO builtin:81]
1280 accepted PythonInfo(spec=CPython3.13.0.final.0-64, system=/usr/bin/python3.13, exe=/virtualenv/.tox/3.13/bin/python, platform=linux, version='3.13.0 (main, Oct  8 2024, 00:00:00) [GCC 14.2.1 20240912 (Red Hat 14.2.1-4)]', encoding_fs_io=utf-8-utf-8) [DEBUG builtin:83]
1282 create virtual environment via CPython3Posix(dest=/tmp/pytest-of-root/pytest-1/activation-tester-env1/'";&&e-$ èрт🚒♞中片-j, clear=False, no_vcs_ignore=False, global=False) [INFO session:52]
1282 create folder /tmp/pytest-of-root/pytest-1/activation-tester-env1/'";&&e-$ èрт🚒♞中片-j/bin [DEBUG _sync:14]
1283 create folder /tmp/pytest-of-root/pytest-1/activation-tester-env1/'";&&e-$ èрт🚒♞中片-j/lib/python3.13/site-packages [DEBUG _sync:14]
1283 create folder /tmp/pytest-of-root/pytest-1/activation-tester-env1/'";&&e-$ èрт🚒♞中片-j/lib64/python3.13/site-packages [DEBUG _sync:14]
1283 write /tmp/pytest-of-root/pytest-1/activation-tester-env1/'";&&e-$ èрт🚒♞中片-j/pyvenv.cfg [DEBUG pyenv_cfg:35]
1283 	home = /usr/bin [DEBUG pyenv_cfg:40]
1283 	implementation = CPython [DEBUG pyenv_cfg:40]
1284 	version_info = 3.13.0.final.0 [DEBUG pyenv_cfg:40]
1284 	virtualenv = 0.1.dev1+g9098223 [DEBUG pyenv_cfg:40]
1284 	include-system-site-packages = false [DEBUG pyenv_cfg:40]
1284 	base-prefix = /usr [DEBUG pyenv_cfg:40]
1284 	base-exec-prefix = /usr [DEBUG pyenv_cfg:40]
1284 	base-executable = /usr/bin/python3.13 [DEBUG pyenv_cfg:40]
1284 symlink /usr/bin/python3.13 to /tmp/pytest-of-root/pytest-1/activation-tester-env1/'";&&e-$ èрт🚒♞中片-j/bin/python [DEBUG _sync:34]
1285 create virtualenv import hook file /tmp/pytest-of-root/pytest-1/activation-tester-env1/'";&&e-$ èрт🚒♞中片-j/lib/python3.13/site-packages/_virtualenv.pth [DEBUG api:93]
1285 create /tmp/pytest-of-root/pytest-1/activation-tester-env1/'";&&e-$ èрт🚒♞中片-j/lib/python3.13/site-packages/_virtualenv.py [DEBUG api:96]
1285 ============================== target debug ============================== [DEBUG session:54]
1285 debug via '/tmp/pytest-of-root/pytest-1/activation-tester-env1/'"'"'";&&e-$ èрт🚒♞中片-j/bin/python' /virtualenv/.tox/3.13/lib/python3.13/site-packages/virtualenv/create/debug.py [DEBUG creator:215]
1285 {
  "sys": {
    "executable": "/tmp/pytest-of-root/pytest-1/activation-tester-env1/'\";&&e-$ \u00e8\u0440\u0442\ud83d\ude92\u265e\u4e2d\u7247-j/bin/python",
    "_base_executable": "/usr/bin/python3.13",
    "prefix": "/tmp/pytest-of-root/pytest-1/activation-tester-env1/'\";&&e-$ \u00e8\u0440\u0442\ud83d\ude92\u265e\u4e2d\u7247-j",
    "base_prefix": "/usr",
    "real_prefix": null,
    "exec_prefix": "/tmp/pytest-of-root/pytest-1/activation-tester-env1/'\";&&e-$ \u00e8\u0440\u0442\ud83d\ude92\u265e\u4e2d\u7247-j",
    "base_exec_prefix": "/usr",
    "path": [
      "/usr/lib64/python313.zip",
      "/usr/lib64/python3.13",
      "/usr/lib64/python3.13/lib-dynload",
      "/tmp/pytest-of-root/pytest-1/activation-tester-env1/'\";&&e-$ \u00e8\u0440\u0442\ud83d\ude92\u265e\u4e2d\u7247-j/lib64/python3.13/site-packages",
      "/tmp/pytest-of-root/pytest-1/activation-tester-env1/'\";&&e-$ \u00e8\u0440\u0442\ud83d\ude92\u265e\u4e2d\u7247-j/lib/python3.13/site-packages"
    ],
    "meta_path": [
      "<class '_virtualenv._Finder'>",
      "<class '_frozen_importlib.BuiltinImporter'>",
      "<class '_frozen_importlib.FrozenImporter'>",
      "<class '_frozen_importlib_external.PathFinder'>"
    ],
    "fs_encoding": "utf-8",
    "io_encoding": "utf-8"
  },
  "version": "3.13.0 (main, Oct  8 2024, 00:00:00) [GCC 14.2.1 20240912 (Red Hat 14.2.1-4)]",
  "makefile_filename": "/usr/lib64/python3.13/config-3.13-x86_64-linux-gnu/Makefile",
  "os": "<module 'os' (frozen)>",
  "site": "<module 'site' (frozen)>",
  "datetime": "<module 'datetime' from '/usr/lib64/python3.13/datetime.py'>",
  "math": "<module 'math' from '/usr/lib64/python3.13/lib-dynload/math.cpython-313-x86_64-linux-gnu.so'>",
  "json": "<module 'json' from '/usr/lib64/python3.13/json/__init__.py'>"
} [DEBUG session:55]
1310 add activators for Bash, CShell, Fish, Nushell, PowerShell, Python [INFO session:65]
1312 write /tmp/pytest-of-root/pytest-1/activation-tester-env1/'";&&e-$ èрт🚒♞中片-j/pyvenv.cfg [DEBUG pyenv_cfg:35]
1312 	home = /usr/bin [DEBUG pyenv_cfg:40]
1312 	implementation = CPython [DEBUG pyenv_cfg:40]
1312 	version_info = 3.13.0.final.0 [DEBUG pyenv_cfg:40]
1312 	virtualenv = 0.1.dev1+g9098223 [DEBUG pyenv_cfg:40]
1312 	include-system-site-packages = false [DEBUG pyenv_cfg:40]
1312 	base-prefix = /usr [DEBUG pyenv_cfg:40]
1312 	base-exec-prefix = /usr [DEBUG pyenv_cfg:40]
1312 	base-executable = /usr/bin/python3.13 [DEBUG pyenv_cfg:40]
1313 Attempting to acquire lock 139978174128528 on /tmp/pytest-of-root/pytest-1/session-app-data0/py_info/1/.lock [DEBUG _api:331]
1314 Lock 139978174128528 acquired on /tmp/pytest-of-root/pytest-1/session-app-data0/py_info/1/.lock [DEBUG _api:334]
1314 Attempting to acquire lock 139978172193040 on /tmp/pytest-of-root/pytest-1/session-app-data0/py_info/1/8544b3b66cebbf8d4bc96652e6245fc8bdfdf722f63bdaa4790110c167815f0e.lock [DEBUG _api:331]
1314 Lock 139978172193040 acquired on /tmp/pytest-of-root/pytest-1/session-app-data0/py_info/1/8544b3b66cebbf8d4bc96652e6245fc8bdfdf722f63bdaa4790110c167815f0e.lock [DEBUG _api:334]
1314 Attempting to release lock 139978172193040 on /tmp/pytest-of-root/pytest-1/session-app-data0/py_info/1/8544b3b66cebbf8d4bc96652e6245fc8bdfdf722f63bdaa4790110c167815f0e.lock [DEBUG _api:364]
1314 Lock 139978172193040 released on /tmp/pytest-of-root/pytest-1/session-app-data0/py_info/1/8544b3b66cebbf8d4bc96652e6245fc8bdfdf722f63bdaa4790110c167815f0e.lock [DEBUG _api:367]
1314 Attempting to acquire lock 139978172584272 on /tmp/pytest-of-root/pytest-1/session-app-data0/py_info/1/00999fec0e5d6ce0d1ec9e2671c6dcb65452e3d834176acb3bc213b92dc5544e.lock [DEBUG _api:331]
1314 Lock 139978172584272 acquired on /tmp/pytest-of-root/pytest-1/session-app-data0/py_info/1/00999fec0e5d6ce0d1ec9e2671c6dcb65452e3d834176acb3bc213b92dc5544e.lock [DEBUG _api:334]
1314 Attempting to release lock 139978172584272 on /tmp/pytest-of-root/pytest-1/session-app-data0/py_info/1/00999fec0e5d6ce0d1ec9e2671c6dcb65452e3d834176acb3bc213b92dc5544e.lock [DEBUG _api:364]
1315 Lock 139978172584272 released on /tmp/pytest-of-root/pytest-1/session-app-data0/py_info/1/00999fec0e5d6ce0d1ec9e2671c6dcb65452e3d834176acb3bc213b92dc5544e.lock [DEBUG _api:367]
1315 Attempting to release lock 139978174128528 on /tmp/pytest-of-root/pytest-1/session-app-data0/py_info/1/.lock [DEBUG _api:364]
1315 Lock 139978174128528 released on /tmp/pytest-of-root/pytest-1/session-app-data0/py_info/1/.lock [DEBUG _api:367]
--------------------------- Captured stdout teardown ---------------------------
1688 Attempting to acquire lock 139978172584544 on /tmp/pytest-of-root/pytest-1/session-app-data0/py_info/1/.lock [DEBUG _api:331]
1688 Lock 139978172584544 acquired on /tmp/pytest-of-root/pytest-1/session-app-data0/py_info/1/.lock [DEBUG _api:334]
1688 Attempting to release lock 139978172584544 on /tmp/pytest-of-root/pytest-1/session-app-data0/py_info/1/.lock [DEBUG _api:364]
1689 Lock 139978172584544 released on /tmp/pytest-of-root/pytest-1/session-app-data0/py_info/1/.lock [DEBUG _api:367]
---------------------------- Captured log teardown -----------------------------
DEBUG    filelock:_api.py:331 Attempting to acquire lock 139978172584544 on /tmp/pytest-of-root/pytest-1/session-app-data0/py_info/1/.lock
DEBUG    filelock:_api.py:334 Lock 139978172584544 acquired on /tmp/pytest-of-root/pytest-1/session-app-data0/py_info/1/.lock
DEBUG    filelock:_api.py:364 Attempting to release lock 139978172584544 on /tmp/pytest-of-root/pytest-1/session-app-data0/py_info/1/.lock
DEBUG    filelock:_api.py:367 Lock 139978172584544 released on /tmp/pytest-of-root/pytest-1/session-app-data0/py_info/1/.lock
=============================== warnings summary ===============================
tests/integration/test_cachedir_tag.py:20
  /virtualenv/tests/integration/test_cachedir_tag.py:20: EncodingWarning: 'encoding' argument not specified.
    return TAR and "--exclude-caches" in check_output(args=[TAR, "--help"], text=True)

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
FAILED tests/unit/activation/test_csh.py::test_csh[with_prompt] - UnicodeDecodeError: 'utf-8' codec can't decode byte 0x92 in position 110: i...
FAILED tests/unit/activation/test_csh.py::test_csh[no_prompt] - UnicodeDecodeError: 'utf-8' codec can't decode byte 0x92 in position 110: i...
================= 2 failed, 336 deselected, 1 warning in 1.52s =================
3.13: exit 1 (1.92 seconds) /virtualenv> coverage run -m pytest -k test_csh pid=263
.pkg: _exit> python /usr/lib/python3.13/site-packages/pyproject_api/_backend.py True hatchling.build
  3.13: FAIL code 1 (3.24=setup[1.22]+cmd[0.10,1.92] seconds)
  evaluation failed :( (3.30 seconds)

The byte 0x92 is in: .../activation-tester-env0/\'";&&e-$ èрт byte 0x92 here ♞中片-j/bin/activate.csh: No such file or directory.

I am not entirely sure if this isn't a regression in tcsh 6.24.14, but I thought I'll share this with you.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions