File tree Expand file tree Collapse file tree 2 files changed +44
-5
lines changed Expand file tree Collapse file tree 2 files changed +44
-5
lines changed Original file line number Diff line number Diff line change @@ -127,15 +127,41 @@ def test_ssh_service(host, docker_image):
127
127
assert ssh .is_enabled
128
128
129
129
130
- def test_service_systemd_mask (host ):
131
- ssh = host .service ("ssh" )
130
+ def test_service_systemd_mask (host , docker_image ):
131
+ name = "sshd" if docker_image == "rockylinux9" else "ssh"
132
+ ssh = host .service (name )
132
133
assert not ssh .is_masked
133
134
host .run ("systemctl mask ssh" )
134
135
assert ssh .is_masked
135
136
host .run ("systemctl unmask ssh" )
136
137
assert not ssh .is_masked
137
138
138
139
140
+ def test_service_systemd_ssh (host , docker_image ):
141
+ name = "sshd" if docker_image == "rockylinux9" else "ssh"
142
+ ssh = host .service (name )
143
+ assert ssh .exists
144
+ assert ssh .is_valid
145
+ assert ssh .is_enabled
146
+ assert ssh .is_running
147
+
148
+
149
+ def test_service_systemd_root_mount (host ):
150
+ root = host .service ("-.mount" ) # systemd unit for mounting /
151
+ assert root .exists
152
+ assert root .is_valid
153
+ assert root .is_enabled
154
+ assert root .is_running
155
+
156
+
157
+ def test_service_systemd_tmp_mount (host ):
158
+ tmp = host .service ("tmp.mount" )
159
+ assert tmp .exists
160
+ assert tmp .is_valid
161
+ assert tmp .is_enabled
162
+ assert tmp .is_running
163
+
164
+
139
165
def test_salt (host ):
140
166
ssh_version = host .salt ("pkg.version" , "openssh-server" , local = True )
141
167
assert ssh_version .startswith ("1:9.2" )
Original file line number Diff line number Diff line change @@ -213,11 +213,24 @@ def is_valid(self):
213
213
name = self .name if self ._has_systemd_suffix () else f"{ self .name } .service"
214
214
cmd = self .run ("systemd-analyze verify %s" , name )
215
215
# A bad unit file still returns a rc of 0, so check the
216
- # stdout for anything. Nothing means no warns/errors.
216
+ # stdout for anything. Nothing means no warns/errors.
217
217
# Docs at https://www.freedesktop.org/software/systemd/man/systemd
218
218
# -analyze.html#Examples%20for%20verify
219
- assert (cmd .stdout , cmd .stderr ) == ("" , "" )
220
- return True
219
+
220
+ # Ignore non-relevant messages from the output of "systemd-analyze
221
+ # verify":
222
+ # "Unit is bound to inactive unit"
223
+ # "ssh.service: Command 'man sshd(8)' failed with code"
224
+ # --man=no: suppress the man page existence check
225
+ # implemented in Systemd 235 (2017-10-06)
226
+ stderr_lines = [
227
+ i
228
+ for i in cmd .stderr .splitlines ()
229
+ if "Unit is bound to inactive unit" not in i and ": Command 'man" not in i
230
+ ]
231
+
232
+ stderr = "" .join (stderr_lines )
233
+ return (cmd .stdout , stderr ) == ("" , "" )
221
234
222
235
@property
223
236
def is_masked (self ):
You can’t perform that action at this time.
0 commit comments