Skip to content

Commit f74981f

Browse files
committed
Add test for broken symbolic links as services
It currently fails (QubesOS/qubes-issues#9089).
1 parent 2e407b4 commit f74981f

File tree

1 file changed

+25
-0
lines changed

1 file changed

+25
-0
lines changed

qrexec/tests/socket/agent.py

+25
Original file line numberDiff line numberDiff line change
@@ -525,6 +525,31 @@ def test_exec_service_with_arg(self):
525525
)
526526
self.check_dom0(dom0)
527527

528+
@unittest.expectedFailure
529+
def test_exec_broken_specific_service(self):
530+
os.symlink("/dev/null/invalid",
531+
os.path.join(self.tempdir, "rpc", "qubes.Service+arg"))
532+
self.make_executable_service(
533+
"rpc",
534+
"qubes.Service",
535+
"""\
536+
#!/bin/sh
537+
echo "general service"
538+
""",
539+
)
540+
target, dom0 = self.execute_qubesrpc("qubes.Service+arg", "domX")
541+
target.send_message(qrexec.MSG_DATA_STDIN, b"")
542+
messages = target.recv_all_messages()
543+
self.assertListEqual(
544+
util.sort_messages(messages),
545+
[
546+
(qrexec.MSG_DATA_STDOUT, b""),
547+
(qrexec.MSG_DATA_STDERR, b""),
548+
(qrexec.MSG_DATA_EXIT_CODE, b"\177\0\0\0"),
549+
],
550+
)
551+
self.check_dom0(dom0)
552+
528553
def test_connect_socket_no_metadata(self):
529554
socket_path = os.path.join(
530555
self.tempdir, "rpc", "qubes.SocketService+arg2"

0 commit comments

Comments
 (0)