Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 10 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@ install:
check: venv format lint
uv run pytest

export COVERAGE_PROCESS_START = $(PWD)/.coveragerc
export COVERAGE_FILE = $(PWD)/.coverage
coverage coverage-skip-unsafe: export COVERAGE_PROCESS_START = $(PWD)/.coveragerc
coverage coverage-skip-unsafe: export COVERAGE_FILE = $(PWD)/.coverage
coverage:
uv run coverage erase
uv run coverage run --parallel-mode -m pytest
Expand All @@ -32,3 +32,11 @@ coverage:
uv run coverage combine
uv run coverage report --fail-under=40
uv run coverage xml
coverage-skip-unsafe:
uv run coverage erase
uv run coverage run --parallel-mode -m pytest
uv run bash tests/shell/all.sh
uv run bash tests/docker/0*.sh
uv run coverage combine
uv run coverage report --fail-under=40
uv run coverage xml
6 changes: 3 additions & 3 deletions cf_remote/spawn.py
Original file line number Diff line number Diff line change
Expand Up @@ -140,7 +140,7 @@ def get_by_ip(cls, ip, driver=None, nodes=None):
print("Don't know which driver to use: %s" % _DRIVERS.keys())
return None

if not nodes:
if nodes is None:
assert driver is not None
nodes = driver.list_nodes()
for node in nodes:
Expand All @@ -160,7 +160,7 @@ def get_by_name(cls, name, driver=None, nodes=None):
print("Don't know which driver to use: %s" % _DRIVERS.keys())
return None

if not nodes:
if nodes is None:
assert driver is not None
nodes = driver.list_nodes()
for node in nodes:
Expand All @@ -178,7 +178,7 @@ def get_by_uuid(cls, uuid, driver=None, nodes=None):
print("Don't know which driver to use: %s" % _DRIVERS.keys())
return None

if not nodes:
if nodes is None:
assert driver is not None
nodes = driver.list_nodes()
for node in nodes:
Expand Down
13 changes: 13 additions & 0 deletions tests/test_spawn.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
_get_image_criteria,
_update_config,
destroy_vms,
CloudVM,
)
from cf_remote.utils import read_json, write_json

Expand Down Expand Up @@ -266,3 +267,15 @@ def test_destroy_vms_one_permanent_failure_does_not_block_other_vms(state_paths)
state = read_json(str(cloud_state))
assert "@ok" not in state
assert "@bad" in state


def test_get_by_ip_empty_list_no_driver_returns_none():
assert CloudVM.get_by_ip("1.2.3.4", nodes=[]) is None


def test_get_by_uuid_empty_list_no_driver_returns_none():
assert CloudVM.get_by_uuid("some-uuid", nodes=[]) is None


def test_get_by_name_empty_list_no_driver_returns_none():
assert CloudVM.get_by_name("my-vm", nodes=[]) is None
Loading