67 lines
2.8 KiB
YAML
67 lines
2.8 KiB
YAML
# Regression Test Tracker Plugin Configuration
|
|
|
|
# Database settings (for storing test results and history)
|
|
database:
|
|
type: "sqlite" # Options: sqlite, postgresql, mysql, etc.
|
|
connection_string: "regression_tests.db" # REPLACE_ME: Database connection string
|
|
# Example PostgreSQL connection string:
|
|
# connection_string: "postgresql://user:password@host:port/database"
|
|
|
|
# Test execution settings
|
|
test_execution:
|
|
runner: "pytest" # REPLACE_ME: Test runner command (e.g., pytest, unittest)
|
|
test_directory: "tests" # Directory containing test files
|
|
pattern: "test_*.py" # Pattern to identify test files
|
|
concurrency: 4 # Number of parallel test processes
|
|
timeout: 60 # Timeout in seconds for each test
|
|
retry_attempts: 2 # Number of retry attempts for failed tests
|
|
report_format: "xml" # Test report format (e.g., xml, json, html)
|
|
report_file: "test_report.xml" # Path to the generated test report
|
|
|
|
# Regression test suite definition
|
|
regression_suite:
|
|
tags: # List of tags to identify regression tests
|
|
- "regression"
|
|
- "critical"
|
|
# Optionally, specify specific test files or directories to include/exclude
|
|
include_paths: # Paths to include in the regression test suite. Leave empty to include all tests tagged above.
|
|
- "tests/important_feature_tests"
|
|
exclude_paths: # Paths to exclude from the regression test suite.
|
|
- "tests/experimental_tests"
|
|
|
|
# Change impact analysis settings
|
|
change_impact:
|
|
vcs: "git" # Version control system (e.g., git, mercurial)
|
|
# Command to get list of changed files since last regression test run.
|
|
# REPLACE_ME: You might need to customize this based on your workflow.
|
|
changed_files_command: "git diff --name-only HEAD^ HEAD"
|
|
mapping: # Mapping between files and affected tests
|
|
"src/feature_a.py": # Example: if feature_a.py is changed, run these tests
|
|
- "tests/test_feature_a.py::test_function_1"
|
|
- "tests/test_integration.py::test_feature_a_integration"
|
|
"src/common_utils.py": # Example: If a common utility file changes, run a broad suite of tests
|
|
- "tests/test_all.py"
|
|
|
|
# Flaky test detection settings
|
|
flaky_test_detection:
|
|
enabled: true # Enable flaky test detection
|
|
failure_threshold: 3 # Number of failures within a window to consider a test flaky
|
|
window_size: 10 # Number of test runs to consider for flaky test detection
|
|
|
|
# Notification settings (e.g., Slack, email)
|
|
notifications:
|
|
enabled: false # Enable notifications
|
|
type: "slack" # Notification type (e.g., slack, email)
|
|
webhook_url: "YOUR_VALUE_HERE" # REPLACE_ME: Slack webhook URL
|
|
# OR email settings
|
|
# email:
|
|
# sender: "test_tracker@example.com"
|
|
# recipient: "developers@example.com"
|
|
# smtp_server: "smtp.example.com"
|
|
# smtp_port: 587
|
|
# smtp_username: "YOUR_VALUE_HERE"
|
|
# smtp_password: "YOUR_VALUE_HERE"
|
|
|
|
# Advanced settings
|
|
advanced:
|
|
debug_mode: false # Enable debug mode for verbose logging |