Base
provide.testkit.quality.base
¶
Base classes and protocols for quality analysis tools.
Classes¶
BaseQualityFixture
¶
Bases: ABC
Base class for pytest quality fixtures.
Provides common functionality for quality analysis fixtures including configuration management, artifact handling, and result tracking.
Initialize the fixture.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
config
|
dict[str, Any] | None
|
Tool-specific configuration |
None
|
artifact_dir
|
Path | None
|
Directory to store artifacts |
None
|
Source code in provide/testkit/quality/base.py
Functions¶
add_result
¶
create_artifact_dir
¶
Create and return artifact directory.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
subdir
|
str | None
|
Optional subdirectory name |
None
|
Returns:
| Type | Description |
|---|---|
Path
|
Path to the artifact directory |
Source code in provide/testkit/quality/base.py
ensure_setup
¶
get_results
¶
get_results_by_tool
¶
setup
abstractmethod
¶
QualityConfigError
¶
Bases: QualityError
Exception for configuration errors.
Source code in provide/testkit/quality/base.py
QualityError
¶
Bases: Exception
Base exception for quality analysis errors.
Initialize quality error.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
message
|
str
|
Error message |
required |
tool
|
str | None
|
Name of tool that caused the error |
None
|
details
|
dict[str, Any] | None
|
Additional error details |
None
|
Source code in provide/testkit/quality/base.py
Functions¶
QualityResult
dataclass
¶
QualityResult(
tool: str,
passed: bool,
score: float | None = None,
details: dict[str, Any] = dict(),
artifacts: list[Path] = list(),
execution_time: float | None = None,
)
Result from a quality analysis tool.
Attributes:
| Name | Type | Description |
|---|---|---|
tool |
str
|
Name of the tool that generated this result |
passed |
bool
|
Whether the quality check passed |
score |
float | None
|
Numeric score (0-100) if applicable |
details |
dict[str, Any]
|
Tool-specific details and metrics |
artifacts |
list[Path]
|
List of artifact files created |
execution_time |
float | None
|
Time taken to run the analysis in seconds |
QualityTool
¶
Bases: Protocol
Protocol for quality analysis tools.
Functions¶
analyze
¶
Run analysis on the given path.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
path
|
Path
|
Path to analyze (file or directory) |
required |
**kwargs
|
Any
|
Tool-specific options |
{}
|
Returns:
| Type | Description |
|---|---|
QualityResult
|
QualityResult containing analysis results |
Source code in provide/testkit/quality/base.py
report
¶
Generate a report from analysis result.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
result
|
QualityResult
|
Result to generate report for |
required |
format
|
str
|
Output format (terminal, json, html, markdown) |
'terminal'
|
Returns:
| Type | Description |
|---|---|
str
|
Formatted report string |
Source code in provide/testkit/quality/base.py
QualityToolError
¶
Bases: QualityError
Exception for tool execution errors.