Beispiel #1
0
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
Beispiel #2
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
Beispiel #3
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
Beispiel #4
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
Beispiel #5
0
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
Beispiel #6
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