Created
May 15, 2026 08:20
-
-
Save alsutton/d959aede81742c41b92871bb89016b05 to your computer and use it in GitHub Desktop.
pre-commit macOS test output - 15th May 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| ```bash | |
| $ tox --devenv venv | |
| py: install_deps> python -I -m pip install -r requirements-dev.txt | |
| .pkg: install_requires> python -I -m pip install 'setuptools>=40.8.0' | |
| .pkg: _optional_hooks> python /opt/homebrew/Cellar/tox/4.54.0/libexec/lib/python3.14/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ | |
| .pkg: get_requires_for_build_sdist> python /opt/homebrew/Cellar/tox/4.54.0/libexec/lib/python3.14/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ | |
| .pkg: get_requires_for_build_editable> python /opt/homebrew/Cellar/tox/4.54.0/libexec/lib/python3.14/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ | |
| .pkg: build_editable> python /opt/homebrew/Cellar/tox/4.54.0/libexec/lib/python3.14/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ | |
| py: install_package_deps> python -I -m pip install 'cfgv>=2.0.0' 'identify>=1.0.0' 'nodeenv>=0.11.1' 'pyyaml>=5.1' 'virtualenv>=20.10.0' | |
| py: install_package> python -I -m pip install --force-reinstall --no-deps /Users/alansutton/work/pre-commit/.tox/.tmp/package/1/pre_commit-4.6.0-0.editable-py2.py3-none-any.whl | |
| py: OK (11.63 seconds) | |
| congratulations :) (11.83 seconds) | |
| ROOT: created development environment under /Users/alansutton/work/pre-commit/venv | |
| $ . venv/bin/activate | |
| (venv) $ pytest tests | |
| ===================================================== test session starts ====================================================== | |
| platform darwin -- Python 3.14.5, pytest-9.0.3, pluggy-1.6.0 | |
| rootdir: /Users/alansutton/work/pre-commit | |
| configfile: tox.ini | |
| plugins: env-1.6.0 | |
| collected 820 items | |
| tests/clientlib_test.py ............................................................... [ 7%] | |
| tests/color_test.py ......... [ 8%] | |
| tests/commands/autoupdate_test.py ................................. [ 12%] | |
| tests/commands/clean_test.py .. [ 13%] | |
| tests/commands/gc_test.py ......... [ 14%] | |
| tests/commands/hazmat_test.py ......... [ 15%] | |
| tests/commands/hook_impl_test.py ............................................ [ 20%] | |
| tests/commands/init_templatedir_test.py ....... [ 21%] | |
| tests/commands/install_uninstall_test.py ............................................................. [ 28%] | |
| tests/commands/migrate_config_test.py ...................... [ 31%] | |
| tests/commands/run_test.py ............................................................................................. [ 42%] | |
| .... [ 43%] | |
| tests/commands/sample_config_test.py . [ 43%] | |
| tests/commands/try_repo_test.py ....... [ 44%] | |
| tests/commands/validate_config_test.py .... [ 44%] | |
| tests/commands/validate_manifest_test.py .. [ 45%] | |
| tests/envcontext_test.py ............ [ 46%] | |
| tests/error_handler_test.py .......... [ 47%] | |
| tests/git_test.py ................................. [ 51%] | |
| tests/lang_base_test.py ..................... [ 54%] | |
| tests/languages/conda_test.py ...FF [ 55%] | |
| tests/languages/coursier_test.py FFF [ 55%] | |
| tests/languages/dart_test.py FFF [ 55%] | |
| tests/languages/docker_image_test.py EEEE [ 56%] | |
| tests/languages/docker_test.py F..................FF [ 58%] | |
| tests/languages/dotnet_test.py FFFFF [ 59%] | |
| tests/languages/fail_test.py . [ 59%] | |
| tests/languages/golang_test.py ............ [ 60%] | |
| tests/languages/haskell_test.py FF. [ 61%] | |
| tests/languages/julia_test.py FFFFFF [ 62%] | |
| tests/languages/lua_test.py FF [ 62%] | |
| tests/languages/node_test.py ....F...... [ 63%] | |
| tests/languages/perl_test.py .. [ 63%] | |
| tests/languages/pygrep_test.py .................... [ 66%] | |
| tests/languages/python_test.py ............................... [ 70%] | |
| tests/languages/r_test.py ...........FFEEEEE [ 72%] | |
| tests/languages/ruby_test.py ........... [ 73%] | |
| tests/languages/rust_test.py ..F.FFFFF [ 74%] | |
| tests/languages/swift_test.py . [ 74%] | |
| tests/languages/unsupported_script_test.py . [ 75%] | |
| tests/languages/unsupported_test.py . [ 75%] | |
| tests/logging_handler_test.py .. [ 75%] | |
| tests/main_test.py ....s........................ [ 78%] | |
| tests/meta_hooks/check_hooks_apply_test.py ..... [ 79%] | |
| tests/meta_hooks/check_useless_excludes_test.py ...... [ 80%] | |
| tests/meta_hooks/identity_test.py . [ 80%] | |
| tests/output_test.py . [ 80%] | |
| tests/parse_shebang_test.py .................. [ 82%] | |
| tests/prefix_test.py ......... [ 83%] | |
| tests/repository_test.py ........................... [ 87%] | |
| tests/staged_files_only_test.py ...................................... [ 91%] | |
| tests/store_test.py ...................... [ 94%] | |
| tests/util_test.py ............ [ 95%] | |
| tests/xargs_test.py ........................xxx [ 99%] | |
| tests/yaml_rewrite_test.py ....... [100%] | |
| ============================================================ ERRORS ============================================================ | |
| ___________________________________ ERROR at setup of test_docker_image_hook_via_entrypoint ____________________________________ | |
| @pytest.fixture(autouse=True, scope='module') | |
| def _ensure_image_available(): | |
| > cmd_output_b('docker', 'run', '--rm', 'ubuntu:22.04', 'echo') | |
| tests/languages/docker_image_test.py:13: | |
| _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
| check = True, cmd = ('docker', 'run', '--rm', 'ubuntu:22.04', 'echo'), kwargs = {'stderr': -1, 'stdin': -1, 'stdout': -1} | |
| stdout_b = b'Executable `docker` not found', stderr_b = None, returncode = 1 | |
| def cmd_output_b( | |
| *cmd: str, | |
| check: bool = True, | |
| **kwargs: Any, | |
| ) -> tuple[int, bytes, bytes | None]: | |
| _setdefault_kwargs(kwargs) | |
| try: | |
| cmd = parse_shebang.normalize_cmd(cmd, env=kwargs.get('env')) | |
| except parse_shebang.ExecutableNotFoundError as e: | |
| returncode, stdout_b, stderr_b = e.to_output() | |
| else: | |
| try: | |
| proc = subprocess.Popen(cmd, **kwargs) | |
| except OSError as e: | |
| returncode, stdout_b, stderr_b = _oserror_to_output(e) | |
| else: | |
| stdout_b, stderr_b = proc.communicate() | |
| returncode = proc.returncode | |
| if check and returncode: | |
| > raise CalledProcessError(returncode, cmd, stdout_b, stderr_b) | |
| E pre_commit.util.CalledProcessError: command: ('docker', 'run', '--rm', 'ubuntu:22.04', 'echo') | |
| E return code: 1 | |
| E stdout: | |
| E Executable `docker` not found | |
| E stderr: (none) | |
| pre_commit/util.py:111: CalledProcessError | |
| ______________________________________ ERROR at setup of test_docker_image_hook_via_args _______________________________________ | |
| @pytest.fixture(autouse=True, scope='module') | |
| def _ensure_image_available(): | |
| > cmd_output_b('docker', 'run', '--rm', 'ubuntu:22.04', 'echo') | |
| tests/languages/docker_image_test.py:13: | |
| _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
| check = True, cmd = ('docker', 'run', '--rm', 'ubuntu:22.04', 'echo'), kwargs = {'stderr': -1, 'stdin': -1, 'stdout': -1} | |
| stdout_b = b'Executable `docker` not found', stderr_b = None, returncode = 1 | |
| def cmd_output_b( | |
| *cmd: str, | |
| check: bool = True, | |
| **kwargs: Any, | |
| ) -> tuple[int, bytes, bytes | None]: | |
| _setdefault_kwargs(kwargs) | |
| try: | |
| cmd = parse_shebang.normalize_cmd(cmd, env=kwargs.get('env')) | |
| except parse_shebang.ExecutableNotFoundError as e: | |
| returncode, stdout_b, stderr_b = e.to_output() | |
| else: | |
| try: | |
| proc = subprocess.Popen(cmd, **kwargs) | |
| except OSError as e: | |
| returncode, stdout_b, stderr_b = _oserror_to_output(e) | |
| else: | |
| stdout_b, stderr_b = proc.communicate() | |
| returncode = proc.returncode | |
| if check and returncode: | |
| > raise CalledProcessError(returncode, cmd, stdout_b, stderr_b) | |
| E pre_commit.util.CalledProcessError: command: ('docker', 'run', '--rm', 'ubuntu:22.04', 'echo') | |
| E return code: 1 | |
| E stdout: | |
| E Executable `docker` not found | |
| E stderr: (none) | |
| pre_commit/util.py:111: CalledProcessError | |
| ________________________________________ ERROR at setup of test_docker_image_color_tty _________________________________________ | |
| @pytest.fixture(autouse=True, scope='module') | |
| def _ensure_image_available(): | |
| > cmd_output_b('docker', 'run', '--rm', 'ubuntu:22.04', 'echo') | |
| tests/languages/docker_image_test.py:13: | |
| _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
| check = True, cmd = ('docker', 'run', '--rm', 'ubuntu:22.04', 'echo'), kwargs = {'stderr': -1, 'stdin': -1, 'stdout': -1} | |
| stdout_b = b'Executable `docker` not found', stderr_b = None, returncode = 1 | |
| def cmd_output_b( | |
| *cmd: str, | |
| check: bool = True, | |
| **kwargs: Any, | |
| ) -> tuple[int, bytes, bytes | None]: | |
| _setdefault_kwargs(kwargs) | |
| try: | |
| cmd = parse_shebang.normalize_cmd(cmd, env=kwargs.get('env')) | |
| except parse_shebang.ExecutableNotFoundError as e: | |
| returncode, stdout_b, stderr_b = e.to_output() | |
| else: | |
| try: | |
| proc = subprocess.Popen(cmd, **kwargs) | |
| except OSError as e: | |
| returncode, stdout_b, stderr_b = _oserror_to_output(e) | |
| else: | |
| stdout_b, stderr_b = proc.communicate() | |
| returncode = proc.returncode | |
| if check and returncode: | |
| > raise CalledProcessError(returncode, cmd, stdout_b, stderr_b) | |
| E pre_commit.util.CalledProcessError: command: ('docker', 'run', '--rm', 'ubuntu:22.04', 'echo') | |
| E return code: 1 | |
| E stdout: | |
| E Executable `docker` not found | |
| E stderr: (none) | |
| pre_commit/util.py:111: CalledProcessError | |
| _____________________________________ ERROR at setup of test_docker_image_no_color_no_tty ______________________________________ | |
| @pytest.fixture(autouse=True, scope='module') | |
| def _ensure_image_available(): | |
| > cmd_output_b('docker', 'run', '--rm', 'ubuntu:22.04', 'echo') | |
| tests/languages/docker_image_test.py:13: | |
| _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
| check = True, cmd = ('docker', 'run', '--rm', 'ubuntu:22.04', 'echo'), kwargs = {'stderr': -1, 'stdin': -1, 'stdout': -1} | |
| stdout_b = b'Executable `docker` not found', stderr_b = None, returncode = 1 | |
| def cmd_output_b( | |
| *cmd: str, | |
| check: bool = True, | |
| **kwargs: Any, | |
| ) -> tuple[int, bytes, bytes | None]: | |
| _setdefault_kwargs(kwargs) | |
| try: | |
| cmd = parse_shebang.normalize_cmd(cmd, env=kwargs.get('env')) | |
| except parse_shebang.ExecutableNotFoundError as e: | |
| returncode, stdout_b, stderr_b = e.to_output() | |
| else: | |
| try: | |
| proc = subprocess.Popen(cmd, **kwargs) | |
| except OSError as e: | |
| returncode, stdout_b, stderr_b = _oserror_to_output(e) | |
| else: | |
| stdout_b, stderr_b = proc.communicate() | |
| returncode = proc.returncode | |
| if check and returncode: | |
| > raise CalledProcessError(returncode, cmd, stdout_b, stderr_b) | |
| E pre_commit.util.CalledProcessError: command: ('docker', 'run', '--rm', 'ubuntu:22.04', 'echo') | |
| E return code: 1 | |
| E stdout: | |
| E Executable `docker` not found | |
| E stderr: (none) | |
| pre_commit/util.py:111: CalledProcessError | |
| _________________________________________ ERROR at setup of test_health_check_healthy __________________________________________ | |
| renv_lock_file = None, hello_world_file = None, renv_folder = None | |
| prefix = Prefix(prefix_dir='/private/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/pytest-of-alansutton/pytest-0/test_health_check_healthy0') | |
| @pytest.fixture | |
| def installed_environment( | |
| renv_lock_file, | |
| hello_world_file, | |
| renv_folder, | |
| prefix, | |
| ): | |
| env_dir = lang_base.environment_dir( | |
| prefix, r.ENVIRONMENT_DIR, r.get_default_version(), | |
| ) | |
| > r.install_environment(prefix, C.DEFAULT, ()) | |
| tests/languages/r_test.py:263: | |
| _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
| pre_commit/languages/r.py:230: in install_environment | |
| _execute_vanilla_r( | |
| pre_commit/languages/r.py:54: in _execute_vanilla_r | |
| return _execute_r( | |
| pre_commit/languages/r.py:34: in _execute_r | |
| _, out, _ = cmd_output( | |
| pre_commit/util.py:117: in cmd_output | |
| returncode, stdout_b, stderr_b = cmd_output_b(*cmd, **kwargs) | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
| _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
| check = True, cmd = ('Rscript', '--vanilla', '/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/tmpu_ejt9sq/script.R') | |
| kwargs = {'cwd': '/private/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/pytest-of-alansutton/pytest-0/test_health_check_healthy0/renv-default', 'stderr': -1, 'stdin': -1, 'stdout': -1} | |
| stdout_b = b'Executable `Rscript` not found', stderr_b = None, returncode = 1 | |
| def cmd_output_b( | |
| *cmd: str, | |
| check: bool = True, | |
| **kwargs: Any, | |
| ) -> tuple[int, bytes, bytes | None]: | |
| _setdefault_kwargs(kwargs) | |
| try: | |
| cmd = parse_shebang.normalize_cmd(cmd, env=kwargs.get('env')) | |
| except parse_shebang.ExecutableNotFoundError as e: | |
| returncode, stdout_b, stderr_b = e.to_output() | |
| else: | |
| try: | |
| proc = subprocess.Popen(cmd, **kwargs) | |
| except OSError as e: | |
| returncode, stdout_b, stderr_b = _oserror_to_output(e) | |
| else: | |
| stdout_b, stderr_b = proc.communicate() | |
| returncode = proc.returncode | |
| if check and returncode: | |
| > raise CalledProcessError(returncode, cmd, stdout_b, stderr_b) | |
| E pre_commit.util.CalledProcessError: command: ('Rscript', '--vanilla', '/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/tmpu_ejt9sq/script.R') | |
| E return code: 1 | |
| E stdout: | |
| E Executable `Rscript` not found | |
| E stderr: (none) | |
| pre_commit/util.py:111: CalledProcessError | |
| _____________________________________ ERROR at setup of test_health_check_after_downgrade ______________________________________ | |
| renv_lock_file = None, hello_world_file = None, renv_folder = None | |
| prefix = Prefix(prefix_dir='/private/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/pytest-of-alansutton/pytest-0/test_health_check_after_downgr0') | |
| @pytest.fixture | |
| def installed_environment( | |
| renv_lock_file, | |
| hello_world_file, | |
| renv_folder, | |
| prefix, | |
| ): | |
| env_dir = lang_base.environment_dir( | |
| prefix, r.ENVIRONMENT_DIR, r.get_default_version(), | |
| ) | |
| > r.install_environment(prefix, C.DEFAULT, ()) | |
| tests/languages/r_test.py:263: | |
| _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
| pre_commit/languages/r.py:230: in install_environment | |
| _execute_vanilla_r( | |
| pre_commit/languages/r.py:54: in _execute_vanilla_r | |
| return _execute_r( | |
| pre_commit/languages/r.py:34: in _execute_r | |
| _, out, _ = cmd_output( | |
| pre_commit/util.py:117: in cmd_output | |
| returncode, stdout_b, stderr_b = cmd_output_b(*cmd, **kwargs) | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
| _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
| check = True, cmd = ('Rscript', '--vanilla', '/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/tmptc79dv3x/script.R') | |
| kwargs = {'cwd': '/private/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/pytest-of-alansutton/pytest-0/test_health_check_after_downgr0/renv-default', 'stderr': -1, 'stdin': -1, 'stdout': -1} | |
| stdout_b = b'Executable `Rscript` not found', stderr_b = None, returncode = 1 | |
| def cmd_output_b( | |
| *cmd: str, | |
| check: bool = True, | |
| **kwargs: Any, | |
| ) -> tuple[int, bytes, bytes | None]: | |
| _setdefault_kwargs(kwargs) | |
| try: | |
| cmd = parse_shebang.normalize_cmd(cmd, env=kwargs.get('env')) | |
| except parse_shebang.ExecutableNotFoundError as e: | |
| returncode, stdout_b, stderr_b = e.to_output() | |
| else: | |
| try: | |
| proc = subprocess.Popen(cmd, **kwargs) | |
| except OSError as e: | |
| returncode, stdout_b, stderr_b = _oserror_to_output(e) | |
| else: | |
| stdout_b, stderr_b = proc.communicate() | |
| returncode = proc.returncode | |
| if check and returncode: | |
| > raise CalledProcessError(returncode, cmd, stdout_b, stderr_b) | |
| E pre_commit.util.CalledProcessError: command: ('Rscript', '--vanilla', '/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/tmptc79dv3x/script.R') | |
| E return code: 1 | |
| E stdout: | |
| E Executable `Rscript` not found | |
| E stderr: (none) | |
| pre_commit/util.py:111: CalledProcessError | |
| __________________________________ ERROR at setup of test_health_check_without_version[NULL] ___________________________________ | |
| renv_lock_file = None, hello_world_file = None, renv_folder = None | |
| prefix = Prefix(prefix_dir='/private/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/pytest-of-alansutton/pytest-0/test_health_check_without_vers0') | |
| @pytest.fixture | |
| def installed_environment( | |
| renv_lock_file, | |
| hello_world_file, | |
| renv_folder, | |
| prefix, | |
| ): | |
| env_dir = lang_base.environment_dir( | |
| prefix, r.ENVIRONMENT_DIR, r.get_default_version(), | |
| ) | |
| > r.install_environment(prefix, C.DEFAULT, ()) | |
| tests/languages/r_test.py:263: | |
| _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
| pre_commit/languages/r.py:230: in install_environment | |
| _execute_vanilla_r( | |
| pre_commit/languages/r.py:54: in _execute_vanilla_r | |
| return _execute_r( | |
| pre_commit/languages/r.py:34: in _execute_r | |
| _, out, _ = cmd_output( | |
| pre_commit/util.py:117: in cmd_output | |
| returncode, stdout_b, stderr_b = cmd_output_b(*cmd, **kwargs) | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
| _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
| check = True, cmd = ('Rscript', '--vanilla', '/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/tmp2of7rtaf/script.R') | |
| kwargs = {'cwd': '/private/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/pytest-of-alansutton/pytest-0/test_health_check_without_vers0/renv-default', 'stderr': -1, 'stdin': -1, 'stdout': -1} | |
| stdout_b = b'Executable `Rscript` not found', stderr_b = None, returncode = 1 | |
| def cmd_output_b( | |
| *cmd: str, | |
| check: bool = True, | |
| **kwargs: Any, | |
| ) -> tuple[int, bytes, bytes | None]: | |
| _setdefault_kwargs(kwargs) | |
| try: | |
| cmd = parse_shebang.normalize_cmd(cmd, env=kwargs.get('env')) | |
| except parse_shebang.ExecutableNotFoundError as e: | |
| returncode, stdout_b, stderr_b = e.to_output() | |
| else: | |
| try: | |
| proc = subprocess.Popen(cmd, **kwargs) | |
| except OSError as e: | |
| returncode, stdout_b, stderr_b = _oserror_to_output(e) | |
| else: | |
| stdout_b, stderr_b = proc.communicate() | |
| returncode = proc.returncode | |
| if check and returncode: | |
| > raise CalledProcessError(returncode, cmd, stdout_b, stderr_b) | |
| E pre_commit.util.CalledProcessError: command: ('Rscript', '--vanilla', '/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/tmp2of7rtaf/script.R') | |
| E return code: 1 | |
| E stdout: | |
| E Executable `Rscript` not found | |
| E stderr: (none) | |
| pre_commit/util.py:111: CalledProcessError | |
| ___________________________________ ERROR at setup of test_health_check_without_version[NA] ____________________________________ | |
| renv_lock_file = None, hello_world_file = None, renv_folder = None | |
| prefix = Prefix(prefix_dir='/private/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/pytest-of-alansutton/pytest-0/test_health_check_without_vers1') | |
| @pytest.fixture | |
| def installed_environment( | |
| renv_lock_file, | |
| hello_world_file, | |
| renv_folder, | |
| prefix, | |
| ): | |
| env_dir = lang_base.environment_dir( | |
| prefix, r.ENVIRONMENT_DIR, r.get_default_version(), | |
| ) | |
| > r.install_environment(prefix, C.DEFAULT, ()) | |
| tests/languages/r_test.py:263: | |
| _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
| pre_commit/languages/r.py:230: in install_environment | |
| _execute_vanilla_r( | |
| pre_commit/languages/r.py:54: in _execute_vanilla_r | |
| return _execute_r( | |
| pre_commit/languages/r.py:34: in _execute_r | |
| _, out, _ = cmd_output( | |
| pre_commit/util.py:117: in cmd_output | |
| returncode, stdout_b, stderr_b = cmd_output_b(*cmd, **kwargs) | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
| _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
| check = True, cmd = ('Rscript', '--vanilla', '/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/tmp0kqiq109/script.R') | |
| kwargs = {'cwd': '/private/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/pytest-of-alansutton/pytest-0/test_health_check_without_vers1/renv-default', 'stderr': -1, 'stdin': -1, 'stdout': -1} | |
| stdout_b = b'Executable `Rscript` not found', stderr_b = None, returncode = 1 | |
| def cmd_output_b( | |
| *cmd: str, | |
| check: bool = True, | |
| **kwargs: Any, | |
| ) -> tuple[int, bytes, bytes | None]: | |
| _setdefault_kwargs(kwargs) | |
| try: | |
| cmd = parse_shebang.normalize_cmd(cmd, env=kwargs.get('env')) | |
| except parse_shebang.ExecutableNotFoundError as e: | |
| returncode, stdout_b, stderr_b = e.to_output() | |
| else: | |
| try: | |
| proc = subprocess.Popen(cmd, **kwargs) | |
| except OSError as e: | |
| returncode, stdout_b, stderr_b = _oserror_to_output(e) | |
| else: | |
| stdout_b, stderr_b = proc.communicate() | |
| returncode = proc.returncode | |
| if check and returncode: | |
| > raise CalledProcessError(returncode, cmd, stdout_b, stderr_b) | |
| E pre_commit.util.CalledProcessError: command: ('Rscript', '--vanilla', '/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/tmp0kqiq109/script.R') | |
| E return code: 1 | |
| E stdout: | |
| E Executable `Rscript` not found | |
| E stderr: (none) | |
| pre_commit/util.py:111: CalledProcessError | |
| ___________________________________ ERROR at setup of test_health_check_without_version[''] ____________________________________ | |
| renv_lock_file = None, hello_world_file = None, renv_folder = None | |
| prefix = Prefix(prefix_dir='/private/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/pytest-of-alansutton/pytest-0/test_health_check_without_vers2') | |
| @pytest.fixture | |
| def installed_environment( | |
| renv_lock_file, | |
| hello_world_file, | |
| renv_folder, | |
| prefix, | |
| ): | |
| env_dir = lang_base.environment_dir( | |
| prefix, r.ENVIRONMENT_DIR, r.get_default_version(), | |
| ) | |
| > r.install_environment(prefix, C.DEFAULT, ()) | |
| tests/languages/r_test.py:263: | |
| _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
| pre_commit/languages/r.py:230: in install_environment | |
| _execute_vanilla_r( | |
| pre_commit/languages/r.py:54: in _execute_vanilla_r | |
| return _execute_r( | |
| pre_commit/languages/r.py:34: in _execute_r | |
| _, out, _ = cmd_output( | |
| pre_commit/util.py:117: in cmd_output | |
| returncode, stdout_b, stderr_b = cmd_output_b(*cmd, **kwargs) | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
| _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
| check = True, cmd = ('Rscript', '--vanilla', '/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/tmp9f4v6jeh/script.R') | |
| kwargs = {'cwd': '/private/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/pytest-of-alansutton/pytest-0/test_health_check_without_vers2/renv-default', 'stderr': -1, 'stdin': -1, 'stdout': -1} | |
| stdout_b = b'Executable `Rscript` not found', stderr_b = None, returncode = 1 | |
| def cmd_output_b( | |
| *cmd: str, | |
| check: bool = True, | |
| **kwargs: Any, | |
| ) -> tuple[int, bytes, bytes | None]: | |
| _setdefault_kwargs(kwargs) | |
| try: | |
| cmd = parse_shebang.normalize_cmd(cmd, env=kwargs.get('env')) | |
| except parse_shebang.ExecutableNotFoundError as e: | |
| returncode, stdout_b, stderr_b = e.to_output() | |
| else: | |
| try: | |
| proc = subprocess.Popen(cmd, **kwargs) | |
| except OSError as e: | |
| returncode, stdout_b, stderr_b = _oserror_to_output(e) | |
| else: | |
| stdout_b, stderr_b = proc.communicate() | |
| returncode = proc.returncode | |
| if check and returncode: | |
| > raise CalledProcessError(returncode, cmd, stdout_b, stderr_b) | |
| E pre_commit.util.CalledProcessError: command: ('Rscript', '--vanilla', '/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/tmp9f4v6jeh/script.R') | |
| E return code: 1 | |
| E stdout: | |
| E Executable `Rscript` not found | |
| E stderr: (none) | |
| pre_commit/util.py:111: CalledProcessError | |
| =========================================================== FAILURES =========================================================== | |
| _____________________________________________________ test_conda_language ______________________________________________________ | |
| tmp_path = PosixPath('/private/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/pytest-of-alansutton/pytest-0/test_conda_language0') | |
| def test_conda_language(tmp_path): | |
| environment_yml = '''\ | |
| channels: [conda-forge, defaults] | |
| dependencies: [python, pip] | |
| ''' | |
| tmp_path.joinpath('environment.yml').write_text(environment_yml) | |
| > ret, out = run_language( | |
| tmp_path, | |
| conda, | |
| 'python -c "import sys; print(sys.prefix)"', | |
| ) | |
| tests/languages/conda_test.py:54: | |
| _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
| testing/language_helpers.py:26: in run_language | |
| language.install_environment(prefix, version, deps) | |
| pre_commit/languages/conda.py:69: in install_environment | |
| cmd_output_b( | |
| _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
| check = True | |
| cmd = ('conda', 'env', 'create', '-p', '/private/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/pytest-of-alansutton/pytest-0/test_conda_language0/conda-default', '--file', ...) | |
| kwargs = {'cwd': '/private/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/pytest-of-alansutton/pytest-0/test_conda_language0', 'stderr': -1, 'stdin': -1, 'stdout': -1} | |
| stdout_b = b'Executable `conda` not found', stderr_b = None, returncode = 1 | |
| def cmd_output_b( | |
| *cmd: str, | |
| check: bool = True, | |
| **kwargs: Any, | |
| ) -> tuple[int, bytes, bytes | None]: | |
| _setdefault_kwargs(kwargs) | |
| try: | |
| cmd = parse_shebang.normalize_cmd(cmd, env=kwargs.get('env')) | |
| except parse_shebang.ExecutableNotFoundError as e: | |
| returncode, stdout_b, stderr_b = e.to_output() | |
| else: | |
| try: | |
| proc = subprocess.Popen(cmd, **kwargs) | |
| except OSError as e: | |
| returncode, stdout_b, stderr_b = _oserror_to_output(e) | |
| else: | |
| stdout_b, stderr_b = proc.communicate() | |
| returncode = proc.returncode | |
| if check and returncode: | |
| > raise CalledProcessError(returncode, cmd, stdout_b, stderr_b) | |
| E pre_commit.util.CalledProcessError: command: ('conda', 'env', 'create', '-p', '/private/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/pytest-of-alansutton/pytest-0/test_conda_language0/conda-default', '--file', 'environment.yml') | |
| E return code: 1 | |
| E stdout: | |
| E Executable `conda` not found | |
| E stderr: (none) | |
| pre_commit/util.py:111: CalledProcessError | |
| __________________________________________________ test_conda_additional_deps __________________________________________________ | |
| tmp_path = PosixPath('/private/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/pytest-of-alansutton/pytest-0/test_conda_additional_deps0') | |
| def test_conda_additional_deps(tmp_path): | |
| _make_local_repo(tmp_path) | |
| > ret = run_language( | |
| tmp_path, | |
| conda, | |
| 'python -c "import botocore; print(1)"', | |
| deps=('botocore',), | |
| ) | |
| tests/languages/conda_test.py:66: | |
| _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
| testing/language_helpers.py:26: in run_language | |
| language.install_environment(prefix, version, deps) | |
| pre_commit/languages/conda.py:69: in install_environment | |
| cmd_output_b( | |
| _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
| check = True | |
| cmd = ('conda', 'env', 'create', '-p', '/private/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/pytest-of-alansutton/pytest-0/test_conda_additional_deps0/conda-default', '--file', ...) | |
| kwargs = {'cwd': '/private/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/pytest-of-alansutton/pytest-0/test_conda_additional_deps0', 'stderr': -1, 'stdin': -1, 'stdout': -1} | |
| stdout_b = b'Executable `conda` not found', stderr_b = None, returncode = 1 | |
| def cmd_output_b( | |
| *cmd: str, | |
| check: bool = True, | |
| **kwargs: Any, | |
| ) -> tuple[int, bytes, bytes | None]: | |
| _setdefault_kwargs(kwargs) | |
| try: | |
| cmd = parse_shebang.normalize_cmd(cmd, env=kwargs.get('env')) | |
| except parse_shebang.ExecutableNotFoundError as e: | |
| returncode, stdout_b, stderr_b = e.to_output() | |
| else: | |
| try: | |
| proc = subprocess.Popen(cmd, **kwargs) | |
| except OSError as e: | |
| returncode, stdout_b, stderr_b = _oserror_to_output(e) | |
| else: | |
| stdout_b, stderr_b = proc.communicate() | |
| returncode = proc.returncode | |
| if check and returncode: | |
| > raise CalledProcessError(returncode, cmd, stdout_b, stderr_b) | |
| E pre_commit.util.CalledProcessError: command: ('conda', 'env', 'create', '-p', '/private/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/pytest-of-alansutton/pytest-0/test_conda_additional_deps0/conda-default', '--file', 'environment.yml') | |
| E return code: 1 | |
| E stdout: | |
| E Executable `conda` not found | |
| E stderr: (none) | |
| pre_commit/util.py:111: CalledProcessError | |
| ______________________________________________________ test_coursier_hook ______________________________________________________ | |
| tmp_path = PosixPath('/private/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/pytest-of-alansutton/pytest-0/test_coursier_hook0') | |
| def test_coursier_hook(tmp_path): | |
| echo_java_json = '''\ | |
| { | |
| "repositories": ["central"], | |
| "dependencies": ["io.get-coursier:echo:latest.stable"] | |
| } | |
| ''' | |
| channel_dir = tmp_path.joinpath('.pre-commit-channel') | |
| channel_dir.mkdir() | |
| channel_dir.joinpath('echo-java.json').write_text(echo_java_json) | |
| > ret = run_language( | |
| tmp_path, | |
| coursier, | |
| 'echo-java', | |
| args=('Hello', 'World', 'from', 'coursier'), | |
| ) | |
| tests/languages/coursier_test.py:22: | |
| _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
| testing/language_helpers.py:26: in run_language | |
| language.install_environment(prefix, version, deps) | |
| _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
| prefix = Prefix(prefix_dir='/private/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/pytest-of-alansutton/pytest-0/test_coursier_hook0') | |
| version = 'default', additional_dependencies = () | |
| def install_environment( | |
| prefix: Prefix, | |
| version: str, | |
| additional_dependencies: Sequence[str], | |
| ) -> None: | |
| lang_base.assert_version_default('coursier', version) | |
| # Support both possible executable names (either "cs" or "coursier") | |
| cs = find_executable('cs') or find_executable('coursier') | |
| if cs is None: | |
| > raise AssertionError( | |
| 'pre-commit requires system-installed "cs" or "coursier" ' | |
| 'executables in the application search path', | |
| ) | |
| E AssertionError: pre-commit requires system-installed "cs" or "coursier" executables in the application search path | |
| pre_commit/languages/coursier.py:33: AssertionError | |
| __________________________________________ test_coursier_hook_additional_dependencies __________________________________________ | |
| tmp_path = PosixPath('/private/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/pytest-of-alansutton/pytest-0/test_coursier_hook_additional_0') | |
| def test_coursier_hook_additional_dependencies(tmp_path): | |
| > ret = run_language( | |
| tmp_path, | |
| coursier, | |
| 'scalafmt --version', | |
| deps=('scalafmt:3.6.1',), | |
| ) | |
| tests/languages/coursier_test.py:32: | |
| _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
| testing/language_helpers.py:26: in run_language | |
| language.install_environment(prefix, version, deps) | |
| _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
| prefix = Prefix(prefix_dir='/private/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/pytest-of-alansutton/pytest-0/test_coursier_hook_additional_0') | |
| version = 'default', additional_dependencies = ('scalafmt:3.6.1',) | |
| def install_environment( | |
| prefix: Prefix, | |
| version: str, | |
| additional_dependencies: Sequence[str], | |
| ) -> None: | |
| lang_base.assert_version_default('coursier', version) | |
| # Support both possible executable names (either "cs" or "coursier") | |
| cs = find_executable('cs') or find_executable('coursier') | |
| if cs is None: | |
| > raise AssertionError( | |
| 'pre-commit requires system-installed "cs" or "coursier" ' | |
| 'executables in the application search path', | |
| ) | |
| E AssertionError: pre-commit requires system-installed "cs" or "coursier" executables in the application search path | |
| pre_commit/languages/coursier.py:33: AssertionError | |
| _______________________________________________ test_error_if_no_deps_or_channel _______________________________________________ | |
| tmp_path = PosixPath('/private/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/pytest-of-alansutton/pytest-0/test_error_if_no_deps_or_chann0') | |
| def test_error_if_no_deps_or_channel(tmp_path): | |
| with pytest.raises(FatalError) as excinfo: | |
| > run_language(tmp_path, coursier, 'dne') | |
| tests/languages/coursier_test.py:43: | |
| _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
| testing/language_helpers.py:26: in run_language | |
| language.install_environment(prefix, version, deps) | |
| _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
| prefix = Prefix(prefix_dir='/private/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/pytest-of-alansutton/pytest-0/test_error_if_no_deps_or_chann0') | |
| version = 'default', additional_dependencies = () | |
| def install_environment( | |
| prefix: Prefix, | |
| version: str, | |
| additional_dependencies: Sequence[str], | |
| ) -> None: | |
| lang_base.assert_version_default('coursier', version) | |
| # Support both possible executable names (either "cs" or "coursier") | |
| cs = find_executable('cs') or find_executable('coursier') | |
| if cs is None: | |
| > raise AssertionError( | |
| 'pre-commit requires system-installed "cs" or "coursier" ' | |
| 'executables in the application search path', | |
| ) | |
| E AssertionError: pre-commit requires system-installed "cs" or "coursier" executables in the application search path | |
| pre_commit/languages/coursier.py:33: AssertionError | |
| __________________________________________________________ test_dart ___________________________________________________________ | |
| tmp_path = PosixPath('/private/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/pytest-of-alansutton/pytest-0/test_dart0') | |
| def test_dart(tmp_path): | |
| pubspec_yaml = '''\ | |
| environment: | |
| sdk: '>=2.12.0 <4.0.0' | |
| name: hello_world_dart | |
| executables: | |
| hello-world-dart: | |
| dependencies: | |
| ansicolor: ^2.0.1 | |
| ''' | |
| hello_world_dart_dart = '''\ | |
| import 'package:ansicolor/ansicolor.dart'; | |
| void main() { | |
| AnsiPen pen = new AnsiPen()..red(); | |
| print("hello hello " + pen("world")); | |
| } | |
| ''' | |
| tmp_path.joinpath('pubspec.yaml').write_text(pubspec_yaml) | |
| bin_dir = tmp_path.joinpath('bin') | |
| bin_dir.mkdir() | |
| bin_dir.joinpath('hello-world-dart.dart').write_text(hello_world_dart_dart) | |
| expected = (0, b'hello hello world\n') | |
| > assert run_language(tmp_path, dart, 'hello-world-dart') == expected | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
| tests/languages/dart_test.py:37: | |
| _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
| testing/language_helpers.py:26: in run_language | |
| language.install_environment(prefix, version, deps) | |
| pre_commit/languages/dart.py:70: in install_environment | |
| _install_dir(prefix, tmp) | |
| pre_commit/languages/dart.py:54: in _install_dir | |
| lang_base.setup_cmd(prefix_p, ('dart', 'pub', 'get'), env=dart_env) | |
| pre_commit/lang_base.py:87: in setup_cmd | |
| cmd_output_b(*cmd, cwd=prefix.prefix_dir, **kwargs) | |
| _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
| check = True, cmd = ('dart', 'pub', 'get') | |
| kwargs = {'cwd': '/private/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/pytest-of-alansutton/pytest-0/test_dart0', 'env': {'... 'GHOSTTY_RESOURCES_DIR': '/Applications/Ghostty.app/Contents/Resources/ghostty', ...}, 'stderr': -1, 'stdin': -1, ...} | |
| stdout_b = b'Executable `dart` not found', stderr_b = None, returncode = 1 | |
| def cmd_output_b( | |
| *cmd: str, | |
| check: bool = True, | |
| **kwargs: Any, | |
| ) -> tuple[int, bytes, bytes | None]: | |
| _setdefault_kwargs(kwargs) | |
| try: | |
| cmd = parse_shebang.normalize_cmd(cmd, env=kwargs.get('env')) | |
| except parse_shebang.ExecutableNotFoundError as e: | |
| returncode, stdout_b, stderr_b = e.to_output() | |
| else: | |
| try: | |
| proc = subprocess.Popen(cmd, **kwargs) | |
| except OSError as e: | |
| returncode, stdout_b, stderr_b = _oserror_to_output(e) | |
| else: | |
| stdout_b, stderr_b = proc.communicate() | |
| returncode = proc.returncode | |
| if check and returncode: | |
| > raise CalledProcessError(returncode, cmd, stdout_b, stderr_b) | |
| E pre_commit.util.CalledProcessError: command: ('dart', 'pub', 'get') | |
| E return code: 1 | |
| E stdout: | |
| E Executable `dart` not found | |
| E stderr: (none) | |
| pre_commit/util.py:111: CalledProcessError | |
| __________________________________________________ test_dart_additional_deps ___________________________________________________ | |
| tmp_path = PosixPath('/private/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/pytest-of-alansutton/pytest-0/test_dart_additional_deps0') | |
| def test_dart_additional_deps(tmp_path): | |
| _make_local_repo(str(tmp_path)) | |
| > ret = run_language( | |
| tmp_path, | |
| dart, | |
| 'hello-world-dart', | |
| deps=('hello_world_dart',), | |
| ) | |
| tests/languages/dart_test.py:43: | |
| _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
| testing/language_helpers.py:26: in run_language | |
| language.install_environment(prefix, version, deps) | |
| pre_commit/languages/dart.py:70: in install_environment | |
| _install_dir(prefix, tmp) | |
| pre_commit/languages/dart.py:54: in _install_dir | |
| lang_base.setup_cmd(prefix_p, ('dart', 'pub', 'get'), env=dart_env) | |
| pre_commit/lang_base.py:87: in setup_cmd | |
| cmd_output_b(*cmd, cwd=prefix.prefix_dir, **kwargs) | |
| _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
| check = True, cmd = ('dart', 'pub', 'get') | |
| kwargs = {'cwd': '/private/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/pytest-of-alansutton/pytest-0/test_dart_additional_d... 'GHOSTTY_RESOURCES_DIR': '/Applications/Ghostty.app/Contents/Resources/ghostty', ...}, 'stderr': -1, 'stdin': -1, ...} | |
| stdout_b = b'Executable `dart` not found', stderr_b = None, returncode = 1 | |
| def cmd_output_b( | |
| *cmd: str, | |
| check: bool = True, | |
| **kwargs: Any, | |
| ) -> tuple[int, bytes, bytes | None]: | |
| _setdefault_kwargs(kwargs) | |
| try: | |
| cmd = parse_shebang.normalize_cmd(cmd, env=kwargs.get('env')) | |
| except parse_shebang.ExecutableNotFoundError as e: | |
| returncode, stdout_b, stderr_b = e.to_output() | |
| else: | |
| try: | |
| proc = subprocess.Popen(cmd, **kwargs) | |
| except OSError as e: | |
| returncode, stdout_b, stderr_b = _oserror_to_output(e) | |
| else: | |
| stdout_b, stderr_b = proc.communicate() | |
| returncode = proc.returncode | |
| if check and returncode: | |
| > raise CalledProcessError(returncode, cmd, stdout_b, stderr_b) | |
| E pre_commit.util.CalledProcessError: command: ('dart', 'pub', 'get') | |
| E return code: 1 | |
| E stdout: | |
| E Executable `dart` not found | |
| E stderr: (none) | |
| pre_commit/util.py:111: CalledProcessError | |
| _____________________________________________ test_dart_additional_deps_versioned ______________________________________________ | |
| tmp_path = PosixPath('/private/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/pytest-of-alansutton/pytest-0/test_dart_additional_deps_vers0') | |
| def test_dart_additional_deps_versioned(tmp_path): | |
| _make_local_repo(str(tmp_path)) | |
| > ret, out = run_language( | |
| tmp_path, | |
| dart, | |
| 'secure-random -l 4 -b 16', | |
| deps=('encrypt:5.0.0',), | |
| ) | |
| tests/languages/dart_test.py:55: | |
| _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
| testing/language_helpers.py:26: in run_language | |
| language.install_environment(prefix, version, deps) | |
| pre_commit/languages/dart.py:70: in install_environment | |
| _install_dir(prefix, tmp) | |
| pre_commit/languages/dart.py:54: in _install_dir | |
| lang_base.setup_cmd(prefix_p, ('dart', 'pub', 'get'), env=dart_env) | |
| pre_commit/lang_base.py:87: in setup_cmd | |
| cmd_output_b(*cmd, cwd=prefix.prefix_dir, **kwargs) | |
| _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
| check = True, cmd = ('dart', 'pub', 'get') | |
| kwargs = {'cwd': '/private/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/pytest-of-alansutton/pytest-0/test_dart_additional_d... 'GHOSTTY_RESOURCES_DIR': '/Applications/Ghostty.app/Contents/Resources/ghostty', ...}, 'stderr': -1, 'stdin': -1, ...} | |
| stdout_b = b'Executable `dart` not found', stderr_b = None, returncode = 1 | |
| def cmd_output_b( | |
| *cmd: str, | |
| check: bool = True, | |
| **kwargs: Any, | |
| ) -> tuple[int, bytes, bytes | None]: | |
| _setdefault_kwargs(kwargs) | |
| try: | |
| cmd = parse_shebang.normalize_cmd(cmd, env=kwargs.get('env')) | |
| except parse_shebang.ExecutableNotFoundError as e: | |
| returncode, stdout_b, stderr_b = e.to_output() | |
| else: | |
| try: | |
| proc = subprocess.Popen(cmd, **kwargs) | |
| except OSError as e: | |
| returncode, stdout_b, stderr_b = _oserror_to_output(e) | |
| else: | |
| stdout_b, stderr_b = proc.communicate() | |
| returncode = proc.returncode | |
| if check and returncode: | |
| > raise CalledProcessError(returncode, cmd, stdout_b, stderr_b) | |
| E pre_commit.util.CalledProcessError: command: ('dart', 'pub', 'get') | |
| E return code: 1 | |
| E stdout: | |
| E Executable `dart` not found | |
| E stderr: (none) | |
| pre_commit/util.py:111: CalledProcessError | |
| __________________________________________________ test_docker_fallback_user ___________________________________________________ | |
| def test_docker_fallback_user(): | |
| def invalid_attribute(): | |
| raise AttributeError | |
| with mock.patch.multiple( | |
| 'os', create=True, | |
| getuid=invalid_attribute, | |
| getgid=invalid_attribute, | |
| ): | |
| > assert docker.get_docker_user() == () | |
| ^^^^^^^^^^^^^^^^^^^^^^^^ | |
| tests/languages/docker_test.py:195: | |
| _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
| pre_commit/languages/docker.py:132: in get_docker_user | |
| if _is_rootless(): | |
| ^^^^^^^^^^^^^^ | |
| pre_commit/languages/docker.py:111: in _is_rootless | |
| retcode, out, _ = cmd_output_b( | |
| _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
| check = True, cmd = ('docker', 'system', 'info', '--format', '{{ json . }}'), kwargs = {'stderr': -1, 'stdin': -1, 'stdout': -1} | |
| stdout_b = b'Executable `docker` not found', stderr_b = None, returncode = 1 | |
| def cmd_output_b( | |
| *cmd: str, | |
| check: bool = True, | |
| **kwargs: Any, | |
| ) -> tuple[int, bytes, bytes | None]: | |
| _setdefault_kwargs(kwargs) | |
| try: | |
| cmd = parse_shebang.normalize_cmd(cmd, env=kwargs.get('env')) | |
| except parse_shebang.ExecutableNotFoundError as e: | |
| returncode, stdout_b, stderr_b = e.to_output() | |
| else: | |
| try: | |
| proc = subprocess.Popen(cmd, **kwargs) | |
| except OSError as e: | |
| returncode, stdout_b, stderr_b = _oserror_to_output(e) | |
| else: | |
| stdout_b, stderr_b = proc.communicate() | |
| returncode = proc.returncode | |
| if check and returncode: | |
| > raise CalledProcessError(returncode, cmd, stdout_b, stderr_b) | |
| E pre_commit.util.CalledProcessError: command: ('docker', 'system', 'info', '--format', '{{ json . }}') | |
| E return code: 1 | |
| E stdout: | |
| E Executable `docker` not found | |
| E stderr: (none) | |
| pre_commit/util.py:111: CalledProcessError | |
| _______________________________________________________ test_docker_hook _______________________________________________________ | |
| tmp_path = PosixPath('/private/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/pytest-of-alansutton/pytest-0/test_docker_hook0') | |
| @xfailif_windows # pragma: win32 no cover | |
| def test_docker_hook(tmp_path): | |
| dockerfile = '''\ | |
| FROM ubuntu:22.04 | |
| CMD ["echo", "This is overwritten by the entry"'] | |
| ''' | |
| tmp_path.joinpath('Dockerfile').write_text(dockerfile) | |
| > ret = run_language(tmp_path, docker, 'echo hello hello world') | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
| tests/languages/docker_test.py:361: | |
| _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
| testing/language_helpers.py:26: in run_language | |
| language.install_environment(prefix, version, deps) | |
| pre_commit/languages/docker.py:105: in install_environment | |
| build_docker_image(prefix, pull=True) | |
| pre_commit/languages/docker.py:92: in build_docker_image | |
| lang_base.setup_cmd(prefix, cmd) | |
| pre_commit/lang_base.py:87: in setup_cmd | |
| cmd_output_b(*cmd, cwd=prefix.prefix_dir, **kwargs) | |
| _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
| check = True, cmd = ('docker', 'build', '--tag', 'pre-commit-fd1239095ee6804e2611d00bb2a91210', '--label', 'PRE_COMMIT', ...) | |
| kwargs = {'cwd': '/private/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/pytest-of-alansutton/pytest-0/test_docker_hook0', 'stderr': -1, 'stdin': -1, 'stdout': -1} | |
| stdout_b = b'Executable `docker` not found', stderr_b = None, returncode = 1 | |
| def cmd_output_b( | |
| *cmd: str, | |
| check: bool = True, | |
| **kwargs: Any, | |
| ) -> tuple[int, bytes, bytes | None]: | |
| _setdefault_kwargs(kwargs) | |
| try: | |
| cmd = parse_shebang.normalize_cmd(cmd, env=kwargs.get('env')) | |
| except parse_shebang.ExecutableNotFoundError as e: | |
| returncode, stdout_b, stderr_b = e.to_output() | |
| else: | |
| try: | |
| proc = subprocess.Popen(cmd, **kwargs) | |
| except OSError as e: | |
| returncode, stdout_b, stderr_b = _oserror_to_output(e) | |
| else: | |
| stdout_b, stderr_b = proc.communicate() | |
| returncode = proc.returncode | |
| if check and returncode: | |
| > raise CalledProcessError(returncode, cmd, stdout_b, stderr_b) | |
| E pre_commit.util.CalledProcessError: command: ('docker', 'build', '--tag', 'pre-commit-fd1239095ee6804e2611d00bb2a91210', '--label', 'PRE_COMMIT', '--pull', '.') | |
| E return code: 1 | |
| E stdout: | |
| E Executable `docker` not found | |
| E stderr: (none) | |
| pre_commit/util.py:111: CalledProcessError | |
| ______________________________________________ test_docker_hook_mount_permissions ______________________________________________ | |
| tmp_path = PosixPath('/private/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/pytest-of-alansutton/pytest-0/test_docker_hook_mount_permiss0') | |
| @xfailif_windows # pragma: win32 no cover | |
| def test_docker_hook_mount_permissions(tmp_path): | |
| dockerfile = '''\ | |
| FROM ubuntu:22.04 | |
| ''' | |
| tmp_path.joinpath('Dockerfile').write_text(dockerfile) | |
| > retcode, _ = run_language(tmp_path, docker, 'touch', ('README.md',)) | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
| tests/languages/docker_test.py:372: | |
| _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
| testing/language_helpers.py:26: in run_language | |
| language.install_environment(prefix, version, deps) | |
| pre_commit/languages/docker.py:105: in install_environment | |
| build_docker_image(prefix, pull=True) | |
| pre_commit/languages/docker.py:92: in build_docker_image | |
| lang_base.setup_cmd(prefix, cmd) | |
| pre_commit/lang_base.py:87: in setup_cmd | |
| cmd_output_b(*cmd, cwd=prefix.prefix_dir, **kwargs) | |
| _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
| check = True, cmd = ('docker', 'build', '--tag', 'pre-commit-a56628c8bb8e63acf8fea2fb3b0ecb02', '--label', 'PRE_COMMIT', ...) | |
| kwargs = {'cwd': '/private/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/pytest-of-alansutton/pytest-0/test_docker_hook_mount_permiss0', 'stderr': -1, 'stdin': -1, 'stdout': -1} | |
| stdout_b = b'Executable `docker` not found', stderr_b = None, returncode = 1 | |
| def cmd_output_b( | |
| *cmd: str, | |
| check: bool = True, | |
| **kwargs: Any, | |
| ) -> tuple[int, bytes, bytes | None]: | |
| _setdefault_kwargs(kwargs) | |
| try: | |
| cmd = parse_shebang.normalize_cmd(cmd, env=kwargs.get('env')) | |
| except parse_shebang.ExecutableNotFoundError as e: | |
| returncode, stdout_b, stderr_b = e.to_output() | |
| else: | |
| try: | |
| proc = subprocess.Popen(cmd, **kwargs) | |
| except OSError as e: | |
| returncode, stdout_b, stderr_b = _oserror_to_output(e) | |
| else: | |
| stdout_b, stderr_b = proc.communicate() | |
| returncode = proc.returncode | |
| if check and returncode: | |
| > raise CalledProcessError(returncode, cmd, stdout_b, stderr_b) | |
| E pre_commit.util.CalledProcessError: command: ('docker', 'build', '--tag', 'pre-commit-a56628c8bb8e63acf8fea2fb3b0ecb02', '--label', 'PRE_COMMIT', '--pull', '.') | |
| E return code: 1 | |
| E stdout: | |
| E Executable `docker` not found | |
| E stderr: (none) | |
| pre_commit/util.py:111: CalledProcessError | |
| ______________________________________________________ test_dotnet_csproj ______________________________________________________ | |
| tmp_path = PosixPath('/private/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/pytest-of-alansutton/pytest-0/test_dotnet_csproj0') | |
| def test_dotnet_csproj(tmp_path): | |
| csproj = _csproj('testeroni') | |
| _write_program_cs(tmp_path) | |
| tmp_path.joinpath('dotnet_csproj.csproj').write_text(csproj) | |
| > ret = run_language(tmp_path, dotnet, 'testeroni') | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
| tests/languages/dotnet_test.py:43: | |
| _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
| testing/language_helpers.py:26: in run_language | |
| language.install_environment(prefix, version, deps) | |
| pre_commit/languages/dotnet.py:67: in install_environment | |
| lang_base.setup_cmd( | |
| pre_commit/lang_base.py:87: in setup_cmd | |
| cmd_output_b(*cmd, cwd=prefix.prefix_dir, **kwargs) | |
| _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
| check = True | |
| cmd = ('dotnet', 'pack', '--configuration', 'Release', '--property', 'PackageOutputPath=/private/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/pytest-of-alansutton/pytest-0/test_dotnet_csproj0/pre-commit-build') | |
| kwargs = {'cwd': '/private/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/pytest-of-alansutton/pytest-0/test_dotnet_csproj0', 'stderr': -1, 'stdin': -1, 'stdout': -1} | |
| stdout_b = b'Executable `dotnet` not found', stderr_b = None, returncode = 1 | |
| def cmd_output_b( | |
| *cmd: str, | |
| check: bool = True, | |
| **kwargs: Any, | |
| ) -> tuple[int, bytes, bytes | None]: | |
| _setdefault_kwargs(kwargs) | |
| try: | |
| cmd = parse_shebang.normalize_cmd(cmd, env=kwargs.get('env')) | |
| except parse_shebang.ExecutableNotFoundError as e: | |
| returncode, stdout_b, stderr_b = e.to_output() | |
| else: | |
| try: | |
| proc = subprocess.Popen(cmd, **kwargs) | |
| except OSError as e: | |
| returncode, stdout_b, stderr_b = _oserror_to_output(e) | |
| else: | |
| stdout_b, stderr_b = proc.communicate() | |
| returncode = proc.returncode | |
| if check and returncode: | |
| > raise CalledProcessError(returncode, cmd, stdout_b, stderr_b) | |
| E pre_commit.util.CalledProcessError: command: ('dotnet', 'pack', '--configuration', 'Release', '--property', 'PackageOutputPath=/private/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/pytest-of-alansutton/pytest-0/test_dotnet_csproj0/pre-commit-build') | |
| E return code: 1 | |
| E stdout: | |
| E Executable `dotnet` not found | |
| E stderr: (none) | |
| pre_commit/util.py:111: CalledProcessError | |
| __________________________________________________ test_dotnet_csproj_prefix ___________________________________________________ | |
| tmp_path = PosixPath('/private/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/pytest-of-alansutton/pytest-0/test_dotnet_csproj_prefix0') | |
| def test_dotnet_csproj_prefix(tmp_path): | |
| csproj = _csproj('testeroni.tool') | |
| _write_program_cs(tmp_path) | |
| tmp_path.joinpath('dotnet_hooks_csproj_prefix.csproj').write_text(csproj) | |
| > ret = run_language(tmp_path, dotnet, 'testeroni.tool') | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
| tests/languages/dotnet_test.py:51: | |
| _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
| testing/language_helpers.py:26: in run_language | |
| language.install_environment(prefix, version, deps) | |
| pre_commit/languages/dotnet.py:67: in install_environment | |
| lang_base.setup_cmd( | |
| pre_commit/lang_base.py:87: in setup_cmd | |
| cmd_output_b(*cmd, cwd=prefix.prefix_dir, **kwargs) | |
| _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
| check = True | |
| cmd = ('dotnet', 'pack', '--configuration', 'Release', '--property', 'PackageOutputPath=/private/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/pytest-of-alansutton/pytest-0/test_dotnet_csproj_prefix0/pre-commit-build') | |
| kwargs = {'cwd': '/private/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/pytest-of-alansutton/pytest-0/test_dotnet_csproj_prefix0', 'stderr': -1, 'stdin': -1, 'stdout': -1} | |
| stdout_b = b'Executable `dotnet` not found', stderr_b = None, returncode = 1 | |
| def cmd_output_b( | |
| *cmd: str, | |
| check: bool = True, | |
| **kwargs: Any, | |
| ) -> tuple[int, bytes, bytes | None]: | |
| _setdefault_kwargs(kwargs) | |
| try: | |
| cmd = parse_shebang.normalize_cmd(cmd, env=kwargs.get('env')) | |
| except parse_shebang.ExecutableNotFoundError as e: | |
| returncode, stdout_b, stderr_b = e.to_output() | |
| else: | |
| try: | |
| proc = subprocess.Popen(cmd, **kwargs) | |
| except OSError as e: | |
| returncode, stdout_b, stderr_b = _oserror_to_output(e) | |
| else: | |
| stdout_b, stderr_b = proc.communicate() | |
| returncode = proc.returncode | |
| if check and returncode: | |
| > raise CalledProcessError(returncode, cmd, stdout_b, stderr_b) | |
| E pre_commit.util.CalledProcessError: command: ('dotnet', 'pack', '--configuration', 'Release', '--property', 'PackageOutputPath=/private/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/pytest-of-alansutton/pytest-0/test_dotnet_csproj_prefix0/pre-commit-build') | |
| E return code: 1 | |
| E stdout: | |
| E Executable `dotnet` not found | |
| E stderr: (none) | |
| pre_commit/util.py:111: CalledProcessError | |
| _______________________________________________________ test_dotnet_sln ________________________________________________________ | |
| tmp_path = PosixPath('/private/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/pytest-of-alansutton/pytest-0/test_dotnet_sln0') | |
| def test_dotnet_sln(tmp_path): | |
| csproj = _csproj('testeroni') | |
| sln = '''\ | |
| Microsoft Visual Studio Solution File, Format Version 12.00 | |
| # Visual Studio 15 | |
| VisualStudioVersion = 15.0.26124.0 | |
| MinimumVisualStudioVersion = 15.0.26124.0 | |
| Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "dotnet_hooks_sln_repo", "dotnet_hooks_sln_repo.csproj", "{6568CFDB-6F6F-45A9-932C-8C7DAABC8E56}" | |
| EndProject | |
| Global | |
| GlobalSection(SolutionConfigurationPlatforms) = preSolution | |
| Debug|Any CPU = Debug|Any CPU | |
| Debug|x64 = Debug|x64 | |
| Debug|x86 = Debug|x86 | |
| Release|Any CPU = Release|Any CPU | |
| Release|x64 = Release|x64 | |
| Release|x86 = Release|x86 | |
| EndGlobalSection | |
| GlobalSection(SolutionProperties) = preSolution | |
| HideSolutionNode = FALSE | |
| EndGlobalSection | |
| GlobalSection(ProjectConfigurationPlatforms) = postSolution | |
| {6568CFDB-6F6F-45A9-932C-8C7DAABC8E56}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | |
| {6568CFDB-6F6F-45A9-932C-8C7DAABC8E56}.Debug|Any CPU.Build.0 = Debug|Any CPU | |
| {6568CFDB-6F6F-45A9-932C-8C7DAABC8E56}.Debug|x64.ActiveCfg = Debug|Any CPU | |
| {6568CFDB-6F6F-45A9-932C-8C7DAABC8E56}.Debug|x64.Build.0 = Debug|Any CPU | |
| {6568CFDB-6F6F-45A9-932C-8C7DAABC8E56}.Debug|x86.ActiveCfg = Debug|Any CPU | |
| {6568CFDB-6F6F-45A9-932C-8C7DAABC8E56}.Debug|x86.Build.0 = Debug|Any CPU | |
| {6568CFDB-6F6F-45A9-932C-8C7DAABC8E56}.Release|Any CPU.ActiveCfg = Release|Any CPU | |
| {6568CFDB-6F6F-45A9-932C-8C7DAABC8E56}.Release|Any CPU.Build.0 = Release|Any CPU | |
| {6568CFDB-6F6F-45A9-932C-8C7DAABC8E56}.Release|x64.ActiveCfg = Release|Any CPU | |
| {6568CFDB-6F6F-45A9-932C-8C7DAABC8E56}.Release|x64.Build.0 = Release|Any CPU | |
| {6568CFDB-6F6F-45A9-932C-8C7DAABC8E56}.Release|x86.ActiveCfg = Release|Any CPU | |
| {6568CFDB-6F6F-45A9-932C-8C7DAABC8E56}.Release|x86.Build.0 = Release|Any CPU | |
| EndGlobalSection | |
| EndGlobal | |
| ''' # noqa: E501 | |
| _write_program_cs(tmp_path) | |
| tmp_path.joinpath('dotnet_hooks_sln_repo.csproj').write_text(csproj) | |
| tmp_path.joinpath('dotnet_hooks_sln_repo.sln').write_text(sln) | |
| > ret = run_language(tmp_path, dotnet, 'testeroni') | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
| tests/languages/dotnet_test.py:96: | |
| _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
| testing/language_helpers.py:26: in run_language | |
| language.install_environment(prefix, version, deps) | |
| pre_commit/languages/dotnet.py:67: in install_environment | |
| lang_base.setup_cmd( | |
| pre_commit/lang_base.py:87: in setup_cmd | |
| cmd_output_b(*cmd, cwd=prefix.prefix_dir, **kwargs) | |
| _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
| check = True | |
| cmd = ('dotnet', 'pack', '--configuration', 'Release', '--property', 'PackageOutputPath=/private/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/pytest-of-alansutton/pytest-0/test_dotnet_sln0/pre-commit-build') | |
| kwargs = {'cwd': '/private/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/pytest-of-alansutton/pytest-0/test_dotnet_sln0', 'stderr': -1, 'stdin': -1, 'stdout': -1} | |
| stdout_b = b'Executable `dotnet` not found', stderr_b = None, returncode = 1 | |
| def cmd_output_b( | |
| *cmd: str, | |
| check: bool = True, | |
| **kwargs: Any, | |
| ) -> tuple[int, bytes, bytes | None]: | |
| _setdefault_kwargs(kwargs) | |
| try: | |
| cmd = parse_shebang.normalize_cmd(cmd, env=kwargs.get('env')) | |
| except parse_shebang.ExecutableNotFoundError as e: | |
| returncode, stdout_b, stderr_b = e.to_output() | |
| else: | |
| try: | |
| proc = subprocess.Popen(cmd, **kwargs) | |
| except OSError as e: | |
| returncode, stdout_b, stderr_b = _oserror_to_output(e) | |
| else: | |
| stdout_b, stderr_b = proc.communicate() | |
| returncode = proc.returncode | |
| if check and returncode: | |
| > raise CalledProcessError(returncode, cmd, stdout_b, stderr_b) | |
| E pre_commit.util.CalledProcessError: command: ('dotnet', 'pack', '--configuration', 'Release', '--property', 'PackageOutputPath=/private/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/pytest-of-alansutton/pytest-0/test_dotnet_sln0/pre-commit-build') | |
| E return code: 1 | |
| E stdout: | |
| E Executable `dotnet` not found | |
| E stderr: (none) | |
| pre_commit/util.py:111: CalledProcessError | |
| ___________________________________________________ test_dotnet_combo_proj1 ____________________________________________________ | |
| tmp_path = PosixPath('/private/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/pytest-of-alansutton/pytest-0/test_dotnet_combo_proj10') | |
| def test_dotnet_combo_proj1(tmp_path): | |
| _setup_dotnet_combo(tmp_path) | |
| > ret = run_language(tmp_path, dotnet, 'proj1') | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
| tests/languages/dotnet_test.py:147: | |
| _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
| testing/language_helpers.py:26: in run_language | |
| language.install_environment(prefix, version, deps) | |
| pre_commit/languages/dotnet.py:67: in install_environment | |
| lang_base.setup_cmd( | |
| pre_commit/lang_base.py:87: in setup_cmd | |
| cmd_output_b(*cmd, cwd=prefix.prefix_dir, **kwargs) | |
| _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
| check = True | |
| cmd = ('dotnet', 'pack', '--configuration', 'Release', '--property', 'PackageOutputPath=/private/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/pytest-of-alansutton/pytest-0/test_dotnet_combo_proj10/pre-commit-build') | |
| kwargs = {'cwd': '/private/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/pytest-of-alansutton/pytest-0/test_dotnet_combo_proj10', 'stderr': -1, 'stdin': -1, 'stdout': -1} | |
| stdout_b = b'Executable `dotnet` not found', stderr_b = None, returncode = 1 | |
| def cmd_output_b( | |
| *cmd: str, | |
| check: bool = True, | |
| **kwargs: Any, | |
| ) -> tuple[int, bytes, bytes | None]: | |
| _setdefault_kwargs(kwargs) | |
| try: | |
| cmd = parse_shebang.normalize_cmd(cmd, env=kwargs.get('env')) | |
| except parse_shebang.ExecutableNotFoundError as e: | |
| returncode, stdout_b, stderr_b = e.to_output() | |
| else: | |
| try: | |
| proc = subprocess.Popen(cmd, **kwargs) | |
| except OSError as e: | |
| returncode, stdout_b, stderr_b = _oserror_to_output(e) | |
| else: | |
| stdout_b, stderr_b = proc.communicate() | |
| returncode = proc.returncode | |
| if check and returncode: | |
| > raise CalledProcessError(returncode, cmd, stdout_b, stderr_b) | |
| E pre_commit.util.CalledProcessError: command: ('dotnet', 'pack', '--configuration', 'Release', '--property', 'PackageOutputPath=/private/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/pytest-of-alansutton/pytest-0/test_dotnet_combo_proj10/pre-commit-build') | |
| E return code: 1 | |
| E stdout: | |
| E Executable `dotnet` not found | |
| E stderr: (none) | |
| pre_commit/util.py:111: CalledProcessError | |
| ___________________________________________________ test_dotnet_combo_proj2 ____________________________________________________ | |
| tmp_path = PosixPath('/private/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/pytest-of-alansutton/pytest-0/test_dotnet_combo_proj20') | |
| def test_dotnet_combo_proj2(tmp_path): | |
| _setup_dotnet_combo(tmp_path) | |
| > ret = run_language(tmp_path, dotnet, 'proj2') | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
| tests/languages/dotnet_test.py:153: | |
| _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
| testing/language_helpers.py:26: in run_language | |
| language.install_environment(prefix, version, deps) | |
| pre_commit/languages/dotnet.py:67: in install_environment | |
| lang_base.setup_cmd( | |
| pre_commit/lang_base.py:87: in setup_cmd | |
| cmd_output_b(*cmd, cwd=prefix.prefix_dir, **kwargs) | |
| _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
| check = True | |
| cmd = ('dotnet', 'pack', '--configuration', 'Release', '--property', 'PackageOutputPath=/private/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/pytest-of-alansutton/pytest-0/test_dotnet_combo_proj20/pre-commit-build') | |
| kwargs = {'cwd': '/private/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/pytest-of-alansutton/pytest-0/test_dotnet_combo_proj20', 'stderr': -1, 'stdin': -1, 'stdout': -1} | |
| stdout_b = b'Executable `dotnet` not found', stderr_b = None, returncode = 1 | |
| def cmd_output_b( | |
| *cmd: str, | |
| check: bool = True, | |
| **kwargs: Any, | |
| ) -> tuple[int, bytes, bytes | None]: | |
| _setdefault_kwargs(kwargs) | |
| try: | |
| cmd = parse_shebang.normalize_cmd(cmd, env=kwargs.get('env')) | |
| except parse_shebang.ExecutableNotFoundError as e: | |
| returncode, stdout_b, stderr_b = e.to_output() | |
| else: | |
| try: | |
| proc = subprocess.Popen(cmd, **kwargs) | |
| except OSError as e: | |
| returncode, stdout_b, stderr_b = _oserror_to_output(e) | |
| else: | |
| stdout_b, stderr_b = proc.communicate() | |
| returncode = proc.returncode | |
| if check and returncode: | |
| > raise CalledProcessError(returncode, cmd, stdout_b, stderr_b) | |
| E pre_commit.util.CalledProcessError: command: ('dotnet', 'pack', '--configuration', 'Release', '--property', 'PackageOutputPath=/private/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/pytest-of-alansutton/pytest-0/test_dotnet_combo_proj20/pre-commit-build') | |
| E return code: 1 | |
| E stdout: | |
| E Executable `dotnet` not found | |
| E stderr: (none) | |
| pre_commit/util.py:111: CalledProcessError | |
| _________________________________________________ test_run_example_executable __________________________________________________ | |
| tmp_path = PosixPath('/private/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/pytest-of-alansutton/pytest-0/test_run_example_executable0') | |
| def test_run_example_executable(tmp_path): | |
| example_cabal = '''\ | |
| cabal-version: 2.4 | |
| name: example | |
| version: 0.1.0.0 | |
| executable example | |
| main-is: Main.hs | |
| build-depends: base >=4 | |
| default-language: Haskell2010 | |
| ''' | |
| main_hs = '''\ | |
| module Main where | |
| main :: IO () | |
| main = putStrLn "Hello, Haskell!" | |
| ''' | |
| tmp_path.joinpath('example.cabal').write_text(example_cabal) | |
| tmp_path.joinpath('Main.hs').write_text(main_hs) | |
| > result = run_language(tmp_path, haskell, 'example') | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
| tests/languages/haskell_test.py:32: | |
| _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
| testing/language_helpers.py:26: in run_language | |
| language.install_environment(prefix, version, deps) | |
| pre_commit/languages/haskell.py:47: in install_environment | |
| lang_base.setup_cmd(prefix, ('cabal', 'update')) | |
| pre_commit/lang_base.py:87: in setup_cmd | |
| cmd_output_b(*cmd, cwd=prefix.prefix_dir, **kwargs) | |
| _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
| check = True, cmd = ('cabal', 'update') | |
| kwargs = {'cwd': '/private/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/pytest-of-alansutton/pytest-0/test_run_example_executable0', 'stderr': -1, 'stdin': -1, 'stdout': -1} | |
| stdout_b = b'Executable `cabal` not found', stderr_b = None, returncode = 1 | |
| def cmd_output_b( | |
| *cmd: str, | |
| check: bool = True, | |
| **kwargs: Any, | |
| ) -> tuple[int, bytes, bytes | None]: | |
| _setdefault_kwargs(kwargs) | |
| try: | |
| cmd = parse_shebang.normalize_cmd(cmd, env=kwargs.get('env')) | |
| except parse_shebang.ExecutableNotFoundError as e: | |
| returncode, stdout_b, stderr_b = e.to_output() | |
| else: | |
| try: | |
| proc = subprocess.Popen(cmd, **kwargs) | |
| except OSError as e: | |
| returncode, stdout_b, stderr_b = _oserror_to_output(e) | |
| else: | |
| stdout_b, stderr_b = proc.communicate() | |
| returncode = proc.returncode | |
| if check and returncode: | |
| > raise CalledProcessError(returncode, cmd, stdout_b, stderr_b) | |
| E pre_commit.util.CalledProcessError: command: ('cabal', 'update') | |
| E return code: 1 | |
| E stdout: | |
| E Executable `cabal` not found | |
| E stderr: (none) | |
| pre_commit/util.py:111: CalledProcessError | |
| _________________________________________________________ test_run_dep _________________________________________________________ | |
| tmp_path = PosixPath('/private/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/pytest-of-alansutton/pytest-0/test_run_dep0') | |
| def test_run_dep(tmp_path): | |
| > result = run_language(tmp_path, haskell, 'hello', deps=['hello']) | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
| tests/languages/haskell_test.py:42: | |
| _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
| testing/language_helpers.py:26: in run_language | |
| language.install_environment(prefix, version, deps) | |
| pre_commit/languages/haskell.py:47: in install_environment | |
| lang_base.setup_cmd(prefix, ('cabal', 'update')) | |
| pre_commit/lang_base.py:87: in setup_cmd | |
| cmd_output_b(*cmd, cwd=prefix.prefix_dir, **kwargs) | |
| _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
| check = True, cmd = ('cabal', 'update') | |
| kwargs = {'cwd': '/private/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/pytest-of-alansutton/pytest-0/test_run_dep0', 'stderr': -1, 'stdin': -1, 'stdout': -1} | |
| stdout_b = b'Executable `cabal` not found', stderr_b = None, returncode = 1 | |
| def cmd_output_b( | |
| *cmd: str, | |
| check: bool = True, | |
| **kwargs: Any, | |
| ) -> tuple[int, bytes, bytes | None]: | |
| _setdefault_kwargs(kwargs) | |
| try: | |
| cmd = parse_shebang.normalize_cmd(cmd, env=kwargs.get('env')) | |
| except parse_shebang.ExecutableNotFoundError as e: | |
| returncode, stdout_b, stderr_b = e.to_output() | |
| else: | |
| try: | |
| proc = subprocess.Popen(cmd, **kwargs) | |
| except OSError as e: | |
| returncode, stdout_b, stderr_b = _oserror_to_output(e) | |
| else: | |
| stdout_b, stderr_b = proc.communicate() | |
| returncode = proc.returncode | |
| if check and returncode: | |
| > raise CalledProcessError(returncode, cmd, stdout_b, stderr_b) | |
| E pre_commit.util.CalledProcessError: command: ('cabal', 'update') | |
| E return code: 1 | |
| E stdout: | |
| E Executable `cabal` not found | |
| E stderr: (none) | |
| pre_commit/util.py:111: CalledProcessError | |
| _______________________________________________________ test_julia_hook ________________________________________________________ | |
| tmp_path = PosixPath('/private/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/pytest-of-alansutton/pytest-0/test_julia_hook0') | |
| def test_julia_hook(tmp_path): | |
| code = """ | |
| using Example | |
| function main() | |
| println("Hello, world!") | |
| end | |
| main() | |
| """ | |
| _make_hook(tmp_path, code) | |
| expected = (0, b'Hello, world!\n') | |
| > assert run_language(tmp_path, julia, 'src/main.jl') == expected | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
| tests/languages/julia_test.py:31: | |
| _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
| testing/language_helpers.py:26: in run_language | |
| language.install_environment(prefix, version, deps) | |
| pre_commit/languages/julia.py:129: in install_environment | |
| cmd_output_b( | |
| _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
| check = True | |
| cmd = ('julia', '--startup-file=no', '-e', '\n @assert length(ARGS) > 0\n hook_env = ARGS[1]\n deps = j...ivate/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/pytest-of-alansutton/pytest-0/test_julia_hook0/juliaenv-default') | |
| kwargs = {'cwd': '/private/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/pytest-of-alansutton/pytest-0/test_julia_hook0', 'stderr': -1, 'stdin': -1, 'stdout': -1} | |
| stdout_b = b'Executable `julia` not found', stderr_b = None, returncode = 1 | |
| def cmd_output_b( | |
| *cmd: str, | |
| check: bool = True, | |
| **kwargs: Any, | |
| ) -> tuple[int, bytes, bytes | None]: | |
| _setdefault_kwargs(kwargs) | |
| try: | |
| cmd = parse_shebang.normalize_cmd(cmd, env=kwargs.get('env')) | |
| except parse_shebang.ExecutableNotFoundError as e: | |
| returncode, stdout_b, stderr_b = e.to_output() | |
| else: | |
| try: | |
| proc = subprocess.Popen(cmd, **kwargs) | |
| except OSError as e: | |
| returncode, stdout_b, stderr_b = _oserror_to_output(e) | |
| else: | |
| stdout_b, stderr_b = proc.communicate() | |
| returncode = proc.returncode | |
| if check and returncode: | |
| > raise CalledProcessError(returncode, cmd, stdout_b, stderr_b) | |
| E pre_commit.util.CalledProcessError: command: ('julia', '--startup-file=no', '-e', '\n @assert length(ARGS) > 0\n hook_env = ARGS[1]\n deps = join(ARGS[2:end], " ")\n\n # We prepend @stdlib here so that we can load the package manager even\n # though `get_env_patch` limits `JULIA_LOAD_PATH` to just the hook env.\n pushfirst!(LOAD_PATH, "@stdlib")\n using Pkg\n popfirst!(LOAD_PATH)\n\n # Instantiate the environment shipped with the hook repo. If we have\n # additional dependencies we disable precompilation in this step to\n # avoid double work.\n precompile = isempty(deps) ? "1" : "0"\n withenv("JULIA_PKG_PRECOMPILE_AUTO" => precompile) do\n Pkg.instantiate()\n end\n\n # Add additional dependencies (with precompilation)\n if !isempty(deps)\n withenv("JULIA_PKG_PRECOMPILE_AUTO" => "1") do\n Pkg.REPLMode.pkgstr("add " * deps)\n end\n end\n ', '--', '/private/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/pytest-of-alansutton/pytest-0/test_julia_hook0/juliaenv-default') | |
| E return code: 1 | |
| E stdout: | |
| E Executable `julia` not found | |
| E stderr: (none) | |
| pre_commit/util.py:111: CalledProcessError | |
| _________________________________________________ test_julia_hook_with_startup _________________________________________________ | |
| tmp_path = PosixPath('/private/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/pytest-of-alansutton/pytest-0/test_julia_hook_with_startup0') | |
| def test_julia_hook_with_startup(tmp_path): | |
| depot_path = tmp_path.joinpath('depot') | |
| depot_path.joinpath('config').mkdir(parents=True) | |
| startup = depot_path.joinpath('config', 'startup.jl') | |
| startup.write_text('error("Startup file used!")\n') | |
| depo_path_var = f'{depot_path}{os.pathsep}' | |
| with mock.patch.dict(os.environ, {'JULIA_DEPOT_PATH': depo_path_var}): | |
| > test_julia_hook(tmp_path) | |
| tests/languages/julia_test.py:42: | |
| _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
| tests/languages/julia_test.py:31: in test_julia_hook | |
| assert run_language(tmp_path, julia, 'src/main.jl') == expected | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
| testing/language_helpers.py:26: in run_language | |
| language.install_environment(prefix, version, deps) | |
| pre_commit/languages/julia.py:129: in install_environment | |
| cmd_output_b( | |
| _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
| check = True | |
| cmd = ('julia', '--startup-file=no', '-e', '\n @assert length(ARGS) > 0\n hook_env = ARGS[1]\n deps = j...ders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/pytest-of-alansutton/pytest-0/test_julia_hook_with_startup0/juliaenv-default') | |
| kwargs = {'cwd': '/private/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/pytest-of-alansutton/pytest-0/test_julia_hook_with_startup0', 'stderr': -1, 'stdin': -1, 'stdout': -1} | |
| stdout_b = b'Executable `julia` not found', stderr_b = None, returncode = 1 | |
| def cmd_output_b( | |
| *cmd: str, | |
| check: bool = True, | |
| **kwargs: Any, | |
| ) -> tuple[int, bytes, bytes | None]: | |
| _setdefault_kwargs(kwargs) | |
| try: | |
| cmd = parse_shebang.normalize_cmd(cmd, env=kwargs.get('env')) | |
| except parse_shebang.ExecutableNotFoundError as e: | |
| returncode, stdout_b, stderr_b = e.to_output() | |
| else: | |
| try: | |
| proc = subprocess.Popen(cmd, **kwargs) | |
| except OSError as e: | |
| returncode, stdout_b, stderr_b = _oserror_to_output(e) | |
| else: | |
| stdout_b, stderr_b = proc.communicate() | |
| returncode = proc.returncode | |
| if check and returncode: | |
| > raise CalledProcessError(returncode, cmd, stdout_b, stderr_b) | |
| E pre_commit.util.CalledProcessError: command: ('julia', '--startup-file=no', '-e', '\n @assert length(ARGS) > 0\n hook_env = ARGS[1]\n deps = join(ARGS[2:end], " ")\n\n # We prepend @stdlib here so that we can load the package manager even\n # though `get_env_patch` limits `JULIA_LOAD_PATH` to just the hook env.\n pushfirst!(LOAD_PATH, "@stdlib")\n using Pkg\n popfirst!(LOAD_PATH)\n\n # Instantiate the environment shipped with the hook repo. If we have\n # additional dependencies we disable precompilation in this step to\n # avoid double work.\n precompile = isempty(deps) ? "1" : "0"\n withenv("JULIA_PKG_PRECOMPILE_AUTO" => precompile) do\n Pkg.instantiate()\n end\n\n # Add additional dependencies (with precompilation)\n if !isempty(deps)\n withenv("JULIA_PKG_PRECOMPILE_AUTO" => "1") do\n Pkg.REPLMode.pkgstr("add " * deps)\n end\n end\n ', '--', '/private/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/pytest-of-alansutton/pytest-0/test_julia_hook_with_startup0/juliaenv-default') | |
| E return code: 1 | |
| E stdout: | |
| E Executable `julia` not found | |
| E stderr: (none) | |
| pre_commit/util.py:111: CalledProcessError | |
| ___________________________________________________ test_julia_hook_manifest ___________________________________________________ | |
| tmp_path = PosixPath('/private/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/pytest-of-alansutton/pytest-0/test_julia_hook_manifest0') | |
| def test_julia_hook_manifest(tmp_path): | |
| code = """ | |
| using Example | |
| println(pkgversion(Example)) | |
| """ | |
| _make_hook(tmp_path, code) | |
| tmp_path.joinpath('Manifest.toml').write_text( | |
| 'manifest_format = "2.0"\n\n' | |
| '[[deps.Example]]\n' | |
| 'git-tree-sha1 = "11820aa9c229fd3833d4bd69e5e75ef4e7273bf1"\n' | |
| 'uuid = "7876af07-990d-54b4-ab0e-23690620f79a"\n' | |
| 'version = "0.5.4"\n', | |
| ) | |
| expected = (0, b'0.5.4\n') | |
| > assert run_language(tmp_path, julia, 'src/main.jl') == expected | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
| tests/languages/julia_test.py:60: | |
| _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
| testing/language_helpers.py:26: in run_language | |
| language.install_environment(prefix, version, deps) | |
| pre_commit/languages/julia.py:129: in install_environment | |
| cmd_output_b( | |
| _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
| check = True | |
| cmd = ('julia', '--startup-file=no', '-e', '\n @assert length(ARGS) > 0\n hook_env = ARGS[1]\n deps = j.../folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/pytest-of-alansutton/pytest-0/test_julia_hook_manifest0/juliaenv-default') | |
| kwargs = {'cwd': '/private/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/pytest-of-alansutton/pytest-0/test_julia_hook_manifest0', 'stderr': -1, 'stdin': -1, 'stdout': -1} | |
| stdout_b = b'Executable `julia` not found', stderr_b = None, returncode = 1 | |
| def cmd_output_b( | |
| *cmd: str, | |
| check: bool = True, | |
| **kwargs: Any, | |
| ) -> tuple[int, bytes, bytes | None]: | |
| _setdefault_kwargs(kwargs) | |
| try: | |
| cmd = parse_shebang.normalize_cmd(cmd, env=kwargs.get('env')) | |
| except parse_shebang.ExecutableNotFoundError as e: | |
| returncode, stdout_b, stderr_b = e.to_output() | |
| else: | |
| try: | |
| proc = subprocess.Popen(cmd, **kwargs) | |
| except OSError as e: | |
| returncode, stdout_b, stderr_b = _oserror_to_output(e) | |
| else: | |
| stdout_b, stderr_b = proc.communicate() | |
| returncode = proc.returncode | |
| if check and returncode: | |
| > raise CalledProcessError(returncode, cmd, stdout_b, stderr_b) | |
| E pre_commit.util.CalledProcessError: command: ('julia', '--startup-file=no', '-e', '\n @assert length(ARGS) > 0\n hook_env = ARGS[1]\n deps = join(ARGS[2:end], " ")\n\n # We prepend @stdlib here so that we can load the package manager even\n # though `get_env_patch` limits `JULIA_LOAD_PATH` to just the hook env.\n pushfirst!(LOAD_PATH, "@stdlib")\n using Pkg\n popfirst!(LOAD_PATH)\n\n # Instantiate the environment shipped with the hook repo. If we have\n # additional dependencies we disable precompilation in this step to\n # avoid double work.\n precompile = isempty(deps) ? "1" : "0"\n withenv("JULIA_PKG_PRECOMPILE_AUTO" => precompile) do\n Pkg.instantiate()\n end\n\n # Add additional dependencies (with precompilation)\n if !isempty(deps)\n withenv("JULIA_PKG_PRECOMPILE_AUTO" => "1") do\n Pkg.REPLMode.pkgstr("add " * deps)\n end\n end\n ', '--', '/private/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/pytest-of-alansutton/pytest-0/test_julia_hook_manifest0/juliaenv-default') | |
| E return code: 1 | |
| E stdout: | |
| E Executable `julia` not found | |
| E stderr: (none) | |
| pre_commit/util.py:111: CalledProcessError | |
| _____________________________________________________ test_julia_hook_args _____________________________________________________ | |
| tmp_path = PosixPath('/private/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/pytest-of-alansutton/pytest-0/test_julia_hook_args0') | |
| def test_julia_hook_args(tmp_path): | |
| code = """ | |
| function main(argv) | |
| foreach(println, argv) | |
| end | |
| main(ARGS) | |
| """ | |
| _make_hook(tmp_path, code) | |
| expected = (0, b'--arg1\n--arg2\n') | |
| > assert run_language( | |
| tmp_path, julia, 'src/main.jl --arg1 --arg2', | |
| ) == expected | |
| tests/languages/julia_test.py:72: | |
| _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
| testing/language_helpers.py:26: in run_language | |
| language.install_environment(prefix, version, deps) | |
| pre_commit/languages/julia.py:129: in install_environment | |
| cmd_output_b( | |
| _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
| check = True | |
| cmd = ('julia', '--startup-file=no', '-e', '\n @assert length(ARGS) > 0\n hook_env = ARGS[1]\n deps = j.../var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/pytest-of-alansutton/pytest-0/test_julia_hook_args0/juliaenv-default') | |
| kwargs = {'cwd': '/private/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/pytest-of-alansutton/pytest-0/test_julia_hook_args0', 'stderr': -1, 'stdin': -1, 'stdout': -1} | |
| stdout_b = b'Executable `julia` not found', stderr_b = None, returncode = 1 | |
| def cmd_output_b( | |
| *cmd: str, | |
| check: bool = True, | |
| **kwargs: Any, | |
| ) -> tuple[int, bytes, bytes | None]: | |
| _setdefault_kwargs(kwargs) | |
| try: | |
| cmd = parse_shebang.normalize_cmd(cmd, env=kwargs.get('env')) | |
| except parse_shebang.ExecutableNotFoundError as e: | |
| returncode, stdout_b, stderr_b = e.to_output() | |
| else: | |
| try: | |
| proc = subprocess.Popen(cmd, **kwargs) | |
| except OSError as e: | |
| returncode, stdout_b, stderr_b = _oserror_to_output(e) | |
| else: | |
| stdout_b, stderr_b = proc.communicate() | |
| returncode = proc.returncode | |
| if check and returncode: | |
| > raise CalledProcessError(returncode, cmd, stdout_b, stderr_b) | |
| E pre_commit.util.CalledProcessError: command: ('julia', '--startup-file=no', '-e', '\n @assert length(ARGS) > 0\n hook_env = ARGS[1]\n deps = join(ARGS[2:end], " ")\n\n # We prepend @stdlib here so that we can load the package manager even\n # though `get_env_patch` limits `JULIA_LOAD_PATH` to just the hook env.\n pushfirst!(LOAD_PATH, "@stdlib")\n using Pkg\n popfirst!(LOAD_PATH)\n\n # Instantiate the environment shipped with the hook repo. If we have\n # additional dependencies we disable precompilation in this step to\n # avoid double work.\n precompile = isempty(deps) ? "1" : "0"\n withenv("JULIA_PKG_PRECOMPILE_AUTO" => precompile) do\n Pkg.instantiate()\n end\n\n # Add additional dependencies (with precompilation)\n if !isempty(deps)\n withenv("JULIA_PKG_PRECOMPILE_AUTO" => "1") do\n Pkg.REPLMode.pkgstr("add " * deps)\n end\n end\n ', '--', '/private/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/pytest-of-alansutton/pytest-0/test_julia_hook_args0/juliaenv-default') | |
| E return code: 1 | |
| E stdout: | |
| E Executable `julia` not found | |
| E stderr: (none) | |
| pre_commit/util.py:111: CalledProcessError | |
| _______________________________________________ test_julia_hook_additional_deps ________________________________________________ | |
| tmp_path = PosixPath('/private/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/pytest-of-alansutton/pytest-0/test_julia_hook_additional_dep0') | |
| def test_julia_hook_additional_deps(tmp_path): | |
| code = """ | |
| using TOML | |
| function main() | |
| project_file = Base.active_project() | |
| dict = TOML.parsefile(project_file) | |
| for (k, v) in dict["deps"] | |
| println(k, " = ", v) | |
| end | |
| end | |
| main() | |
| """ | |
| _make_hook(tmp_path, code) | |
| deps = ('TOML=fa267f1f-6049-4f14-aa54-33bafae1ed76',) | |
| > ret, out = run_language(tmp_path, julia, 'src/main.jl', deps=deps) | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
| tests/languages/julia_test.py:91: | |
| _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
| testing/language_helpers.py:26: in run_language | |
| language.install_environment(prefix, version, deps) | |
| pre_commit/languages/julia.py:129: in install_environment | |
| cmd_output_b( | |
| _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
| check = True | |
| cmd = ('julia', '--startup-file=no', '-e', '\n @assert length(ARGS) > 0\n hook_env = ARGS[1]\n deps = j.../tsddzn355bgdp6ct9t01csr00000gq/T/pytest-of-alansutton/pytest-0/test_julia_hook_additional_dep0/juliaenv-default', ...) | |
| kwargs = {'cwd': '/private/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/pytest-of-alansutton/pytest-0/test_julia_hook_additional_dep0', 'stderr': -1, 'stdin': -1, 'stdout': -1} | |
| stdout_b = b'Executable `julia` not found', stderr_b = None, returncode = 1 | |
| def cmd_output_b( | |
| *cmd: str, | |
| check: bool = True, | |
| **kwargs: Any, | |
| ) -> tuple[int, bytes, bytes | None]: | |
| _setdefault_kwargs(kwargs) | |
| try: | |
| cmd = parse_shebang.normalize_cmd(cmd, env=kwargs.get('env')) | |
| except parse_shebang.ExecutableNotFoundError as e: | |
| returncode, stdout_b, stderr_b = e.to_output() | |
| else: | |
| try: | |
| proc = subprocess.Popen(cmd, **kwargs) | |
| except OSError as e: | |
| returncode, stdout_b, stderr_b = _oserror_to_output(e) | |
| else: | |
| stdout_b, stderr_b = proc.communicate() | |
| returncode = proc.returncode | |
| if check and returncode: | |
| > raise CalledProcessError(returncode, cmd, stdout_b, stderr_b) | |
| E pre_commit.util.CalledProcessError: command: ('julia', '--startup-file=no', '-e', '\n @assert length(ARGS) > 0\n hook_env = ARGS[1]\n deps = join(ARGS[2:end], " ")\n\n # We prepend @stdlib here so that we can load the package manager even\n # though `get_env_patch` limits `JULIA_LOAD_PATH` to just the hook env.\n pushfirst!(LOAD_PATH, "@stdlib")\n using Pkg\n popfirst!(LOAD_PATH)\n\n # Instantiate the environment shipped with the hook repo. If we have\n # additional dependencies we disable precompilation in this step to\n # avoid double work.\n precompile = isempty(deps) ? "1" : "0"\n withenv("JULIA_PKG_PRECOMPILE_AUTO" => precompile) do\n Pkg.instantiate()\n end\n\n # Add additional dependencies (with precompilation)\n if !isempty(deps)\n withenv("JULIA_PKG_PRECOMPILE_AUTO" => "1") do\n Pkg.REPLMode.pkgstr("add " * deps)\n end\n end\n ', '--', '/private/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/pytest-of-alansutton/pytest-0/test_julia_hook_additional_dep0/juliaenv-default', 'TOML=fa267f1f-6049-4f14-aa54-33bafae1ed76') | |
| E return code: 1 | |
| E stdout: | |
| E Executable `julia` not found | |
| E stderr: (none) | |
| pre_commit/util.py:111: CalledProcessError | |
| ____________________________________________________ test_julia_repo_local _____________________________________________________ | |
| tmp_path = PosixPath('/private/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/pytest-of-alansutton/pytest-0/test_julia_repo_local0') | |
| def test_julia_repo_local(tmp_path): | |
| env_dir = tmp_path.joinpath('envdir') | |
| env_dir.mkdir() | |
| local_dir = tmp_path.joinpath('local') | |
| local_dir.mkdir() | |
| local_dir.joinpath('local.jl').write_text( | |
| 'using TOML; foreach(println, ARGS)', | |
| ) | |
| with cwd(local_dir): | |
| deps = ('TOML=fa267f1f-6049-4f14-aa54-33bafae1ed76',) | |
| expected = (0, b'--local-arg1\n--local-arg2\n') | |
| > assert run_language( | |
| env_dir, julia, 'local.jl --local-arg1 --local-arg2', | |
| deps=deps, is_local=True, | |
| ) == expected | |
| tests/languages/julia_test.py:108: | |
| _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
| testing/language_helpers.py:26: in run_language | |
| language.install_environment(prefix, version, deps) | |
| pre_commit/languages/julia.py:129: in install_environment | |
| cmd_output_b( | |
| _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
| check = True | |
| cmd = ('julia', '--startup-file=no', '-e', '\n @assert length(ARGS) > 0\n hook_env = ARGS[1]\n deps = j...t_/tsddzn355bgdp6ct9t01csr00000gq/T/pytest-of-alansutton/pytest-0/test_julia_repo_local0/envdir/juliaenv-default', ...) | |
| kwargs = {'cwd': '/private/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/pytest-of-alansutton/pytest-0/test_julia_repo_local0/envdir', 'stderr': -1, 'stdin': -1, 'stdout': -1} | |
| stdout_b = b'Executable `julia` not found', stderr_b = None, returncode = 1 | |
| def cmd_output_b( | |
| *cmd: str, | |
| check: bool = True, | |
| **kwargs: Any, | |
| ) -> tuple[int, bytes, bytes | None]: | |
| _setdefault_kwargs(kwargs) | |
| try: | |
| cmd = parse_shebang.normalize_cmd(cmd, env=kwargs.get('env')) | |
| except parse_shebang.ExecutableNotFoundError as e: | |
| returncode, stdout_b, stderr_b = e.to_output() | |
| else: | |
| try: | |
| proc = subprocess.Popen(cmd, **kwargs) | |
| except OSError as e: | |
| returncode, stdout_b, stderr_b = _oserror_to_output(e) | |
| else: | |
| stdout_b, stderr_b = proc.communicate() | |
| returncode = proc.returncode | |
| if check and returncode: | |
| > raise CalledProcessError(returncode, cmd, stdout_b, stderr_b) | |
| E pre_commit.util.CalledProcessError: command: ('julia', '--startup-file=no', '-e', '\n @assert length(ARGS) > 0\n hook_env = ARGS[1]\n deps = join(ARGS[2:end], " ")\n\n # We prepend @stdlib here so that we can load the package manager even\n # though `get_env_patch` limits `JULIA_LOAD_PATH` to just the hook env.\n pushfirst!(LOAD_PATH, "@stdlib")\n using Pkg\n popfirst!(LOAD_PATH)\n\n # Instantiate the environment shipped with the hook repo. If we have\n # additional dependencies we disable precompilation in this step to\n # avoid double work.\n precompile = isempty(deps) ? "1" : "0"\n withenv("JULIA_PKG_PRECOMPILE_AUTO" => precompile) do\n Pkg.instantiate()\n end\n\n # Add additional dependencies (with precompilation)\n if !isempty(deps)\n withenv("JULIA_PKG_PRECOMPILE_AUTO" => "1") do\n Pkg.REPLMode.pkgstr("add " * deps)\n end\n end\n ', '--', '/private/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/pytest-of-alansutton/pytest-0/test_julia_repo_local0/envdir/juliaenv-default', 'TOML=fa267f1f-6049-4f14-aa54-33bafae1ed76') | |
| E return code: 1 | |
| E stdout: | |
| E Executable `julia` not found | |
| E stderr: (none) | |
| pre_commit/util.py:111: CalledProcessError | |
| ___________________________________________________________ test_lua ___________________________________________________________ | |
| tmp_path = PosixPath('/private/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/pytest-of-alansutton/pytest-0/test_lua0') | |
| def test_lua(tmp_path): # pragma: win32 no cover | |
| rockspec = '''\ | |
| package = "hello" | |
| version = "dev-1" | |
| source = { | |
| url = "git+ssh://git@github.com/pre-commit/pre-commit.git" | |
| } | |
| description = {} | |
| dependencies = {} | |
| build = { | |
| type = "builtin", | |
| modules = {}, | |
| install = { | |
| bin = {"bin/hello-world-lua"} | |
| }, | |
| } | |
| ''' | |
| hello_world_lua = '''\ | |
| #!/usr/bin/env lua | |
| print('hello world') | |
| ''' | |
| tmp_path.joinpath('hello-dev-1.rockspec').write_text(rockspec) | |
| bin_dir = tmp_path.joinpath('bin') | |
| bin_dir.mkdir() | |
| bin_file = bin_dir.joinpath('hello-world-lua') | |
| bin_file.write_text(hello_world_lua) | |
| make_executable(bin_file) | |
| expected = (0, b'hello world\n') | |
| > assert run_language(tmp_path, lua, 'hello-world-lua') == expected | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
| tests/languages/lua_test.py:47: | |
| _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
| testing/language_helpers.py:26: in run_language | |
| language.install_environment(prefix, version, deps) | |
| pre_commit/languages/lua.py:61: in install_environment | |
| with in_env(prefix, version): | |
| ^^^^^^^^^^^^^^^^^^^^^^^ | |
| /opt/homebrew/Cellar/python@3.14/3.14.5/Frameworks/Python.framework/Versions/3.14/lib/python3.14/contextlib.py:141: in __enter__ | |
| return next(self.gen) | |
| ^^^^^^^^^^^^^^ | |
| pre_commit/languages/lua.py:49: in in_env | |
| with envcontext(get_env_patch(envdir)): | |
| ^^^^^^^^^^^^^^^^^^^^^ | |
| pre_commit/languages/lua.py:29: in get_env_patch | |
| version = _get_lua_version() | |
| ^^^^^^^^^^^^^^^^^^ | |
| pre_commit/languages/lua.py:24: in _get_lua_version | |
| _, stdout, _ = cmd_output('luarocks', 'config', '--lua-ver') | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
| pre_commit/util.py:117: in cmd_output | |
| returncode, stdout_b, stderr_b = cmd_output_b(*cmd, **kwargs) | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
| _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
| check = True, cmd = ('luarocks', 'config', '--lua-ver'), kwargs = {'stderr': -1, 'stdin': -1, 'stdout': -1} | |
| stdout_b = b'Executable `luarocks` not found', stderr_b = None, returncode = 1 | |
| def cmd_output_b( | |
| *cmd: str, | |
| check: bool = True, | |
| **kwargs: Any, | |
| ) -> tuple[int, bytes, bytes | None]: | |
| _setdefault_kwargs(kwargs) | |
| try: | |
| cmd = parse_shebang.normalize_cmd(cmd, env=kwargs.get('env')) | |
| except parse_shebang.ExecutableNotFoundError as e: | |
| returncode, stdout_b, stderr_b = e.to_output() | |
| else: | |
| try: | |
| proc = subprocess.Popen(cmd, **kwargs) | |
| except OSError as e: | |
| returncode, stdout_b, stderr_b = _oserror_to_output(e) | |
| else: | |
| stdout_b, stderr_b = proc.communicate() | |
| returncode = proc.returncode | |
| if check and returncode: | |
| > raise CalledProcessError(returncode, cmd, stdout_b, stderr_b) | |
| E pre_commit.util.CalledProcessError: command: ('luarocks', 'config', '--lua-ver') | |
| E return code: 1 | |
| E stdout: | |
| E Executable `luarocks` not found | |
| E stderr: (none) | |
| pre_commit/util.py:111: CalledProcessError | |
| _______________________________________________ test_lua_additional_dependencies _______________________________________________ | |
| tmp_path = PosixPath('/private/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/pytest-of-alansutton/pytest-0/test_lua_additional_dependenci0') | |
| def test_lua_additional_dependencies(tmp_path): # pragma: win32 no cover | |
| > ret, out = run_language( | |
| tmp_path, | |
| lua, | |
| 'luacheck --version', | |
| deps=('luacheck',), | |
| ) | |
| tests/languages/lua_test.py:51: | |
| _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
| testing/language_helpers.py:26: in run_language | |
| language.install_environment(prefix, version, deps) | |
| pre_commit/languages/lua.py:61: in install_environment | |
| with in_env(prefix, version): | |
| ^^^^^^^^^^^^^^^^^^^^^^^ | |
| /opt/homebrew/Cellar/python@3.14/3.14.5/Frameworks/Python.framework/Versions/3.14/lib/python3.14/contextlib.py:141: in __enter__ | |
| return next(self.gen) | |
| ^^^^^^^^^^^^^^ | |
| pre_commit/languages/lua.py:49: in in_env | |
| with envcontext(get_env_patch(envdir)): | |
| ^^^^^^^^^^^^^^^^^^^^^ | |
| pre_commit/languages/lua.py:29: in get_env_patch | |
| version = _get_lua_version() | |
| ^^^^^^^^^^^^^^^^^^ | |
| pre_commit/languages/lua.py:24: in _get_lua_version | |
| _, stdout, _ = cmd_output('luarocks', 'config', '--lua-ver') | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
| pre_commit/util.py:117: in cmd_output | |
| returncode, stdout_b, stderr_b = cmd_output_b(*cmd, **kwargs) | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
| _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
| check = True, cmd = ('luarocks', 'config', '--lua-ver'), kwargs = {'stderr': -1, 'stdin': -1, 'stdout': -1} | |
| stdout_b = b'Executable `luarocks` not found', stderr_b = None, returncode = 1 | |
| def cmd_output_b( | |
| *cmd: str, | |
| check: bool = True, | |
| **kwargs: Any, | |
| ) -> tuple[int, bytes, bytes | None]: | |
| _setdefault_kwargs(kwargs) | |
| try: | |
| cmd = parse_shebang.normalize_cmd(cmd, env=kwargs.get('env')) | |
| except parse_shebang.ExecutableNotFoundError as e: | |
| returncode, stdout_b, stderr_b = e.to_output() | |
| else: | |
| try: | |
| proc = subprocess.Popen(cmd, **kwargs) | |
| except OSError as e: | |
| returncode, stdout_b, stderr_b = _oserror_to_output(e) | |
| else: | |
| stdout_b, stderr_b = proc.communicate() | |
| returncode = proc.returncode | |
| if check and returncode: | |
| > raise CalledProcessError(returncode, cmd, stdout_b, stderr_b) | |
| E pre_commit.util.CalledProcessError: command: ('luarocks', 'config', '--lua-ver') | |
| E return code: 1 | |
| E stdout: | |
| E Executable `luarocks` not found | |
| E stderr: (none) | |
| pre_commit/util.py:111: CalledProcessError | |
| __________________________________________ test_unhealthy_if_system_node_goes_missing __________________________________________ | |
| tmpdir = local('/private/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/pytest-of-alansutton/pytest-0/test_unhealthy_if_system_node_0') | |
| @xfailif_windows # pragma: win32 no cover | |
| def test_unhealthy_if_system_node_goes_missing(tmpdir): | |
| bin_dir = tmpdir.join('bin').ensure_dir() | |
| node_bin = bin_dir.join('node') | |
| node_bin.mksymlinkto(shutil.which('node')) | |
| prefix_dir = tmpdir.join('prefix').ensure_dir() | |
| prefix_dir.join('package.json').write('{"name": "t", "version": "1.0.0"}') | |
| path = ('PATH', (str(bin_dir), os.pathsep, envcontext.Var('PATH'))) | |
| with envcontext.envcontext((path,)): | |
| prefix = Prefix(str(prefix_dir)) | |
| node.install_environment(prefix, 'system', ()) | |
| assert node.health_check(prefix, 'system') is None | |
| node_bin.remove() | |
| ret = node.health_check(prefix, 'system') | |
| > assert ret == '`node --version` returned 127' | |
| E AssertionError: assert '`node --vers... returned 126' == '`node --vers... returned 127' | |
| E | |
| E - `node --version` returned 127 | |
| E ? ^ | |
| E + `node --version` returned 126 | |
| E ? ^ | |
| tests/languages/node_test.py:87: AssertionError | |
| _________________________________________________________ test_r_hook __________________________________________________________ | |
| tmp_path = PosixPath('/private/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/pytest-of-alansutton/pytest-0/test_r_hook0') | |
| renv_lock_file = None, description_file = None, hello_world_file = None, renv_folder = None | |
| def test_r_hook( | |
| tmp_path, | |
| renv_lock_file, | |
| description_file, | |
| hello_world_file, | |
| renv_folder, | |
| ): | |
| expected = (0, b'Hello, World, from R!\n') | |
| > assert run_language(tmp_path, r, 'Rscript hello-world.R') == expected | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
| tests/languages/r_test.py:225: | |
| _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
| testing/language_helpers.py:26: in run_language | |
| language.install_environment(prefix, version, deps) | |
| pre_commit/languages/r.py:230: in install_environment | |
| _execute_vanilla_r( | |
| pre_commit/languages/r.py:54: in _execute_vanilla_r | |
| return _execute_r( | |
| pre_commit/languages/r.py:34: in _execute_r | |
| _, out, _ = cmd_output( | |
| pre_commit/util.py:117: in cmd_output | |
| returncode, stdout_b, stderr_b = cmd_output_b(*cmd, **kwargs) | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
| _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
| check = True, cmd = ('Rscript', '--vanilla', '/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/tmp8qir0lat/script.R') | |
| kwargs = {'cwd': '/private/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/pytest-of-alansutton/pytest-0/test_r_hook0/renv-default', 'stderr': -1, 'stdin': -1, 'stdout': -1} | |
| stdout_b = b'Executable `Rscript` not found', stderr_b = None, returncode = 1 | |
| def cmd_output_b( | |
| *cmd: str, | |
| check: bool = True, | |
| **kwargs: Any, | |
| ) -> tuple[int, bytes, bytes | None]: | |
| _setdefault_kwargs(kwargs) | |
| try: | |
| cmd = parse_shebang.normalize_cmd(cmd, env=kwargs.get('env')) | |
| except parse_shebang.ExecutableNotFoundError as e: | |
| returncode, stdout_b, stderr_b = e.to_output() | |
| else: | |
| try: | |
| proc = subprocess.Popen(cmd, **kwargs) | |
| except OSError as e: | |
| returncode, stdout_b, stderr_b = _oserror_to_output(e) | |
| else: | |
| stdout_b, stderr_b = proc.communicate() | |
| returncode = proc.returncode | |
| if check and returncode: | |
| > raise CalledProcessError(returncode, cmd, stdout_b, stderr_b) | |
| E pre_commit.util.CalledProcessError: command: ('Rscript', '--vanilla', '/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/tmp8qir0lat/script.R') | |
| E return code: 1 | |
| E stdout: | |
| E Executable `Rscript` not found | |
| E stderr: (none) | |
| pre_commit/util.py:111: CalledProcessError | |
| ________________________________________________________ test_r_inline _________________________________________________________ | |
| tmp_path = PosixPath('/private/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/pytest-of-alansutton/pytest-0/test_r_inline0') | |
| def test_r_inline(tmp_path): | |
| _make_local_repo(str(tmp_path)) | |
| cmd = '''\ | |
| Rscript -e ' | |
| stopifnot(packageVersion("rprojroot") == "1.0") | |
| cat(commandArgs(trailingOnly = TRUE), "from R!\n", sep=", ") | |
| ' | |
| ''' | |
| > ret = run_language( | |
| tmp_path, | |
| r, | |
| cmd, | |
| deps=('rprojroot@1.0',), | |
| args=('hi', 'hello'), | |
| ) | |
| tests/languages/r_test.py:238: | |
| _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
| testing/language_helpers.py:26: in run_language | |
| language.install_environment(prefix, version, deps) | |
| pre_commit/languages/r.py:230: in install_environment | |
| _execute_vanilla_r( | |
| pre_commit/languages/r.py:54: in _execute_vanilla_r | |
| return _execute_r( | |
| pre_commit/languages/r.py:34: in _execute_r | |
| _, out, _ = cmd_output( | |
| pre_commit/util.py:117: in cmd_output | |
| returncode, stdout_b, stderr_b = cmd_output_b(*cmd, **kwargs) | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
| _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
| check = True, cmd = ('Rscript', '--vanilla', '/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/tmpnkrlho6k/script.R') | |
| kwargs = {'cwd': '/private/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/pytest-of-alansutton/pytest-0/test_r_inline0/renv-default', 'stderr': -1, 'stdin': -1, 'stdout': -1} | |
| stdout_b = b'Executable `Rscript` not found', stderr_b = None, returncode = 1 | |
| def cmd_output_b( | |
| *cmd: str, | |
| check: bool = True, | |
| **kwargs: Any, | |
| ) -> tuple[int, bytes, bytes | None]: | |
| _setdefault_kwargs(kwargs) | |
| try: | |
| cmd = parse_shebang.normalize_cmd(cmd, env=kwargs.get('env')) | |
| except parse_shebang.ExecutableNotFoundError as e: | |
| returncode, stdout_b, stderr_b = e.to_output() | |
| else: | |
| try: | |
| proc = subprocess.Popen(cmd, **kwargs) | |
| except OSError as e: | |
| returncode, stdout_b, stderr_b = _oserror_to_output(e) | |
| else: | |
| stdout_b, stderr_b = proc.communicate() | |
| returncode = proc.returncode | |
| if check and returncode: | |
| > raise CalledProcessError(returncode, cmd, stdout_b, stderr_b) | |
| E pre_commit.util.CalledProcessError: command: ('Rscript', '--vanilla', '/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/tmpnkrlho6k/script.R') | |
| E return code: 1 | |
| E stdout: | |
| E Executable `Rscript` not found | |
| E stderr: (none) | |
| pre_commit/util.py:111: CalledProcessError | |
| _______________________________________ test_selects_system_even_if_rust_toolchain_toml ________________________________________ | |
| tmp_path = PosixPath('/private/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/pytest-of-alansutton/pytest-0/test_selects_system_even_if_ru0') | |
| def test_selects_system_even_if_rust_toolchain_toml(tmp_path): | |
| toolchain_toml = '[toolchain]\nchannel = "wtf"\n' | |
| tmp_path.joinpath('rust-toolchain.toml').write_text(toolchain_toml) | |
| with cwd(tmp_path): | |
| > assert ACTUAL_GET_DEFAULT_VERSION() == 'system' | |
| E AssertionError: assert 'default' == 'system' | |
| E | |
| E - system | |
| E + default | |
| tests/languages/rust_test.py:38: AssertionError | |
| __________________________________________ test_language_version_with_rustup[default] __________________________________________ | |
| tmp_path = PosixPath('/private/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/pytest-of-alansutton/pytest-0/test_language_version_with_rus0') | |
| version = 'default' | |
| @pytest.mark.parametrize('version', (C.DEFAULT, '1.56.0')) | |
| def test_language_version_with_rustup(tmp_path, version): | |
| assert parse_shebang.find_executable('rustup') is not None | |
| _make_hello_world(tmp_path) | |
| > ret = run_language(tmp_path, rust, 'hello_world', version=version) | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
| tests/languages/rust_test.py:83: | |
| _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
| testing/language_helpers.py:26: in run_language | |
| language.install_environment(prefix, version, deps) | |
| pre_commit/languages/rust.py:157: in install_environment | |
| cmd_output_b( | |
| _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
| check = True | |
| cmd = ('cargo', 'install', '--bins', '--root', '/private/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/pytest-of-alansutton/pytest-0/test_language_version_with_rus0/rustenv-default', '--path', ...) | |
| kwargs = {'cwd': '/private/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/pytest-of-alansutton/pytest-0/test_language_version_with_rus0', 'stderr': -1, 'stdin': -1, 'stdout': -1} | |
| stdout_b = b'Executable `cargo` not found', stderr_b = None, returncode = 1 | |
| def cmd_output_b( | |
| *cmd: str, | |
| check: bool = True, | |
| **kwargs: Any, | |
| ) -> tuple[int, bytes, bytes | None]: | |
| _setdefault_kwargs(kwargs) | |
| try: | |
| cmd = parse_shebang.normalize_cmd(cmd, env=kwargs.get('env')) | |
| except parse_shebang.ExecutableNotFoundError as e: | |
| returncode, stdout_b, stderr_b = e.to_output() | |
| else: | |
| try: | |
| proc = subprocess.Popen(cmd, **kwargs) | |
| except OSError as e: | |
| returncode, stdout_b, stderr_b = _oserror_to_output(e) | |
| else: | |
| stdout_b, stderr_b = proc.communicate() | |
| returncode = proc.returncode | |
| if check and returncode: | |
| > raise CalledProcessError(returncode, cmd, stdout_b, stderr_b) | |
| E pre_commit.util.CalledProcessError: command: ('cargo', 'install', '--bins', '--root', '/private/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/pytest-of-alansutton/pytest-0/test_language_version_with_rus0/rustenv-default', '--path', '.') | |
| E return code: 1 | |
| E stdout: | |
| E Executable `cargo` not found | |
| E stderr: (none) | |
| pre_commit/util.py:111: CalledProcessError | |
| __________________________________________ test_language_version_with_rustup[1.56.0] ___________________________________________ | |
| tmp_path = PosixPath('/private/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/pytest-of-alansutton/pytest-0/test_language_version_with_rus1') | |
| version = '1.56.0' | |
| @pytest.mark.parametrize('version', (C.DEFAULT, '1.56.0')) | |
| def test_language_version_with_rustup(tmp_path, version): | |
| assert parse_shebang.find_executable('rustup') is not None | |
| _make_hello_world(tmp_path) | |
| > ret = run_language(tmp_path, rust, 'hello_world', version=version) | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
| tests/languages/rust_test.py:83: | |
| _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
| testing/language_helpers.py:26: in run_language | |
| language.install_environment(prefix, version, deps) | |
| pre_commit/languages/rust.py:157: in install_environment | |
| cmd_output_b( | |
| _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
| check = True | |
| cmd = ('cargo', 'install', '--bins', '--root', '/private/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/pytest-of-alansutton/pytest-0/test_language_version_with_rus1/rustenv-1.56.0', '--path', ...) | |
| kwargs = {'cwd': '/private/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/pytest-of-alansutton/pytest-0/test_language_version_with_rus1', 'stderr': -1, 'stdin': -1, 'stdout': -1} | |
| stdout_b = b'Executable `cargo` not found', stderr_b = None, returncode = 1 | |
| def cmd_output_b( | |
| *cmd: str, | |
| check: bool = True, | |
| **kwargs: Any, | |
| ) -> tuple[int, bytes, bytes | None]: | |
| _setdefault_kwargs(kwargs) | |
| try: | |
| cmd = parse_shebang.normalize_cmd(cmd, env=kwargs.get('env')) | |
| except parse_shebang.ExecutableNotFoundError as e: | |
| returncode, stdout_b, stderr_b = e.to_output() | |
| else: | |
| try: | |
| proc = subprocess.Popen(cmd, **kwargs) | |
| except OSError as e: | |
| returncode, stdout_b, stderr_b = _oserror_to_output(e) | |
| else: | |
| stdout_b, stderr_b = proc.communicate() | |
| returncode = proc.returncode | |
| if check and returncode: | |
| > raise CalledProcessError(returncode, cmd, stdout_b, stderr_b) | |
| E pre_commit.util.CalledProcessError: command: ('cargo', 'install', '--bins', '--root', '/private/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/pytest-of-alansutton/pytest-0/test_language_version_with_rus1/rustenv-1.56.0', '--path', '.') | |
| E return code: 1 | |
| E stdout: | |
| E Executable `cargo` not found | |
| E stderr: (none) | |
| pre_commit/util.py:111: CalledProcessError | |
| _________________________________ test_rust_cli_additional_dependencies[cli:shellharden:4.2.0] _________________________________ | |
| tmp_path = PosixPath('/private/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/pytest-of-alansutton/pytest-0/test_rust_cli_additional_depen0') | |
| dep = 'cli:shellharden:4.2.0' | |
| @pytest.mark.parametrize('dep', ('cli:shellharden:4.2.0', 'cli:shellharden')) | |
| def test_rust_cli_additional_dependencies(tmp_path, dep): | |
| _make_local_repo(str(tmp_path)) | |
| t_sh = tmp_path.joinpath('t.sh') | |
| t_sh.write_text('echo $hi\n') | |
| > assert rust.get_default_version() == 'system' | |
| E AssertionError: assert 'default' == 'system' | |
| E | |
| E - system | |
| E + default | |
| tests/languages/rust_test.py:94: AssertionError | |
| ____________________________________ test_rust_cli_additional_dependencies[cli:shellharden] ____________________________________ | |
| tmp_path = PosixPath('/private/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/pytest-of-alansutton/pytest-0/test_rust_cli_additional_depen1') | |
| dep = 'cli:shellharden' | |
| @pytest.mark.parametrize('dep', ('cli:shellharden:4.2.0', 'cli:shellharden')) | |
| def test_rust_cli_additional_dependencies(tmp_path, dep): | |
| _make_local_repo(str(tmp_path)) | |
| t_sh = tmp_path.joinpath('t.sh') | |
| t_sh.write_text('echo $hi\n') | |
| > assert rust.get_default_version() == 'system' | |
| E AssertionError: assert 'default' == 'system' | |
| E | |
| E - system | |
| E + default | |
| tests/languages/rust_test.py:94: AssertionError | |
| _____________________________________________ test_run_lib_additional_dependencies _____________________________________________ | |
| tmp_path = PosixPath('/private/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/pytest-of-alansutton/pytest-0/test_run_lib_additional_depend0') | |
| def test_run_lib_additional_dependencies(tmp_path): | |
| _make_hello_world(tmp_path) | |
| deps = ('shellharden:4.2.0', 'git-version') | |
| > ret = run_language(tmp_path, rust, 'hello_world', deps=deps) | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
| tests/languages/rust_test.py:109: | |
| _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
| testing/language_helpers.py:26: in run_language | |
| language.install_environment(prefix, version, deps) | |
| pre_commit/languages/rust.py:154: in install_environment | |
| _add_dependencies(prefix, lib_deps) | |
| pre_commit/languages/rust.py:80: in _add_dependencies | |
| lang_base.setup_cmd(prefix, ('cargo', 'add', *crates)) | |
| pre_commit/lang_base.py:87: in setup_cmd | |
| cmd_output_b(*cmd, cwd=prefix.prefix_dir, **kwargs) | |
| _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
| check = True, cmd = ('cargo', 'add', 'git-version@*', 'shellharden@4.2.0') | |
| kwargs = {'cwd': '/private/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/pytest-of-alansutton/pytest-0/test_run_lib_additional_depend0', 'stderr': -1, 'stdin': -1, 'stdout': -1} | |
| stdout_b = b'Executable `cargo` not found', stderr_b = None, returncode = 1 | |
| def cmd_output_b( | |
| *cmd: str, | |
| check: bool = True, | |
| **kwargs: Any, | |
| ) -> tuple[int, bytes, bytes | None]: | |
| _setdefault_kwargs(kwargs) | |
| try: | |
| cmd = parse_shebang.normalize_cmd(cmd, env=kwargs.get('env')) | |
| except parse_shebang.ExecutableNotFoundError as e: | |
| returncode, stdout_b, stderr_b = e.to_output() | |
| else: | |
| try: | |
| proc = subprocess.Popen(cmd, **kwargs) | |
| except OSError as e: | |
| returncode, stdout_b, stderr_b = _oserror_to_output(e) | |
| else: | |
| stdout_b, stderr_b = proc.communicate() | |
| returncode = proc.returncode | |
| if check and returncode: | |
| > raise CalledProcessError(returncode, cmd, stdout_b, stderr_b) | |
| E pre_commit.util.CalledProcessError: command: ('cargo', 'add', 'git-version@*', 'shellharden@4.2.0') | |
| E return code: 1 | |
| E stdout: | |
| E Executable `cargo` not found | |
| E stderr: (none) | |
| pre_commit/util.py:111: CalledProcessError | |
| =================================================== short test summary info ==================================================== | |
| FAILED tests/languages/conda_test.py::test_conda_language - pre_commit.util.CalledProcessError: command: ('conda', 'env', 'create', '-p', '/private/var/folders/t_/tsddzn355bgdp6ct9t01... | |
| FAILED tests/languages/conda_test.py::test_conda_additional_deps - pre_commit.util.CalledProcessError: command: ('conda', 'env', 'create', '-p', '/private/var/folders/t_/tsddzn355bgdp6ct9t01... | |
| FAILED tests/languages/coursier_test.py::test_coursier_hook - AssertionError: pre-commit requires system-installed "cs" or "coursier" executables in the application search path | |
| FAILED tests/languages/coursier_test.py::test_coursier_hook_additional_dependencies - AssertionError: pre-commit requires system-installed "cs" or "coursier" executables in the application search path | |
| FAILED tests/languages/coursier_test.py::test_error_if_no_deps_or_channel - AssertionError: pre-commit requires system-installed "cs" or "coursier" executables in the application search path | |
| FAILED tests/languages/dart_test.py::test_dart - pre_commit.util.CalledProcessError: command: ('dart', 'pub', 'get') | |
| FAILED tests/languages/dart_test.py::test_dart_additional_deps - pre_commit.util.CalledProcessError: command: ('dart', 'pub', 'get') | |
| FAILED tests/languages/dart_test.py::test_dart_additional_deps_versioned - pre_commit.util.CalledProcessError: command: ('dart', 'pub', 'get') | |
| FAILED tests/languages/docker_test.py::test_docker_fallback_user - pre_commit.util.CalledProcessError: command: ('docker', 'system', 'info', '--format', '{{ json . }}') | |
| FAILED tests/languages/docker_test.py::test_docker_hook - pre_commit.util.CalledProcessError: command: ('docker', 'build', '--tag', 'pre-commit-fd1239095ee6804e2611d00bb2a91210', '-... | |
| FAILED tests/languages/docker_test.py::test_docker_hook_mount_permissions - pre_commit.util.CalledProcessError: command: ('docker', 'build', '--tag', 'pre-commit-a56628c8bb8e63acf8fea2fb3b0ecb02', '-... | |
| FAILED tests/languages/dotnet_test.py::test_dotnet_csproj - pre_commit.util.CalledProcessError: command: ('dotnet', 'pack', '--configuration', 'Release', '--property', 'PackageOutputP... | |
| FAILED tests/languages/dotnet_test.py::test_dotnet_csproj_prefix - pre_commit.util.CalledProcessError: command: ('dotnet', 'pack', '--configuration', 'Release', '--property', 'PackageOutputP... | |
| FAILED tests/languages/dotnet_test.py::test_dotnet_sln - pre_commit.util.CalledProcessError: command: ('dotnet', 'pack', '--configuration', 'Release', '--property', 'PackageOutputP... | |
| FAILED tests/languages/dotnet_test.py::test_dotnet_combo_proj1 - pre_commit.util.CalledProcessError: command: ('dotnet', 'pack', '--configuration', 'Release', '--property', 'PackageOutputP... | |
| FAILED tests/languages/dotnet_test.py::test_dotnet_combo_proj2 - pre_commit.util.CalledProcessError: command: ('dotnet', 'pack', '--configuration', 'Release', '--property', 'PackageOutputP... | |
| FAILED tests/languages/haskell_test.py::test_run_example_executable - pre_commit.util.CalledProcessError: command: ('cabal', 'update') | |
| FAILED tests/languages/haskell_test.py::test_run_dep - pre_commit.util.CalledProcessError: command: ('cabal', 'update') | |
| FAILED tests/languages/julia_test.py::test_julia_hook - pre_commit.util.CalledProcessError: command: ('julia', '--startup-file=no', '-e', '\n @assert length(ARGS) > 0\n ... | |
| FAILED tests/languages/julia_test.py::test_julia_hook_with_startup - pre_commit.util.CalledProcessError: command: ('julia', '--startup-file=no', '-e', '\n @assert length(ARGS) > 0\n ... | |
| FAILED tests/languages/julia_test.py::test_julia_hook_manifest - pre_commit.util.CalledProcessError: command: ('julia', '--startup-file=no', '-e', '\n @assert length(ARGS) > 0\n ... | |
| FAILED tests/languages/julia_test.py::test_julia_hook_args - pre_commit.util.CalledProcessError: command: ('julia', '--startup-file=no', '-e', '\n @assert length(ARGS) > 0\n ... | |
| FAILED tests/languages/julia_test.py::test_julia_hook_additional_deps - pre_commit.util.CalledProcessError: command: ('julia', '--startup-file=no', '-e', '\n @assert length(ARGS) > 0\n ... | |
| FAILED tests/languages/julia_test.py::test_julia_repo_local - pre_commit.util.CalledProcessError: command: ('julia', '--startup-file=no', '-e', '\n @assert length(ARGS) > 0\n ... | |
| FAILED tests/languages/lua_test.py::test_lua - pre_commit.util.CalledProcessError: command: ('luarocks', 'config', '--lua-ver') | |
| FAILED tests/languages/lua_test.py::test_lua_additional_dependencies - pre_commit.util.CalledProcessError: command: ('luarocks', 'config', '--lua-ver') | |
| FAILED tests/languages/node_test.py::test_unhealthy_if_system_node_goes_missing - AssertionError: assert '`node --vers... returned 126' == '`node --vers... returned 127' | |
| FAILED tests/languages/r_test.py::test_r_hook - pre_commit.util.CalledProcessError: command: ('Rscript', '--vanilla', '/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/tmp... | |
| FAILED tests/languages/r_test.py::test_r_inline - pre_commit.util.CalledProcessError: command: ('Rscript', '--vanilla', '/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/tmp... | |
| FAILED tests/languages/rust_test.py::test_selects_system_even_if_rust_toolchain_toml - AssertionError: assert 'default' == 'system' | |
| FAILED tests/languages/rust_test.py::test_language_version_with_rustup[default] - pre_commit.util.CalledProcessError: command: ('cargo', 'install', '--bins', '--root', '/private/var/folders/t_/tsddzn355bgd... | |
| FAILED tests/languages/rust_test.py::test_language_version_with_rustup[1.56.0] - pre_commit.util.CalledProcessError: command: ('cargo', 'install', '--bins', '--root', '/private/var/folders/t_/tsddzn355bgd... | |
| FAILED tests/languages/rust_test.py::test_rust_cli_additional_dependencies[cli:shellharden:4.2.0] - AssertionError: assert 'default' == 'system' | |
| FAILED tests/languages/rust_test.py::test_rust_cli_additional_dependencies[cli:shellharden] - AssertionError: assert 'default' == 'system' | |
| FAILED tests/languages/rust_test.py::test_run_lib_additional_dependencies - pre_commit.util.CalledProcessError: command: ('cargo', 'add', 'git-version@*', 'shellharden@4.2.0') | |
| ERROR tests/languages/docker_image_test.py::test_docker_image_hook_via_entrypoint - pre_commit.util.CalledProcessError: command: ('docker', 'run', '--rm', 'ubuntu:22.04', 'echo') | |
| ERROR tests/languages/docker_image_test.py::test_docker_image_hook_via_args - pre_commit.util.CalledProcessError: command: ('docker', 'run', '--rm', 'ubuntu:22.04', 'echo') | |
| ERROR tests/languages/docker_image_test.py::test_docker_image_color_tty - pre_commit.util.CalledProcessError: command: ('docker', 'run', '--rm', 'ubuntu:22.04', 'echo') | |
| ERROR tests/languages/docker_image_test.py::test_docker_image_no_color_no_tty - pre_commit.util.CalledProcessError: command: ('docker', 'run', '--rm', 'ubuntu:22.04', 'echo') | |
| ERROR tests/languages/r_test.py::test_health_check_healthy - pre_commit.util.CalledProcessError: command: ('Rscript', '--vanilla', '/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/tmp... | |
| ERROR tests/languages/r_test.py::test_health_check_after_downgrade - pre_commit.util.CalledProcessError: command: ('Rscript', '--vanilla', '/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/tmp... | |
| ERROR tests/languages/r_test.py::test_health_check_without_version[NULL] - pre_commit.util.CalledProcessError: command: ('Rscript', '--vanilla', '/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/tmp... | |
| ERROR tests/languages/r_test.py::test_health_check_without_version[NA] - pre_commit.util.CalledProcessError: command: ('Rscript', '--vanilla', '/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/tmp... | |
| ERROR tests/languages/r_test.py::test_health_check_without_version[''] - pre_commit.util.CalledProcessError: command: ('Rscript', '--vanilla', '/var/folders/t_/tsddzn355bgdp6ct9t01csr00000gq/T/tmp... | |
| ========================= 35 failed, 772 passed, 1 skipped, 3 xfailed, 9 errors in 1021.07s (0:17:01) ========================== | |
| ``` |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment