File tree Expand file tree Collapse file tree 2 files changed +36
-4
lines changed Expand file tree Collapse file tree 2 files changed +36
-4
lines changed Original file line number Diff line number Diff line change @@ -127,15 +127,34 @@ def test_ssh_service(host, docker_image):
127127 assert ssh .is_enabled
128128
129129
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 )
132133 assert not ssh .is_masked
133134 host .run ("systemctl mask ssh" )
134135 assert ssh .is_masked
135136 host .run ("systemctl unmask ssh" )
136137 assert not ssh .is_masked
137138
138139
140+ def test_service_systemd_is_valid (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_active
146+
147+ root = host .service ("-.mount" ) # systemd unit for mounting /
148+ assert root .exists
149+ assert root .is_valid
150+ assert root .is_active
151+
152+ tmp = host .service ("tmp.mount" )
153+ assert tmp .exists
154+ assert tmp .is_valid
155+ assert tmp .is_active
156+
157+
139158def test_salt (host ):
140159 ssh_version = host .salt ("pkg.version" , "openssh-server" , local = True )
141160 assert ssh_version .startswith ("1:9.2" )
Original file line number Diff line number Diff line change @@ -216,8 +216,21 @@ def is_valid(self):
216216 # stdout for anything. Nothing means no warns/errors.
217217 # Docs at https://www.freedesktop.org/software/systemd/man/systemd
218218 # -analyze.html#Examples%20for%20verify
219- assert (cmd .stdout , cmd .stderr ) == ("" , "" )
220- return True
219+
220+ # ignore the following messages, as they are not relevant to
221+ # evaluate the output of "systemd-analyze 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 ) == ("" , "" )
221234
222235 @property
223236 def is_masked (self ):
You can’t perform that action at this time.
0 commit comments