diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2023-01-30 16:53:22 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2023-01-30 16:53:22 +0000 |
commit | ce6763317433ca8509f45bd1d471fb4ad2eeffdd (patch) | |
tree | a648ad7d54a5d3ffaa8519e7c73ea27541105c9b /testing/language_helpers.py | |
parent | Releasing debian version 2.21.0-1. (diff) | |
download | pre-commit-ce6763317433ca8509f45bd1d471fb4ad2eeffdd.tar.xz pre-commit-ce6763317433ca8509f45bd1d471fb4ad2eeffdd.zip |
Merging upstream version 3.0.2.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'testing/language_helpers.py')
-rw-r--r-- | testing/language_helpers.py | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/testing/language_helpers.py b/testing/language_helpers.py new file mode 100644 index 0000000..f9ae0b1 --- /dev/null +++ b/testing/language_helpers.py @@ -0,0 +1,35 @@ +from __future__ import annotations + +import os +from typing import Sequence + +import pre_commit.constants as C +from pre_commit.languages.all import Language +from pre_commit.prefix import Prefix + + +def run_language( + path: os.PathLike[str], + language: Language, + exe: str, + args: Sequence[str] = (), + file_args: Sequence[str] = (), + version: str = C.DEFAULT, + deps: Sequence[str] = (), + is_local: bool = False, +) -> tuple[int, bytes]: + prefix = Prefix(str(path)) + + language.install_environment(prefix, version, deps) + with language.in_env(prefix, version): + ret, out = language.run_hook( + prefix, + exe, + args, + file_args, + is_local=is_local, + require_serial=True, + color=False, + ) + out = out.replace(b'\r\n', b'\n') + return ret, out |