Skip to content

Commit d590f68

Browse files
committed
Handle decodes when stdout or stderr is None
Looks like a recent change has allowed these values to potentially be None. In this case, we shouldn't try to decode and just return an empty string.
1 parent 426c234 commit d590f68

File tree

2 files changed

+8
-3
lines changed

2 files changed

+8
-3
lines changed

broker/helpers.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -640,8 +640,8 @@ def from_duplexed_exec(cls, duplex_exec, runtime=None):
640640
status, (stdout, stderr) = duplex_exec
641641
return cls(
642642
status=status,
643-
stdout=stdout.decode("utf-8"),
644-
stderr=stderr.decode("utf-8"),
643+
stdout=stdout.decode("utf-8") if stdout else "",
644+
stderr=stderr.decode("utf-8") if stderr else "",
645645
)
646646

647647
if duplex_exec.output[0]:

tests/functional/test_containers.py

+6-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
from broker import Broker
66
from broker.commands import cli
77
from broker.providers.container import Container
8-
from broker.settings import inventory_path
98
from broker.settings import settings_path as SETTINGS_PATH
109

1110
SCENARIO_DIR = Path("tests/data/cli_scenarios/containers")
@@ -135,3 +134,9 @@ def test_broker_multi_manager():
135134
multi_hosts["ubi8"][1].execute("hostname").stdout.strip()
136135
== multi_hosts["ubi8"][1].hostname
137136
)
137+
138+
139+
def test_custom_hostname():
140+
with Broker(container_host="ubi8:latest", hostname="my.custom.hostname") as chost:
141+
assert chost.hostname == "my.custom.hostname"
142+
assert chost.execute("hostname").strip() == "my.custom.hostname"

0 commit comments

Comments
 (0)