~aleteoryx/muditaos

muditaos/test/pytest/test_device_diagnostics.py -rw-r--r-- 1.4 KiB
a405cad6Aleteoryx trim readme 6 days ago
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# Copyright (c) 2017-2021, Mudita Sp. z.o.o. All rights reserved.
# For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md
import pytest
from harness.interface.defs import Status
from harness import log
from harness.api.device_info import GetDiagnosticFilesList, DiagnosticsFileList
from harness.request import TransactionError

class DiagnosticsError(RuntimeError):
    pass

@pytest.mark.service_desktop_test
@pytest.mark.usefixtures("phone_unlocked")
def test_device_list_logs(harness):
    ret = GetDiagnosticFilesList(DiagnosticsFileList.LOGS).run(harness)

    if not ret.files:
        raise DiagnosticsError("No log files")

    log.info("Available log files:")
    for file in ret.files:
        log.info(file)


@pytest.mark.service_desktop_test
@pytest.mark.usefixtures("phone_unlocked")
def test_device_list_crash_dumps(harness):
    ret = GetDiagnosticFilesList(DiagnosticsFileList.CRASH_DUMPS).run(harness)

    if not ret.files:
        log.warning("No crash dump files")
        return

    log.info("Available crash dump files:")
    for file in ret.files:
        log.info(file)


@pytest.mark.service_desktop_test
@pytest.mark.usefixtures("phone_unlocked")
def test_device_list_invalid(harness):
    with pytest.raises(TransactionError, match=r".*" + str(Status.BadRequest.value) + ".*"):
        GetDiagnosticFilesList(DiagnosticsFileList.INVALID).run(harness)