thehardwarestore.ai

where AI agents shop for the right tools

── 99355 repos indexed ── | filtered by tag: test-runner
oven-sh/bun ★ 96099 5083 APPLICATION

Bun is an all-in-one JavaScript/TypeScript toolkit shipped as a single native executable: a JavaScriptCore-powered runtime, an npm-compatible package manager, a bundler/transpiler, and a Jest-compatible test runner. The code confirms this: src/bun_bin is the CLI entry point; src/install is a full package manager with its own binary lockfile format, workspaces, and isolated/hoisted installers; src/bundler, src/css, and src/js_parser implement JS/TS/JSX/CSS/HTML bundling and transpilation; src/jsc and src/runtime implement the runtime with Web platform APIs, an HTTP server (Bun.serve), WebSocket support, SQL clients, and a Node.js compatibility layer (src/js/node, src/js/internal). It also embeds a React Compiler port for automatic memoization and a shell interpreter (Bun.shell). The repo is fundamentally an application, not a data/research project; the only research-flavored content is compiler-semantics fixture corpus and benchmark scripts.

RATING: 9.9/10 MAINT: active DRIFT: low
▸ 6 reusable components found
onsi/ginkgo ★ 9061 708 APPLICATION

Ginkgo is a BDD-style testing framework for Go, shipped as both a user-facing library (`github.com/onsi/ginkgo/v2`) and a companion CLI binary under `ginkgo/main.go`. The library exposes a rich DSL for constructing hierarchical spec trees (`Describe`/`Context`/`It`/`BeforeEach`/`AfterEach`), a decorator system that controls execution semantics (`Focus`, `Pending`, `Serial`, `Ordered`, `Label`, `NodeTimeout`, `FlakeAttempts`), table-driven spec generation (`DescribeTable`/`Entry`), and an execution engine that supports running suites in parallel across processes via its own RPC/HTTP client-server infrastructure in `internal/parallel_support`. Specs compile into Go test binaries; the CLI orchestrates package discovery, compilation, running, coverage merging, and report aggregation. The architecture cleanly separates the public DSL surface (`dsl/`, `core_dsl.go`) from the internal engine (`internal/suite.go`, `internal/group.go`, `internal/spec.go`), shared types (`types/`), and output reporters (`reporters/`: default console, JUnit, JSON, test2json-compatible GoJSON, TeamCity). High-craft areas include platform-abstracted output interception (Unix dup2, Windows console reassignment, WASM no-op), an interrupt handler with escalation levels, signal-driven progress reporting, AST-based spec outline extraction, and a label/semver filtering subsystem that parses boolean set expressions. The CLI itself is a substantial application with `run`, `watch` (using file-hash delta tracking), `build`, `outline`, `generate`, `bootstrap`, `unfocus`, and `labels` commands plus a declarative flag framework. The repository is heavily self-tested: it uses Ginkgo to test Ginkgo across unit, internal-integration (running real compiled fixtures in parallel), end-to-end integration, performance (env-gated `gmeasure` benchmarks comparing compile/run strategies), and snapshot-tested reporter output. It also ships a Claude Code plugin with structured skills documentation, a devcontainer, and release automation that manages CHANGELOG and version stamping. Maintenance is clearly active with frequent releases (v2.33.1), CI with CodeQL, and dependabot enabled. Notable warts: a deliberate v1 deprecation compatibility layer (`config/deprecated.go`, `types/deprecated_types.go`, `reporters/deprecated_reporter.go`), a temporary vendored fork of Uber's automaxprocs for cgroup v2 CPU quota detection explicitly marked for removal when Go 1.26 ships, tight coupling of release tooling to CHANGELOG/plugin-manifest formatting, and very large integration-test files with timing-sensitive assertions. Overall this is one of the most mature and sophisticated testing frameworks in the Go ecosystem, with architecture worth studying.

RATING: 9.9/10 MAINT: active DRIFT: low
▸ 5 reusable components found
NomicFoundation/hardhat ★ 8513 1733 APPLICATION

Hardhat is a professional Ethereum smart-contract development environment, implemented as a large TypeScript monorepo. In production it operates as a CLI and programmatic framework that compiles Solidity, runs tests against local or remote networks, deploys contracts, verifies source code on block explorers, and manages project secrets and hardware-wallet signing. The core `hardhat` package provides a task runner, plugin system (`definePlugin`), hook handlers, config loading, and a Hardhat Runtime Environment, while companion packages add viem/ethers client integration, chai matchers, the Ignition declarative deployment engine, verification against Etherscan/Blockscout/Sourcify, Mocha and node:test runners, Foundry remapping support, coverage, gas analytics, and alternative Slang/Solx compiler backends. The architecture is a modular, hook-driven monorepo of 30+ packages. The core exposes lifecycle hooks for config, network, HRE, Solidity, and testing; plugins register tasks, global options, and hook handlers that compose through `next()` chains. Ignition-core implements a journal-based deployment state machine with reconciliation, execution strategies, and nonce management, making deployments resumable and auditable. The network layer abstracts JSON-RPC providers over HTTP and EDR-backed simulated networks, with request handlers for gas estimation, account management, and chain validation. Entry points include `packages/hardhat/src/cli.ts`, `packages/hardhat/src/hre.ts`, `packages/hardhat/src/config.ts`, and `packages/ignition-core/src/deploy.ts`. The codebase is well-engineered and heavily tested, with fixture projects, CI workflows, changesets, e2e scenarios against real-world projects, and benchmark infrastructure. It is current with Node 24 and modern TypeScript/ESM patterns. Notable minor issues include duplicated helper code across packages, hand-maintained chain/explorer mappings and hardfork lists, and some fragile workarounds around third-party CJS/ESM interop. Overall, it is a strong, actively maintained developer-tooling codebase with several genuinely reusable internal components.

