clan-cli: Fix ignored debug flag in clan vms run, refactor Host.run to use RunOpts

This commit is contained in:
Qubasa
2024-12-03 16:01:51 +01:00
parent f033a193d5
commit 164c621dc0
14 changed files with 92 additions and 151 deletions

View File

@@ -7,11 +7,15 @@ hosts = HostGroup([Host("some_host")])
def test_run_environment() -> None:
p2 = hosts.run_local(
["echo $env_var"], extra_env={"env_var": "true"}, shell=True, log=Log.STDERR
["echo $env_var"],
RunOpts(shell=True, log=Log.STDERR),
extra_env={"env_var": "true"},
)
assert p2[0].result.stdout == "true\n"
p3 = hosts.run_local(["env"], extra_env={"env_var": "true"}, log=Log.STDERR)
p3 = hosts.run_local(
["env"], RunOpts(shell=True, log=Log.STDERR), extra_env={"env_var": "true"}
)
assert "env_var=true" in p3[0].result.stdout
@@ -21,7 +25,7 @@ def test_run_local() -> None:
def test_timeout() -> None:
try:
hosts.run_local(["sleep", "10"], timeout=0.01)
hosts.run_local(["sleep", "10"], RunOpts(timeout=0.01))
except Exception:
pass
else:
@@ -40,7 +44,7 @@ def test_run_function() -> None:
def test_run_exception() -> None:
try:
hosts.run_local(["exit 1"], shell=True)
hosts.run_local(["exit 1"], RunOpts(shell=True))
except Exception:
pass
else:
@@ -62,5 +66,5 @@ def test_run_function_exception() -> None:
def test_run_local_non_shell() -> None:
p2 = hosts.run_local(["echo", "1"], log=Log.STDERR)
p2 = hosts.run_local(["echo", "1"], RunOpts(log=Log.STDERR))
assert p2[0].result.stdout == "1\n"

View File

@@ -21,21 +21,23 @@ def test_parse_ipv6() -> None:
def test_run(host_group: HostGroup) -> None:
proc = host_group.run_local(["echo", "hello"], log=Log.STDERR)
proc = host_group.run_local(["echo", "hello"], RunOpts(log=Log.STDERR))
assert proc[0].result.stdout == "hello\n"
def test_run_environment(host_group: HostGroup) -> None:
p1 = host_group.run(
["echo $env_var"], extra_env={"env_var": "true"}, shell=True, log=Log.STDERR
["echo $env_var"],
RunOpts(shell=True, log=Log.STDERR),
extra_env={"env_var": "true"},
)
assert p1[0].result.stdout == "true\n"
p2 = host_group.run(["env"], log=Log.STDERR, extra_env={"env_var": "true"})
p2 = host_group.run(["env"], RunOpts(log=Log.STDERR), extra_env={"env_var": "true"})
assert "env_var=true" in p2[0].result.stdout
def test_run_no_shell(host_group: HostGroup) -> None:
proc = host_group.run(["echo", "$hello"], log=Log.STDERR)
proc = host_group.run(["echo", "$hello"], RunOpts(log=Log.STDERR))
assert proc[0].result.stdout == "$hello\n"
@@ -50,7 +52,7 @@ def test_run_function(host_group: HostGroup) -> None:
def test_timeout(host_group: HostGroup) -> None:
try:
host_group.run_local(["sleep", "10"], timeout=0.01)
host_group.run_local(["sleep", "10"], RunOpts(timeout=0.01))
except Exception:
pass
else:
@@ -59,11 +61,11 @@ def test_timeout(host_group: HostGroup) -> None:
def test_run_exception(host_group: HostGroup) -> None:
r = host_group.run(["exit 1"], check=False, shell=True)
r = host_group.run(["exit 1"], RunOpts(check=False, shell=True))
assert r[0].result.returncode == 1
try:
host_group.run(["exit 1"], shell=True)
host_group.run(["exit 1"], RunOpts(shell=True))
except Exception:
pass
else:

View File

@@ -51,7 +51,7 @@ def test_run(
"user1",
]
)
cli.run(["vms", "run", "--no-block", "vm1", "shutdown", "-h", "now"])
cli.run(["vms", "run", "--no-block", "vm1", "-c", "shutdown", "-h", "now"])
@pytest.mark.skipif(no_kvm, reason="Requires KVM")