-
Notifications
You must be signed in to change notification settings - Fork 41
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'main' into examples-load
- Loading branch information
Showing
1 changed file
with
31 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
# Flakeguard | ||
|
||
**Flakeguard** is a tool designed to help identify flaky tests within a Go project. Flaky tests are tests that intermittently fail without changes to the code, often due to race conditions or other non-deterministic behavior. Flakeguard assists by analyzing the impact of code changes on test packages and by running tests multiple times to determine stability. | ||
|
||
## Features | ||
|
||
- **Identify Impacted Tests**: Detects test packages that may be affected by changes in your Go project files. | ||
- **Run Tests for Flakiness**: Runs tests multiple times to determine their flakiness. | ||
- **Output Results in JSON**: Allows easy integration with CI pipelines and custom reporting. | ||
- **Supports Exclusion Lists**: Configurable to exclude specified packages or paths from the analysis. | ||
- **Recursive Dependency Analysis**: Detects all impacted packages through dependency levels. | ||
|
||
## Installation | ||
|
||
To install `flakeguard` CLI, you need to have Go installed on your machine. With Go installed, run the following command: | ||
|
||
```sh | ||
go install github.com/smartcontractkit/chainlink-testing-framework/tools/flakeguard@latest | ||
``` | ||
|
||
## Usage | ||
|
||
Flakeguard offers two main commands: | ||
- `find` identifies test packages affected by recent changes. | ||
- `run` executes tests multiple times to identify flaky tests | ||
|
||
Run with `--help` to see all flags for the commands. | ||
|
||
### JSON Output | ||
|
||
Both `find` and `run` commands support JSON output `--json`, making it easy to integrate Flakeguard with CI/CD pipelines and reporting tools. |