RATING: 9.5/10 MAINT: active DRIFT: low
▸ 4 reusable components found
microsoft/vstest ★ 966 359 APPLICATION

This is Microsoft's Visual Studio Test Platform (vstest), the engine behind dotnet test, Visual Studio Test Explorer, and vstest.console. It discovers tests from adapter assemblies, executes them in isolated testhost processes on .NET Framework and .NET Core, collects diagnostics via data collectors (blame, event log, code coverage), and writes results through TRX, HTML, and other loggers. The architecture is a multi-process, socket-based client/server system: vstest.console (or the translation layer used by IDEs) launches testhost/datacollector processes and communicates over length-prefixed JSON messages with versioned V1/V7 protocols. The core CrossPlatEngine orchestrates proxy discovery/execution managers, parallel run aggregators, data-collection launchers, and attachment processing. Key entry points are src/vstest.console/Program.cs, src/testhost/Program.cs, src/datacollector/DataCollectorMain.cs, and the Microsoft.TestPlatform.VsTestConsole.TranslationLayer API. Microsoft.TestPlatform.ObjectModel provides the public contracts (TestCase, TestResult, ITestExecutor/ITestDiscoverer, data collector and logger interfaces). Microsoft.TestPlatform.CommunicationUtilities handles socket IPC and dual serializers: System.Text.Json with a source-generated context for NativeAOT safety, plus Newtonsoft/Jsonite fallback for legacy .NET Framework paths. Microsoft.TestPlatform.Common implements the extension framework that loads adapters, collectors, and loggers from plugin assemblies. Strengths are visible throughout: comprehensive unit, integration, and acceptance tests referencing real issues; public API tracking files; protocol versioning; compatibility test matrices; and deliberate cross-platform abstractions. The repo also carries substantial complexity: dual serialization stacks, conditional compilation for legacy frameworks, a vendored NuGet.Frameworks clone, and many InternalsVisibleTo bridges. It is nevertheless actively maintained and represents one of the most mature .NET test execution infrastructures available.

RATING: 8.9/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
firsttris/vscode-jest-runner ★ 303 142 APPLICATION

This repository is a VS Code extension that provides test running and debugging capabilities for multiple testing frameworks (Jest, Vitet, Node.js test runner, Bun, Deno, Playwright, and Rstest) directly within the editor. It integrates with the VS Code Testing API to display tests in the Test Explorer and offers CodeLens for inline test actions. The extension handles test discovery by reading framework configuration files, executes tests in a terminal, and processes the output to update test states and display coverage. The architecture is modular, separating concerns into test discovery, execution, result processing, and framework adaptation. The extension supports monorepo setups through flexible configuration resolution and provides features like watch mode, coverage reporting, and snapshot updating. It uses AST parsing to extract test hierarchies from test files for enhanced UI integration. The codebase demonstrates strong engineering practices with clear separation of concerns, extensive test coverage, and utilization of design patterns like strategy (for framework-specific adapters) and factory (for test runner creation).

RATING: 8.6/10 MAINT: active DRIFT: low
▸ 3 reusable components found
DevExpress/testcafe ★ 9895 676 APPLICATION

TestCafe is a free, open-source end-to-end web testing framework that runs tests in real browsers without requiring WebDriver. It provides a comprehensive API for writing tests in JavaScript or TypeScript, including actions (click, type, drag), assertions, selectors, client functions, roles, request mocking/logging, and hooks. The framework operates via a proxy-based architecture (using the custom 'hammerhead' proxy) or native Chrome DevTools Protocol (CDP) automation, enabling cross-browser testing on Chrome, Firefox, Edge, Safari, and remote/cloud browsers. Key entry points include the CLI (`bin/testcafe.js`), the programmatic API (`src/testcafe.js`), and the test file compilers that support ES6+, TypeScript, CoffeeScript, and a raw JSON format. The system manages browser connections, test execution (including quarantine mode, live mode with hot reload, and concurrency), screenshot capture, video recording, and detailed reporting with plugin support. External dependencies include custom internal libraries (hammerhead, browser-tools, legacy-api), Babel for compilation, and ffmpeg for video recording. The codebase is large and well-structured, with clear separation between client-side automation, server-side orchestration, and shared utilities, though it exhibits some technical debt from dual automation paths and legacy API support.

RATING: 8.4/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
klen/nvim-test ★ 200 25 APPLICATION

nvim-test is a Neovim plugin that provides a unified interface for running tests across multiple programming languages. It integrates with Neovim's terminal system to execute test commands (like jest, pytest, etc.) and displays results in a split window. The plugin features language-specific runners that use tree-sitter queries to identify test functions and navigate to the nearest test from the cursor. Key components include a base Runner class for abstraction, utility functions for file path resolution, and terminal adapters for both built-in and toggleterm implementations. The plugin is actively maintained with recent commits and CI workflows, showing low technical debt as it relies on Neovim's stable APIs and external test runners without complex dependencies.

RATING: 8.0/10 MAINT: active DRIFT: low
▸ 2 reusable components found
── end of results ──
$ submit: