awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
uber-go avatar

uber-go/goleak

0
View on GitHub↗
5,219 stars·163 forks·Go·MIT·21 views

Goleak

Goleak is a diagnostic utility designed to identify and report leaked goroutines within Go applications. By integrating directly with standard testing frameworks, it validates that background tasks terminate correctly after the completion of individual test cases, packages, or entire test suites.

The tool functions by capturing snapshots of active execution threads and comparing them against a baseline to isolate newly spawned processes. To ensure accuracy and reduce noise, it provides mechanisms to filter specific stack traces, ignore known background tasks, and perform retries to account for transient operations that may conclude shortly after a test finishes.

This library supports the maintenance of stable automated test suites by pinpointing the source of concurrency bugs and preventing resource exhaustion. It is distributed as a testing framework extension that can be incorporated into existing workflows to monitor runtime behavior and verify the overall concurrency health of software.

Features

  • Goroutine Leak Prevention - A testing utility that identifies and reports leaked goroutines by inspecting runtime stacks after test execution to ensure clean resource management.
  • Concurrent Software Testing - Identifies and prevents background goroutine leaks during automated test execution to ensure stable and resource-efficient software performance.
  • Thread Leak Detection - Detects active background goroutines to identify resource leaks during test execution and report unexpected persistence.
  • Execution Snapshots - Records a baseline of active tasks before execution and compares it against a final state to isolate newly spawned leaks.
  • Runtime Debugging - Inspects active background tasks and stack traces to diagnose unexpected process persistence and improve the overall health of concurrent applications.
  • Test Suite Extensions - Integrates with standard test suites to validate that no background tasks remain active after individual tests or packages finish.
  • Stack Trace Recoveries - Excludes specific background tasks or functions from leak detection by matching stack traces to reduce noise and false positives.
  • Test State Cleanup - Validates that no unexpected background tasks remain running after individual tests or entire test suites finish execution to ensure a clean state.
  • Stack Trace Inspections - Captures the current state of all active execution threads by querying the internal runtime to identify lingering background processes.
  • Automated Test Suites - Integrates leak detection into existing test workflows to isolate and resolve concurrency bugs that cause flaky or unstable test results.
  • Concurrency Analysis - A diagnostic tool that filters and monitors active goroutines to isolate concurrency bugs and prevent resource exhaustion in concurrent applications.
  • Test Isolation Verifiers - Runs leak detection across individual test cases to pinpoint the specific source of background task leaks within a software package.
  • Asynchronous Polling Mechanisms - Repeats verification checks over a configurable duration to account for transient tasks that terminate shortly after the primary execution.
  • Test Lifecycle Hooks - Hooks into the standard testing framework to automatically trigger validation logic immediately following the completion of individual test cases.
  • Development Utilities - Detects goroutine leaks.

Star history

Star history chart for uber-go/goleakStar history chart for uber-go/goleak

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Projects sharing features with Goleak

These projects share indexed features with Goleak. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • onsi/ginkgoonsi avatar

    onsi/ginkgo

    9,014View on GitHub↗

    Ginkgo is a behavior-driven development testing framework, assertion library, and test runner for Go. It provides a domain-specific language for writing human-readable specifications, organizing tests into hierarchical containers and subjects to describe system behavior. The project distinguishes itself through advanced execution control and observability, featuring a test runner capable of parallel distribution, sharding, and randomized execution order to detect flaky tests. It includes specialized diagnostic tools for goroutine leak detection, hanging spec monitoring, and failure state debu

    Go
    View on GitHub↗9,014
  • testing-library/react-hooks-testing-librarytesting-library avatar

    testing-library/react-hooks-testing-library

    5,266View on GitHub↗

    This project is a specialized test harness and mocking utility designed for unit testing React hooks in isolation. It provides a simulated component environment that executes hook logic and tracks returned values without requiring a full user interface. The library enables the verification of hook lifecycles, including mounting, updating, and unmounting phases. It features mechanisms for injecting properties to force re-renders and an asynchronous waiting system to ensure state updates are processed before assertions are run. The toolset covers state management verification, automated lifecy

    TypeScriptjavascriptreact-hooksreactjs
    View on GitHub↗5,266
  • sstephenson/batssstephenson avatar

    sstephenson/bats

    7,107View on GitHub↗

    BATS is a testing framework and verification tool designed for Bash scripts and Unix programs. It serves as a test runner that validates the behavior of command line utilities by verifying exit statuses and command output. The framework functions as a TAP compliant test runner, producing output that follows the Test Anything Protocol for integration with reporting tools and continuous integration pipelines. The tool provides test automation capabilities including isolated test execution in separate subprocesses and lifecycle management via setup and teardown functions. It covers result aggre

    Shell
    View on GitHub↗7,107
  • thomhurst/tunitthomhurst avatar

    thomhurst/TUnit

    3,744View on GitHub↗

    TUnit is a comprehensive C# testing framework, mocking library, and fluent assertion tool. It utilizes source generation for test discovery and mock creation, ensuring compatibility with Native AOT and IL trimming by eliminating the need for runtime reflection and proxies. The framework provides specialized capabilities for integration testing, including the management of distributed application lifecycles, isolated database schemas, and the correlation of telemetry and logs across process boundaries via OTLP. It also includes an HTTP testing utility to intercept network exchanges and mock AP

    C#csharpdotnettest
    View on GitHub↗3,744
Compare all 30 related projects→

Frequently asked questions

What does uber-go/goleak do?

Goleak is a diagnostic utility designed to identify and report leaked goroutines within Go applications. By integrating directly with standard testing frameworks, it validates that background tasks terminate correctly after the completion of individual test cases, packages, or entire test suites.

What are the main features of uber-go/goleak?

The main features of uber-go/goleak are: Goroutine Leak Prevention, Concurrent Software Testing, Thread Leak Detection, Execution Snapshots, Runtime Debugging, Test Suite Extensions, Stack Trace Recoveries, Test State Cleanup.

Which projects share features with uber-go/goleak?

Projects with overlapping indexed features include: onsi/ginkgo — Ginkgo is a behavior-driven development testing framework, assertion library, and test runner for Go. It provides a… testing-library/react-hooks-testing-library — This project is a specialized test harness and mocking utility designed for unit testing React hooks in isolation. It… sstephenson/bats — BATS is a testing framework and verification tool designed for Bash scripts and Unix programs. It serves as a test… thomhurst/tunit — TUnit is a comprehensive C# testing framework, mocking library, and fluent assertion tool. It utilizes source… avajs/ava — Ava is a test runner for JavaScript and TypeScript designed to execute test suites with a focus on concurrency and… infyomlabs/laravel-generator — This project is a code scaffolding tool and database-to-code mapper for Laravel. It functions as a CRUD generator and…