2121from unittest .mock import MagicMock , patch
2222
2323import vk_host
24+ from checkbox_support .helpers .host_utils import VulkanDetectionError
2425
2526
2627class TestCmdResource (unittest .TestCase ):
@@ -42,10 +43,14 @@ def test_returns_0_when_gpu_found(self, _arch, _plz, _check):
4243 def test_returns_1_when_no_gpu (self , _arch , _plz , _check ):
4344 self .assertEqual (vk_host .cmd_resource (), 1 )
4445
45- @patch ("vk_host.find_plz_run" , return_value = None )
46+ @patch (
47+ "vk_host.find_plz_run" ,
48+ side_effect = VulkanDetectionError ("plz-run not found" ),
49+ )
4650 @patch ("vk_host.get_arch_triple" , return_value = "x86_64-linux-gnu" )
4751 def test_returns_1_when_plz_run_not_found (self , _arch , _plz ):
48- self .assertEqual (vk_host .cmd_resource (), 1 )
52+ with patch ("sys.argv" , ["vk_host.py" , "resource" ]):
53+ self .assertEqual (vk_host .main (), 1 )
4954
5055
5156class TestCmdValidateInstall (unittest .TestCase ):
@@ -78,7 +83,7 @@ def _mock_run(self, returncode=0):
7883 mock_result .returncode = returncode
7984 return MagicMock (return_value = mock_result )
8085
81- @patch ("vk_host._active_vendor_prefixes " , return_value = None )
86+ @patch ("vk_host.active_vendor_prefixes " , return_value = None )
8287 @patch ("vk_host.find_host_icd_filenames" , return_value = ICD )
8388 def test_passes_correct_args (self , _icd , _prefixes ):
8489 mock_run = self ._mock_run ()
@@ -93,22 +98,22 @@ def test_passes_correct_args(self, _icd, _prefixes):
9398 self .assertEqual (env ["SNAP" ], self .SNAP )
9499 self .assertEqual (env ["NODEVICE_SELECT" ], "1" )
95100
96- @patch ("vk_host._active_vendor_prefixes " , return_value = None )
101+ @patch ("vk_host.active_vendor_prefixes " , return_value = None )
97102 @patch ("vk_host.find_host_icd_filenames" , return_value = ICD )
98103 def test_forwards_nonzero_returncode (self , _icd , _prefixes ):
99104 mock_run = self ._mock_run (returncode = 1 )
100105 with patch ("subprocess.run" , mock_run ):
101106 self .assertEqual (vk_host .cmd_run_test ([self .CASELIST ]), 1 )
102107
103- @patch ("vk_host._active_vendor_prefixes " , return_value = None )
108+ @patch ("vk_host.active_vendor_prefixes " , return_value = None )
104109 @patch ("vk_host.find_host_icd_filenames" , return_value = "" )
105110 def test_does_not_set_vk_icd_when_none_found (self , _icd , _prefixes ):
106111 mock_run = self ._mock_run ()
107112 with patch ("subprocess.run" , mock_run ):
108113 vk_host .cmd_run_test ([self .CASELIST ])
109114 self .assertNotIn ("VK_ICD_FILENAMES" , mock_run .call_args [1 ]["env" ])
110115
111- @patch ("vk_host._active_vendor_prefixes " , return_value = None )
116+ @patch ("vk_host.active_vendor_prefixes " , return_value = None )
112117 @patch ("vk_host.find_host_icd_filenames" , return_value = ICD )
113118 def test_respects_explicit_vk_icd_filenames (self , _icd , _prefixes ):
114119 explicit = "/usr/share/vulkan/icd.d/nvidia_icd.json"
0 commit comments