mirror of
https://github.com/nix-community/nix-direnv.git
synced 2025-11-08 19:46:11 +01:00
37 lines
972 B
Python
37 lines
972 B
Python
#!/usr/bin/env python2
|
|
|
|
import sys
|
|
import subprocess
|
|
import unittest
|
|
|
|
from procs import run
|
|
from direnv_project import DirenvProject
|
|
|
|
|
|
def direnv_exec(direnv_project: DirenvProject, cmd: str) -> None:
|
|
out = run(
|
|
["direnv", "exec", str(direnv_project.dir), "sh", "-c", cmd],
|
|
stderr=subprocess.PIPE,
|
|
stdout=subprocess.PIPE,
|
|
check=False,
|
|
cwd=direnv_project.dir,
|
|
)
|
|
sys.stdout.write(out.stdout)
|
|
sys.stderr.write(out.stderr)
|
|
assert out.returncode == 0
|
|
assert "OK\n" == out.stdout
|
|
assert "renewed cache" in out.stderr
|
|
|
|
|
|
def test_attrs(direnv_project: DirenvProject) -> None:
|
|
direnv_project.setup_envrc("use nix -A subshell")
|
|
direnv_exec(direnv_project, "echo $THIS_IS_A_SUBSHELL")
|
|
|
|
|
|
def test_args(direnv_project: DirenvProject) -> None:
|
|
direnv_project.setup_envrc("use nix --argstr someArg OK")
|
|
direnv_exec(direnv_project, "echo $SHOULD_BE_SET")
|
|
|
|
|
|
if __name__ == "__main__":
|
|
unittest.main()
|