@@ -34,6 +34,23 @@ class HostSpec:
34
34
35
35
36
36
class CommandResult :
37
+ """Object that encapsulates all returned details of the command execution.
38
+
39
+ Example:
40
+
41
+ >>> cmd = host.run("ls -l /etc/passwd")
42
+ >>> cmd.rc
43
+ 0
44
+ >>> cmd.stdout
45
+ '-rw-r--r-- 1 root root 1790 Feb 11 00:28 /etc/passwd\\ n'
46
+ >>> cmd.stderr
47
+ ''
48
+ >>> cmd.succeeded
49
+ True
50
+ >>> cmd.failed
51
+ False
52
+ """
53
+
37
54
def __init__ (
38
55
self ,
39
56
backend : "BaseBackend" ,
@@ -82,24 +99,44 @@ def rc(self) -> int:
82
99
83
100
@property
84
101
def stdout (self ) -> str :
102
+ """Gets standard output (stdout) stream of an executed command
103
+
104
+ >>> host.run("mkdir -v new_directory").stdout
105
+ mkdir: created directory 'new_directory'
106
+ """
85
107
if self ._stdout is None :
86
108
self ._stdout = self ._backend .decode (self ._stdout_bytes )
87
109
return self ._stdout
88
110
89
111
@property
90
112
def stderr (self ) -> str :
113
+ """Gets standard error (stderr) stream of an executed command
114
+
115
+ >>> host.run("mkdir new_directory").stderr
116
+ mkdir: cannot create directory 'new_directory': File exists
117
+ """
91
118
if self ._stderr is None :
92
119
self ._stderr = self ._backend .decode (self ._stderr_bytes )
93
120
return self ._stderr
94
121
95
122
@property
96
123
def stdout_bytes (self ) -> bytes :
124
+ """Gets standard output (stdout) stream of an executed command as bytes
125
+
126
+ >>> host.run("mkdir -v new_directory").stdout_bytes
127
+ b"mkdir: created directory 'new_directory'"
128
+ """
97
129
if self ._stdout_bytes is None :
98
130
self ._stdout_bytes = self ._backend .encode (self ._stdout )
99
131
return self ._stdout_bytes
100
132
101
133
@property
102
134
def stderr_bytes (self ) -> bytes :
135
+ """Gets standard error (stderr) stream of an executed command as bytes
136
+
137
+ >>> host.run("mkdir new_directory").stderr_bytes
138
+ b"mkdir: cannot create directory 'new_directory': File exists"
139
+ """
103
140
if self ._stderr_bytes is None :
104
141
self ._stderr_bytes = self ._backend .encode (self ._stderr )
105
142
return self ._stderr_bytes
0 commit comments