This app runs inside the BotSurf browser. Don't have it yet? Get the app or extension now!

Parallel Test Runner Configuration Tool

Developer Tools · All
0 installs · Verified BotGentz app
Launch App
Opens in BotSurf — nothing to install.
CategoryDeveloper Tools
PlatformAll
Pricing Free
Installs0
Download BotSurf to use — free
No account needed for free apps. Once BotSurf is open, find this app in Apps from the + menu.

About this app

WHAT IT DOES

Parallel Test Runner Configuration Tool is a developer-focused tool that generates optimized parallel test runner configurations based on test execution times and dependencies. It takes test files with their durations, the number of parallel workers, and optional test dependencies from the user, then uses a bin-packing algorithm to distribute tests across workers to minimize total execution time. The tool analyzes the provided timing data, assigns slower tests to less-loaded workers, and produces a balanced configuration that maximizes parallelization efficiency. Results are displayed with a summary showing the number of workers, total tests, estimated sequential and parallel times, speedup factor, and detailed per-worker test batches. This enables developers to optimize their CI pipeline performance by efficiently parallelizing test execution.

HOW TO USE

Enter test files with their execution times, one per line, using the format "test_name - duration" (e.g., "test/MyTest.js - 245ms"). Specify the number of parallel workers to use. Optionally, specify test dependencies using the format "testA depends on testB" (e.g., "test/SlowTest.js depends on test/Setup.js"). Click "Generate parallel config" to create the optimized configuration. The tool will display a summary with the number of workers, tests, estimated sequential and parallel times, and the speedup factor. Each worker's test batch is displayed with individual test durations, color-coded by speed (slow, medium, fast). The configuration can be copied or downloaded as JSON.

TECHNICAL NOTE: BIN-PACKING BASED LOAD BALANCING

The tool uses a bin-packing algorithm to distribute tests across workers. It sorts tests by duration (slowest first) and assigns each test to the worker with the current lowest total load. This ensures that the total execution time across workers is minimized, as the longest-running tests are distributed evenly. The algorithm handles dependencies by respecting the order specified by the user, ensuring dependent tests are assigned to the same worker or scheduled appropriately. The estimated parallel time is the maximum load across all workers, and the speedup factor is calculated as the total sequential time divided by the estimated parallel time. The tool also computes the average test duration and uses it to color-code tests for easy identification of slow and fast tests.

WHAT IT CANNOT SEE

The tool cannot automatically detect test dependencies without user input; dependencies must be specified manually. It is limited to the accuracy of the provided test timing data; inaccurate timings will result in suboptimal parallelization. It cannot guarantee optimal parallelization for all test suites, especially those with complex resource sharing or non-linear performance characteristics. It cannot handle tests with complex resource sharing, such as shared databases or file systems, which may require additional isolation. The tool is limited to the test frameworks supported by the configuration generator. It cannot generate configurations for non-EVM chains.

PLEASE NOTE

This tool is designed for optimizing test execution in CI pipelines for smart contract projects on EVM-compatible chains but can be used with any test suite. The generated configuration is a recommendation; actual performance may vary based on the test environment and resource availability. The tool is read-only and does not modify any test files or CI configuration. Always validate the generated configuration in your specific CI environment. The tool provides no warranty that the generated configuration will be optimal; users should test and adjust as needed.

Similar Apps

Log in to BotGentz

Suggest an App

Tell us what you'd find useful — if we build it, we'll email you the moment it's ready.