tessl install tessl/npm-jest-circus@29.7.0The next-gen flux-based test runner for Jest that provides test framework globals and event-driven test execution
Agent Success
Agent success rate when using this tile
82%
Improvement
Agent success rate improvement when using this tile compared to baseline
1.91x
Baseline
Agent success rate without this tile
43%
Build a command-line tool that helps developers run focused test sessions by filtering tests based on their previous execution results. The tool should maintain a test history and provide options to run only tests that failed in previous runs or only tests affected by recent changes.
Test History Management: The tool should persist test execution results between runs. When tests complete, save which tests passed and which failed.
Failure-Based Filtering: Provide a command-line option that runs only tests that failed in the most recent complete test run. This allows developers to focus on fixing failing tests without re-running everything.
Change-Based Filtering: Provide a command-line option that runs only tests related to files that have changed since the last commit. This helps developers verify their recent changes without running the entire suite.
Full Test Run Mode: Support running all tests without any filtering, which should also update the test history for future filtered runs.
Store test results in a JSON file (e.g., .test-history.json) that tracks:
Use git to detect changed files (assume the project is in a git repository)
The tool should accept configuration via command-line flags:
--failures-only or -f: Run only previously failed tests--changed-only or -c: Run only tests for changed filesThe tool should display which filtering mode is active before running tests
After test execution, update the stored history with the new results
Provides the test execution framework and programmatic test filtering capabilities.
Setup: Create a test history file indicating that math.test.js failed and utils.test.js passed in the previous run.
Action: Execute the tool with the --failures-only flag.
Expected: The tool should run only math.test.js and display a message indicating failure-based filtering is active.
Setup:
calculator.js (but don't commit the change)calculator.test.js existsAction: Execute the tool with the --changed-only flag.
Expected: The tool should identify that calculator.js has changed and run calculator.test.js. Display a message indicating change-based filtering is active.
Setup: Start with an empty or non-existent test history file.
Action: Run the tool without any flags to execute all tests.
Expected: