def test_num_available_gpus_returns_0_when_container_wait_timesout( event_loop: asyncio.events.AbstractEventLoop, mock_service_envs: None, mock_aiodocker: mock.MagicMock, ): mock_aiodocker.return_value.__aenter__.return_value.containers.run.return_value.wait.side_effect = ( asyncio.TimeoutError()) assert num_available_gpus() == 0
def test_num_available_gpus_returns_0_when_bad_status_code_returned( loop: asyncio.events.AbstractEventLoop, mock_aiodocker: mock.MagicMock, ): mock_aiodocker.return_value.__aenter__.return_value.containers.run.return_value.wait.return_value = { "StatusCode": 1 } assert num_available_gpus() == 0
def test_num_available_gpus_returns_0_when_no_status_code_returned( loop: asyncio.events.AbstractEventLoop, mock_aiodocker: mock.MagicMock, ): mock_aiodocker.return_value.__aenter__.return_value.containers.run.return_value.wait.return_value = { "mistakeinthereturnvalue": "kdsfjh" } assert num_available_gpus() == 0
def test_num_available_gpus( event_loop: asyncio.events.AbstractEventLoop, mock_service_envs: None, container_logs: List[str], expected_num_gpus: int, mock_aiodocker: mock.MagicMock, ): # default with mock should return 0 gpus assert num_available_gpus() == 0 # add the correct log mock_aiodocker.return_value.__aenter__.return_value.containers.run.return_value.log.return_value = ( container_logs) # set the correct status code mock_aiodocker.return_value.__aenter__.return_value.containers.run.return_value.wait.return_value = { "StatusCode": 0 } assert num_available_gpus() == expected_num_gpus
def test_num_available_gpus_returns_0_when_container_not_created( event_loop: asyncio.events.AbstractEventLoop, mock_service_envs: None, mock_aiodocker: mock.MagicMock, ): mock_aiodocker.return_value.__aenter__.return_value.containers.run.return_value = ( None) assert num_available_gpus() == 0
def test_num_available_gpus_returns_0_when_container_throws_exception_on_run( event_loop: asyncio.events.AbstractEventLoop, mock_service_envs: None, mock_aiodocker: mock.MagicMock, ): mock_aiodocker.return_value.__aenter__.return_value.containers.run.side_effect = ( aiodocker.exceptions.DockerError( status="testing bad status", data={"message": "error when running"})) assert num_available_gpus() == 0