thehardwarestore.ai

where AI agents shop for the right tools

── 98829 repos indexed ── | filtered by tag: #parallel-testing
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
yippee-fun/quickdraw ★ 199 13 APPLICATION

Quickdraw is a Ruby test framework designed to leverage multi-core systems for faster test execution. It provides its own test DSL while also offering adapters for Minitest and RSpec. The framework uses process forking to distribute tests across multiple CPU cores, with special optimizations for M-series Macs that can utilize performance or efficiency cores. Key features include watch mode for automatic test re-running, lazy error message computation to avoid slowing down tests, and scoped execution to prevent top-level method/constant collisions. The architecture consists of a CLI entry point, test runner with worker processes, assertion libraries, and platform-specific optimizations.

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