Skip to content

Commit a9927b6

Browse files
committed
Merge branch 'main' into examples-load
2 parents 9eae7de + d585ea8 commit a9927b6

File tree

1 file changed

+31
-0
lines changed

1 file changed

+31
-0
lines changed

tools/flakeguard/README.md

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
# Flakeguard
2+
3+
**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.
4+
5+
## Features
6+
7+
- **Identify Impacted Tests**: Detects test packages that may be affected by changes in your Go project files.
8+
- **Run Tests for Flakiness**: Runs tests multiple times to determine their flakiness.
9+
- **Output Results in JSON**: Allows easy integration with CI pipelines and custom reporting.
10+
- **Supports Exclusion Lists**: Configurable to exclude specified packages or paths from the analysis.
11+
- **Recursive Dependency Analysis**: Detects all impacted packages through dependency levels.
12+
13+
## Installation
14+
15+
To install `flakeguard` CLI, you need to have Go installed on your machine. With Go installed, run the following command:
16+
17+
```sh
18+
go install github.com/smartcontractkit/chainlink-testing-framework/tools/flakeguard@latest
19+
```
20+
21+
## Usage
22+
23+
Flakeguard offers two main commands:
24+
- `find` identifies test packages affected by recent changes.
25+
- `run` executes tests multiple times to identify flaky tests
26+
27+
Run with `--help` to see all flags for the commands.
28+
29+
### JSON Output
30+
31+
Both `find` and `run` commands support JSON output `--json`, making it easy to integrate Flakeguard with CI/CD pipelines and reporting tools.

0 commit comments

Comments
 (0)