diff --git a/tests.py b/tests.py index be7c6b288ba46eee74b08e285e281e79994de51f..d3c020e5fddb10eda79e41c55c2b750e389cfded 100644 --- a/tests.py +++ b/tests.py @@ -25,6 +25,26 @@ def test_os_chdir(tmp_path): assert os.getcwd() == initial_cwd +def test_run_method(tmp_path): + with mod.os_chdir(str(tmp_path)): + run = mod.run + # test a command with options: + assert run(["date", "+%Y-%m-%d"], shell=True).returncode == 0 + # ensure single string command works + assert run(("ls -l")).returncode == 0 + # test spaces are handled correctly: + assert run(["touch", "file1 file2"]).returncode == 0 + assert os.path.exists("file1") + assert os.path.exists("file2") + # test output is captured: + assert ( + b"Hello, world!\n" + in run(["echo", "Hello, world!"], capture_output=True).stdout + ) + # test counter works: + assert b"##-04\n" in run(["echo", "Hello, world!"], capture_output=True).stdout + + def test_prepare_environment(tmp_path): # simulate running ./install-software-environment.py --release dev-23a \ # --target-directory /tmp/test_prepare_env