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):
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_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+
139165def test_salt (host ):
140166 ssh_version = host .salt ("pkg.version" , "openssh-server" , local = True )
141167 assert ssh_version .startswith ("1:9.2" )
Original file line number Diff line number Diff line change @@ -219,11 +219,24 @@ def is_valid(self):
219219 name = self .name if self ._has_systemd_suffix () else f"{ self .name } .service"
220220 cmd = self .run ("systemd-analyze verify %s" , name )
221221 # A bad unit file still returns a rc of 0, so check the
222- # stdout for anything. Nothing means no warns/errors.
222+ # stdout for anything. Nothing means no warns/errors.
223223 # Docs at https://www.freedesktop.org/software/systemd/man/systemd
224224 # -analyze.html#Examples%20for%20verify
225- assert (cmd .stdout , cmd .stderr ) == ("" , "" )
226- return True
225+
226+ # Ignore non-relevant messages from the output of "systemd-analyze
227+ # verify":
228+ # "Unit is bound to inactive unit"
229+ # "ssh.service: Command 'man sshd(8)' failed with code"
230+ # --man=no: suppress the man page existence check
231+ # implemented in Systemd 235 (2017-10-06)
232+ stderr_lines = [
233+ i
234+ for i in cmd .stderr .splitlines ()
235+ if "Unit is bound to inactive unit" not in i and ": Command 'man" not in i
236+ ]
237+
238+ stderr = "" .join (stderr_lines )
239+ return (cmd .stdout , stderr ) == ("" , "" )
227240
228241 @property
229242 def is_masked (self ):
You can’t perform that action at this time.
0 commit comments