Initial commit
This commit is contained in:
23
tests/test_subproc.py
Normal file
23
tests/test_subproc.py
Normal file
@@ -0,0 +1,23 @@
|
||||
import subprocess
|
||||
from unittest.mock import patch
|
||||
|
||||
from applepy.subproc import run_text
|
||||
|
||||
|
||||
@patch("applepy.subproc.subprocess.run")
|
||||
def test_run_text_passes_cwd(mock_run: object, tmp_path) -> None:
|
||||
mock_run.return_value = subprocess.CompletedProcess(args=[], returncode=0, stdout="", stderr="")
|
||||
d = tmp_path / "work"
|
||||
d.mkdir()
|
||||
run_text(["/bin/true"], cwd=d)
|
||||
mock_run.assert_called_once()
|
||||
assert mock_run.call_args.kwargs.get("cwd") == str(d)
|
||||
|
||||
|
||||
@patch("applepy.subproc.subprocess.run")
|
||||
def test_run_text_timeout_message_includes_duration(mock_run: object) -> None:
|
||||
mock_run.side_effect = subprocess.TimeoutExpired(cmd=["/bin/echo", "a"], timeout=99)
|
||||
code, out, err = run_text(["/bin/echo", "a"], timeout=12.5)
|
||||
assert code == 124
|
||||
assert "12.5" in err
|
||||
assert "timeout" in err.lower()
|
||||
Reference in New Issue
Block a user