diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2021-02-08 12:54:45 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2021-02-08 12:54:45 +0000 |
commit | bca8f5a4c8c889d62dcfbaa864d118650a1b7e48 (patch) | |
tree | 203e083679ba58439d9232ef4bd34ad60689bf15 /tests | |
parent | Adding upstream version 2.10.0. (diff) | |
download | pre-commit-bca8f5a4c8c889d62dcfbaa864d118650a1b7e48.tar.xz pre-commit-bca8f5a4c8c889d62dcfbaa864d118650a1b7e48.zip |
Adding upstream version 2.10.1.upstream/2.10.1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/repository_test.py | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/tests/repository_test.py b/tests/repository_test.py index 8540db3..1b58164 100644 --- a/tests/repository_test.py +++ b/tests/repository_test.py @@ -10,6 +10,7 @@ import pytest import re_assert import pre_commit.constants as C +from pre_commit import git from pre_commit.clientlib import CONFIG_SCHEMA from pre_commit.clientlib import load_manifest from pre_commit.envcontext import envcontext @@ -346,6 +347,59 @@ def test_golang_hook_still_works_when_gobin_is_set(tempdir_factory, store): assert os.listdir(gobin_dir) == [] +def test_golang_with_recursive_submodule(tmpdir, tempdir_factory, store): + sub_go = '''\ +package sub + +import "fmt" + +func Func() { + fmt.Println("hello hello world") +} +''' + sub = tmpdir.join('sub').ensure_dir() + sub.join('sub.go').write(sub_go) + cmd_output('git', '-C', str(sub), 'init', '.') + cmd_output('git', '-C', str(sub), 'add', '.') + git.commit(str(sub)) + + pre_commit_hooks = '''\ +- id: example + name: example + entry: example + language: golang + verbose: true +''' + go_mod = '''\ +module github.com/asottile/example + +go 1.14 +''' + main_go = '''\ +package main + +import "github.com/asottile/example/sub" + +func main() { + sub.Func() +} +''' + repo = tmpdir.join('repo').ensure_dir() + repo.join('.pre-commit-hooks.yaml').write(pre_commit_hooks) + repo.join('go.mod').write(go_mod) + repo.join('main.go').write(main_go) + cmd_output('git', '-C', str(repo), 'init', '.') + cmd_output('git', '-C', str(repo), 'add', '.') + cmd_output('git', '-C', str(repo), 'submodule', 'add', str(sub), 'sub') + git.commit(str(repo)) + + config = make_config_from_repo(str(repo)) + hook = _get_hook(config, store, 'example') + ret, out = _hook_run(hook, (), color=False) + assert ret == 0 + assert _norm_out(out) == b'hello hello world\n' + + def test_rust_hook(tempdir_factory, store): _test_hook_repo( tempdir_factory, store, 'rust_hooks_repo', |