16 Repos
Tools for measuring and reporting test suite coverage.
Explore 16 awesome GitHub repositories matching part of an awesome list · Code Coverage. Refine with filters or upvote what's useful.
gstack is an AI agent framework and development workflow system designed to automate the software development lifecycle. It coordinates specialized AI personas to manage tasks across product design, engineering management, and quality assurance, transforming product intent into technical specifications and final releases. The project is distinguished by its deep integration of headless browser automation and semantic code memory. It utilizes a persistent Chromium daemon for web scraping and visual auditing, and implements a searchable knowledge base that logs architectural decisions and repos
Identifies undocumented public surfaces by analyzing code diffs against required documentation types.
Jest is a JavaScript testing framework designed for writing and running automated test suites to verify the correctness of JavaScript and TypeScript code. It functions as a comprehensive toolset that integrates a test runner, a mocking and spying library, a snapshot testing tool, and a code coverage tool. The framework distinguishes itself through snapshot testing, which records the serialized state of data structures to detect regressions in future executions. It also includes a mocking and spying library for simulating external dependencies and tracking function calls to isolate code during
Analyzes the codebase to identify untested sections by tracking executed lines during test runs.
Istanbul is a JavaScript code coverage tool and instrumentation engine that measures the execution of statements, lines, functions, and branches. It functions as a test coverage analysis tool capable of monitoring code across unit, functional, and browser tests to identify untested areas of a codebase. The project distinguishes itself through a transparent instrumentation engine that uses module loader hooks to inject tracking code without requiring manual source modifications. It supports distributed test reporting by aggregating fragmented coverage data from multiple concurrent processes in
Enforces minimum coverage thresholds and triggers errors if requirements are not met.
TypeDoc is a documentation generator and AST analyzer that transforms TypeScript source code and comments into structured API reference websites or data files. It functions as a static site generator that converts code symbols into a searchable web interface. The project is an extensible framework, allowing users to modify the documentation process and generator logic through a programmable plugin system and custom themes. Its capabilities include API reference generation, source code parsing, and documentation coverage validation to ensure exported members are properly described. It support
Validates that all exported symbols have descriptions and treats missing documentation as build errors.
GoConvey is a behavioral testing framework for the Go programming language that provides a test runner, a code coverage tool, and a web-based monitoring dashboard. It integrates with the standard Go test command to organize tests into behavioral stories and conveyors. The project features a web interface that monitors the file system for source code changes and automatically triggers test execution to provide real-time feedback. This dashboard displays test results, failures, and a chronological history of execution status. The framework includes a state assertion system for verifying values
Translates Go coverage profiles into visual HTML reports that highlight unexercised code paths.
Jazzy is a source code documentation tool and API generator designed for Swift and Objective-C. It analyzes project roots and compiled modules to produce searchable HTML websites or offline docsets. The system functions as a multi-module API documenter, aggregating documentation from separate source modules into a single site with cross-module linking. It serves as a markdown-based documentation engine that integrates technical guides and LaTeX mathematical equations to complement generated API references. The tool covers a broad capability surface including multi-language API generation for
Tracks the percentage of documented symbols to analyze documentation gaps and generate coverage badges.
Skim is a cross-platform interactive fuzzy finder that runs as a terminal application, a Rust library, a Vim and Neovim plugin, and a shell integration tool. It provides real-time filtering and selection from lists of items, supporting keyboard and mouse navigation, live preview panes, and multi-select functionality across Linux, macOS, and Windows. The tool distinguishes itself through a composable query expression tree that supports fuzzy, exact, inverse, prefix, suffix, and logical AND/OR operators, combined with a Smith-Waterman scoring engine that penalizes typos and gaps for natural rel
Sets a minimum coverage percentage and treats violations as informational to avoid blocking pull requests.
jscpd is a code duplication detector that scans source code across 223 languages to find identical or near-identical copy-pasted blocks using a rolling hash algorithm. It is built with a Rust core for high performance, exposed through a Node.js API and CLI, and can be run as a standalone binary with no runtime dependencies. The tool detects duplicates in embedded languages within Vue, Svelte, Astro, and Markdown files by tokenizing each language block separately, and it supports extensionless scripts via shebang detection. The project distinguishes itself through its integration capabilities
Reads a .jscpd.json configuration file and exits with a non-zero code when duplication limits are exceeded.
nyc is a JavaScript code coverage tool and command-line interface that instruments source files to track the execution of lines, branches, and functions during test runs. It acts as a wrapper for Node.js test runners, intercepting the module loading process to collect coverage data. The tool functions as a coverage data merger and build gating tool, allowing users to combine results from multiple independent test runs or child processes into a single unified report. It can automatically fail the build process if code coverage percentages fall below defined minimum thresholds. The project sup
Instruments JavaScript and TypeScript source files to track executed lines, branches, and functions during test runs.
SimpleCov ist ein Ruby-Code-Coverage-Tool und eine Analyse-Engine, die dazu verwendet wird, nachzuverfolgen, welche Zeilen, Zweige und Methoden von Code während Tests ausgeführt werden. Es fungiert als Coverage-Threshold-Enforcer und Test-Suite-Aggregator und zeichnet Ausführungsdaten auf, um ungetestete Bereiche einer Anwendung zu identifizieren. Das Tool zeichnet sich durch die Fähigkeit aus, Coverage-Ergebnisse von parallelen Worker-Prozessen und Subprozessen in einem einzigen, vereinheitlichten Bericht zusammenzuführen. Es unterstützt den Baseline-Vergleich, um Coverage-Regressionen zu erkennen, und kann Daten aus Code sammeln, der über dynamische Evaluierungsmethoden ausgeführt wurde, wie sie in Templating-Engines verwendet werden. Seine breiteren Fähigkeiten umfassen die Generierung von Berichten in mehreren Formaten, Quellgruppierung und Dateifilterung unter Verwendung regulärer Ausdrücke. Das System bietet zudem eine Kommandozeilenschnittstelle zur Anzeige von Statistiken und zur Auflistung nicht abgedeckter Dateien.
Observes and merges coverage data gathered from forked or spawned child processes into a unified report.
JaCoCo ist ein Java-Code-Coverage-Tool und Bytecode-Instrumentierer, der misst, welche Teile des Quellcodes während Tests ausgeführt werden. Er fungiert als Runtime-Agent zur Überwachung der Anwendungsausführung im laufenden Betrieb oder als Bibliothek für Offline-Bytecode-Instrumentierung, wodurch er Ausführungsdaten in Umgebungen erfassen kann, in denen Runtime-Agenten eingeschränkt sind. Das Projekt zeichnet sich dadurch aus, dass es sowohl dynamische als auch statische Instrumentierungspfade zur Verfolgung der Ausführung bietet. Es enthält einen Runtime-Agenten für die Überwachung im laufenden Betrieb und die Möglichkeit, kompilierte Klassendateien vor der Ausführung zu modifizieren. Es ermöglicht zudem das Abrufen von Ausführungsmetriken aus laufenden Prozessen über Remote-Netzwerkverbindungen, ohne die aktive Anwendung zu unterbrechen. Das System berechnet quantitative Coverage-Metriken über Anweisungen, Zweige, Zeilen, Methoden und Klassen hinweg, neben Messungen der zyklomatischen Komplexität. Es bietet Funktionen zum Zusammenführen von Daten aus mehreren Testläufen, zur Durchsetzung von Coverage-Schwellenwerten innerhalb von CI/CD-Quality-Gates und zur Generierung von Berichten, die ausgeführten Bytecode auf den Quellcode zurückführen. Eine visuelle Integration ist verfügbar, um diese Ergebnisse direkt in Code-Editoren anzuzeigen. Das Tool lässt sich in Build-Automatisierungssysteme und Befehlszeilenschnittstellen integrieren, um die Datenerfassung und Berichterstellung zu automatisieren.
Implements validation mechanisms that fail the build process if coverage percentages fall below a predefined minimum.
LoadLibrary is a binary instrumentation framework that loads and executes Windows PE/COFF DLLs natively within Linux processes. It provides a cross-platform binary execution layer that maps Windows portable executable files into Linux memory, resolving imports and relocations so that exported functions can be called as if they were native Linux library routines. The framework enables runtime interception and modification of Windows DLL function behavior, including redirecting API calls to Linux-native implementations through a binary patching hook engine. It includes a code coverage auditor t
Records every basic block executed in loaded Windows DLLs and produces coverage reports for fuzzing corpus distillation.
tbls is a Go-based command line utility used for documenting, analyzing, and linting relational database schemas. It functions as a documentation tool that generates structured reports and entity-relationship diagrams in Markdown, JSON, or Excel formats, as well as a schema diff tool for identifying discrepancies between a live database and its documentation. The project allows for schema augmentation and the definition of virtual relationships through external configuration files, enabling metadata overrides and table connections without requiring database migrations or native constraints. I
Calculates the percentage of tables and columns that possess descriptions to measure documentation coverage.
Compodoc ist ein TypeScript-API-Dokumentationsgenerator, Static-Site-Generator und Visualisierungstool für Projektarchitekturen. Es analysiert Quellcode und JSDoc-Kommentare, um durchsuchbare technische Referenzseiten, API-Kataloge und eigenständige HTML-Seiten zu erstellen. Das Projekt zeichnet sich durch die Analyse von Import-Statements aus, um Abhängigkeitsgraphen und Modulkarten zu erstellen, die die strukturellen Beziehungen innerhalb einer Codebasis veranschaulichen. Es bietet spezialisierte Unterstützung für die Visualisierung von Angular-Projekten, NestJS-Workflows und Stencil-Webkomponenten und kann funktionierende Live-Demos direkt in Dokumentationsseiten einbetten. Das System fungiert zudem als Analysetool für die Dokumentationsabdeckung, liefert Berichte und erzwingt Mindest-Coverage-Schwellenwerte innerhalb von CI-Pipelines, um Builds bei unzureichender Dokumentation fehlschlagen zu lassen. Weitere Funktionen umfassen Markdown-Integration, Datenexport in JSON oder Markdown sowie einen lokalen Entwicklungsserver mit Dateisystem-Monitoring für automatische Rebuilds. Nutzer können die Ausgabe über Konfigurationsdateien, benutzerdefiniertes CSS-Styling und Filter für die Sichtbarkeit von Elementen anpassen, um bestimmte Symbole oder interne Tags von der finalen Seite auszuschließen.
Calculates the percentage of documented code and provides reports on documentation gaps.
Screwdriver ist eine Continuous-Delivery-Plattform zur Orchestrierung automatisierter Build-, Test- und Deployment-Workflows. Sie fungiert als containerisierter Build-Orchestrator, der den gesamten Delivery-Lebenszyklus verwaltet, vom ereignisgesteuerten Pipeline-Triggering bis zur Ausführung von Aufgaben innerhalb isolierter, steckbarer Container-Umgebungen. Die Plattform zeichnet sich durch eine modulare Architektur aus, die Build-Logik von den zugrunde liegenden Rechenressourcen entkoppelt, was eine konsistente Ausführung über diverse Infrastrukturen hinweg ermöglicht. Sie bietet ein robustes Pipeline-Konfigurationsmanagement, das es Teams erlaubt, wiederverwendbare Build-Templates zu definieren, zu versionieren und zu teilen. Dieses System wird durch umfassende Identitätsdienste unterstützt, einschließlich OAuth-Integration und granularer Zugriffskontrolle für Pipeline-Secrets und programmatische Token. Über die Kernorchestrierung hinaus bietet die Plattform umfangreiche Observability-Tools, einschließlich Echtzeit-Log-Streaming, Leistungsmetrik-Analyse und Build-Status-Verfolgung. Sie unterstützt komplexe Team-Workflows durch Pipeline-Sammlungsorganisation und geteilte Arbeitsbereiche, während sie die Systemstabilität durch Request-Throttling und persistente Zustandsverwaltung in relationalen Datenbanken wahrt. Das System ist für das Deployment innerhalb von Kubernetes-Clustern konzipiert und nutzt standardisierte Packaging-Templates, um die Plattform und ihre erforderlichen Infrastrukturkomponenten zu booten.
The platform generates temporary access tokens for authorized users to interact with external code coverage reporting services during build workflows.
Gradle plugin and CLI for computing code coverage of new/modified code based on a diff
Computes coverage for modified code based on diffs.