mirror of
https://github.com/pre-commit/pre-commit.git
synced 2026-02-17 08:14:42 +04:00
Julia: copy src files
This commit is contained in:
parent
a1d7bed86f
commit
30382b9200
2 changed files with 46 additions and 0 deletions
|
|
@ -99,6 +99,14 @@ def install_environment(
|
||||||
shutil.copy(manifest_file, envdir)
|
shutil.copy(manifest_file, envdir)
|
||||||
break
|
break
|
||||||
|
|
||||||
|
# copy `src` files if they exist
|
||||||
|
src_dir = prefix.path('src')
|
||||||
|
if os.path.isdir(src_dir):
|
||||||
|
shutil.copytree(
|
||||||
|
src_dir, os.path.join(envdir, 'src'),
|
||||||
|
dirs_exist_ok=True,
|
||||||
|
)
|
||||||
|
|
||||||
# Julia code to instantiate the hook environment
|
# Julia code to instantiate the hook environment
|
||||||
julia_code = """
|
julia_code = """
|
||||||
@assert length(ARGS) > 0
|
@assert length(ARGS) > 0
|
||||||
|
|
|
||||||
|
|
@ -95,3 +95,41 @@ def test_julia_repo_local(tmp_path):
|
||||||
env_dir, julia, 'local.jl --local-arg1 --local-arg2',
|
env_dir, julia, 'local.jl --local-arg1 --local-arg2',
|
||||||
deps=deps, is_local=True,
|
deps=deps, is_local=True,
|
||||||
) == expected
|
) == expected
|
||||||
|
|
||||||
|
|
||||||
|
def _make_src_hook(tmp_path, pkg_code, script_code):
|
||||||
|
# here we setup a hook with a src dir and a script dir
|
||||||
|
src_dir = tmp_path.joinpath('src')
|
||||||
|
src_dir.mkdir()
|
||||||
|
src_dir.joinpath('ExamplePkg.jl').write_text(pkg_code)
|
||||||
|
|
||||||
|
script_dir = tmp_path.joinpath('scripts')
|
||||||
|
script_dir.mkdir()
|
||||||
|
script_dir.joinpath('main.jl').write_text(script_code)
|
||||||
|
|
||||||
|
tmp_path.joinpath('Project.toml').write_text(
|
||||||
|
'name = "ExamplePkg"\n'
|
||||||
|
'uuid = "df230c44-b485-4b6a-bafb-763c50abe554"\n'
|
||||||
|
'[deps]\n'
|
||||||
|
'Example = "7876af07-990d-54b4-ab0e-23690620f79a"\n',
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
def test_julia_hook_src(tmp_path):
|
||||||
|
pkg_code = """
|
||||||
|
module ExamplePkg
|
||||||
|
using Example
|
||||||
|
export main
|
||||||
|
function main()
|
||||||
|
println("Hello, world!")
|
||||||
|
end
|
||||||
|
end
|
||||||
|
"""
|
||||||
|
|
||||||
|
script_code = """
|
||||||
|
using ExamplePkg
|
||||||
|
main()
|
||||||
|
"""
|
||||||
|
_make_src_hook(tmp_path, pkg_code, script_code)
|
||||||
|
expected = (0, b'Hello, world!\n')
|
||||||
|
assert run_language(tmp_path, julia, 'scripts/main.jl') == expected
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue