You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
**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