esptest.testcase.result module

class esptest.testcase.result.ResultDetail(type, context='', params=<factory>, result=<factory>, brief_message='', started_at=None, finished_at=None, file='')[source]

Bases: object

ResultDetail is a class that records the result of a performance test.

Each accumulated record corresponds to one TestResultDetail database row and can be dumped as JSON / JSONL for batch import into the database.

Database schema (TestResultDetail) that records the target:

params:        dict[str, Any]           (JSONB, required)
result:        dict[str, Any]           (JSONB, required)
duration:      int | None
logs:          list[dict[str, Any]] | None
brief_message: str | None
started_at:    datetime | None
finished_at:   datetime | None
Parameters:
type: str
context: str = ''
params: Dict[str, Any]
result: Dict[str, Any]
brief_message: str = ''
started_at: str | None = None
finished_at: str | None = None
file: str = ''
to_dict()[source]
Return type:

Dict[str, Any]

classmethod from_dict(data)[source]
Parameters:

data (Dict[str, Any])

Return type:

ResultDetail

classmethod load_json(path)[source]
Parameters:

path (str | Path)

Return type:

ResultDetail

to_json(indent=2)[source]
Parameters:

indent (int | None)

Return type:

str

to_text()[source]
Return type:

str

to_markdown()[source]
Return type:

str

save_json(path, indent=2)[source]
Parameters:
Return type:

Path

save_text(path)[source]
Parameters:

path (str | Path)

Return type:

Path

save_markdown(path)[source]
Parameters:

path (str | Path)

Return type:

Path

class esptest.testcase.result.TestCaseStatus[source]

Bases: object

PASSED = 'passed'
FAILED = 'failed'
ERROR = 'error'
SKIPPED = 'skipped'
class esptest.testcase.result.TestCaseResult(name: str, classname: str = '', status: str = 'passed', duration: Optional[float] = None, message: Optional[str] = None, failure_type: Optional[str] = None, stdout: Optional[str] = None, stderr: Optional[str] = None, properties: Dict[str, str] = <factory>, logs: Optional[List[Dict[str, Any]]] = None, result_detail_files: List[str] = <factory>, result_details: List[esptest.testcase.result.ResultDetail] = <factory>, started_at: Optional[str] = None)[source]

Bases: object

Parameters:
name: str
classname: str = ''
status: str = 'passed'
duration: float | None = None
message: str | None = None
failure_type: str | None = None
stdout: str | None = None
stderr: str | None = None
properties: Dict[str, str]
logs: List[Dict[str, Any]] | None = None
result_detail_files: List[str]
result_details: List[ResultDetail]
started_at: str | None = None
add_result_detail(detail, file_name='')[source]

Attach a ResultDetail object directly to this case.

The object is kept in result_details (in memory). When file_name (a path relative to the report/log directory) is given, it is stored on the detail (detail.file) and appended to result_detail_files so the report can reference the saved file. Writing the file itself is left to the caller (e.g. detail.save_json). Returns the same object for chaining.

Parameters:
Return type:

ResultDetail

class esptest.testcase.result.TestSuiteResult(name: str, test_cases: List[esptest.testcase.result.TestCaseResult] = <factory>, properties: Dict[str, str] = <factory>, timestamp: Optional[str] = None, package: Optional[str] = None, hostname: Optional[str] = None, file: Optional[str] = None)[source]

Bases: object

Parameters:
name: str
test_cases: List[TestCaseResult]
properties: Dict[str, str]
timestamp: str | None = None
package: str | None = None
hostname: str | None = None
file: str | None = None
property tests: int
property failures: int
property errors: int
property skipped: int
property time: float
class esptest.testcase.result.TestSuitesResult(name: str = 'testsuites', test_suites: List[esptest.testcase.result.TestSuiteResult] = <factory>, properties: Dict[str, str] = <factory>)[source]

Bases: object

Parameters:
name: str = 'testsuites'
test_suites: List[TestSuiteResult]
properties: Dict[str, str]
property tests: int
property failures: int
property errors: int
property skipped: int
property time: float