Source code for libkirk.framework

"""
.. module:: framework
    :platform: Linux
    :synopsis: framework definition

.. moduleauthor:: Andrea Cervesato <andrea.cervesato@suse.com>
"""

from typing import List

from libkirk.com import ComChannel
from libkirk.data import (
    Suite,
    Test,
)
from libkirk.results import TestResults


[docs] class Framework: """ Framework definition. Implement this class if you need to support more testing frameworks inside the application. """
[docs] async def get_suites(self, channel: ComChannel) -> List[str]: """ Return the list of available suites. :param channel: Communication channel. :type channel: ComChannel :return: List of suites names. :rtype: list(str) """ raise NotImplementedError()
[docs] async def find_command(self, channel: ComChannel, command: str) -> Test: """ Search for command inside Framework folder and, if it's not found, search for command in the SUT. Then return a Test object which can be used to execute command. :param channel: Communication channel. :type channel: ComChannel :param command: Command to execute. :type command: str :return: Test object that has been found. :rtype: Test """ raise NotImplementedError()
[docs] async def find_suite(self, channel: ComChannel, name: str) -> Suite: """ Search for suite with given name inside the SUT. :param channel: Communication channel. :type channel: ComChannel :param suite: Name of the suite. :type suite: str :return: Suite object that has been found. :rtype: Suite """ raise NotImplementedError()
[docs] async def read_result( self, test: Test, stdout: str, retcode: int, exec_t: float ) -> TestResults: """ Return test results accoding with runner output and Test definition. :param test: Test definition object. :type test: Test :param stdout: Test stdout. :type stdout: str :param retcode: Test return code. :type retcode: int :param exec_t: Test execution time in seconds. :type exec_t: float :return: Test results. :rtype: TestResults """ raise NotImplementedError()