Commit b16e0a5 1 parent c0e7f6a commit b16e0a5 Copy full SHA for b16e0a5
File tree 1 file changed +33
-0
lines changed
1 file changed +33
-0
lines changed Original file line number Diff line number Diff line change 26
26
import struct
27
27
import getpass
28
28
import itertools
29
+ import asyncio
29
30
30
31
import psutil
31
32
import pytest
@@ -584,6 +585,38 @@ def test_exec_broken_specific_service(self):
584
585
)
585
586
self .check_dom0 (dom0 )
586
587
588
+ @unittest .expectedFailure
589
+ def test_exec_null_argument_finds_service_for_empty_argument (self ):
590
+ self .make_executable_service (
591
+ "local-rpc" ,
592
+ "qubes.Service+" ,
593
+ """\
594
+ #!/bin/sh --
595
+ echo "specific service: $QREXEC_SERVICE_FULL_NAME"
596
+ """ ,
597
+ )
598
+ self .make_executable_service (
599
+ "rpc" ,
600
+ "qubes.Service" ,
601
+ """\
602
+ #!/bin/sh
603
+ echo "general service"
604
+ """ ,
605
+ )
606
+ target , dom0 = self .execute_qubesrpc ("qubes.Service" , "domX" )
607
+ target .send_message (qrexec .MSG_DATA_STDIN , b"" )
608
+ messages = target .recv_all_messages ()
609
+ self .assertListEqual (
610
+ util .sort_messages (messages ),
611
+ [
612
+ (qrexec .MSG_DATA_STDOUT , b"specific service: qubes.Service\n " ),
613
+ (qrexec .MSG_DATA_STDOUT , b"" ),
614
+ (qrexec .MSG_DATA_STDERR , b"" ),
615
+ (qrexec .MSG_DATA_EXIT_CODE , b"\0 \0 \0 \0 " ),
616
+ ],
617
+ )
618
+ self .check_dom0 (dom0 )
619
+
587
620
def test_connect_socket_no_metadata (self ):
588
621
socket_path = os .path .join (
589
622
self .tempdir , "rpc" , "qubes.SocketService+arg2"
You can’t perform that action at this time.
0 commit comments