6 Repos
Assertion mechanisms that can be safely called from multiple concurrent threads without data races.
Distinct from Concurrency & Threading: Focuses specifically on thread-safe verification of conditions during testing, not general concurrency management or synchronization primitives.
Explore 6 awesome GitHub repositories matching part of an awesome list · Thread-Safe Assertions. Refine with filters or upvote what's useful.
doctest ist ein Unit-Testing-Framework und eine Assertions-Bibliothek für C++, die als Single-Header-Bibliothek bereitgestellt wird. Es bietet einen Test-Runner mit einer Befehlszeilenschnittstelle, um Tests auszuführen, Testsuiten zu filtern und Ausführungsberichte zu generieren. Das Framework unterstützt In-Source-Unit-Testing und ermöglicht das vollständige Entfernen der Testlogik aus kompilierten Binärdateien mittels Präprozessor-Stripping, um Performance-Overhead in Produktionsumgebungen zu eliminieren. Es ermöglicht zudem das Teilen von Test-Registries über Binärdateien hinweg, sodass eine ausführbare Datei den Test-Runner einer anderen nutzen kann. Zu den Funktionen gehören parametrisiertes Testen, thread-sichere Assertions-Verifizierung für die Validierung nebenläufiger Software und automatisierte Testberichte für Regressionsanalysen. Es nutzt eine automatische Testregistrierung, um Testfälle zu sammeln, ohne dass manuelle Listen von Funktionen zur Ausführung erforderlich sind.
Implements thread-safe assertion verification to validate shared data consistency in concurrent software.
doctest is a lightweight C++ unit testing framework and assertion library. It provides a single-header implementation that eliminates complex build dependencies, allowing developers to write and execute test cases directly within their source code. The framework is distinguished by its focus on compile-time performance and binary overhead. It uses conditional compilation guards to strip all testing logic and metadata from production binaries. Additionally, it features hierarchical subcases that re-execute parent setup code to isolate different execution paths within a single test case. Its c
Provides a thread-safe assertion library for verifying runtime logic outside of standard test cases.
CppGuide is a curated collection of educational resources and practical guides focused on C++ server development, Linux kernel internals, concurrent programming, network protocols, and security exploitation. It provides structured learning paths for backend developers, covering everything from interview preparation to building high-performance network servers and understanding operating system fundamentals. The guide distinguishes itself by offering in-depth, hands-on tutorials that walk through real-world implementations, including building a Redis-like server from scratch, designing custom
Provides a guide for identifying and safely using non-thread-safe C library functions in multithreaded programs.
This is an open-source, crowd-sourced wiki textbook that teaches Linux system programming in C. It covers the core operating system concepts of process management through the fork-exec-wait model, dynamic memory allocation using implicit free list heap allocators, inode-based file systems, inter-process communication via pipes and shared memory, POSIX threads with synchronization primitives, signal-based asynchronous notification, virtual memory with page table translation, and runtime diagnostics using Valgrind and GDB. The textbook distinguishes itself by providing practical, implementation
Teaches the pitfall of passing stack pointers to threads, a common C concurrency bug.
seL4 is a formally verified microkernel whose C implementation is backed by machine-checked mathematical proofs of correctness, confidentiality, integrity, and availability. It enforces strict isolation between processes through hardware-enforced address space separation and a capability-based access control system, where each process holds explicit rights only to the resources it has been granted. The kernel exposes hardware resources through a minimal API of system calls that manage threads, address spaces, and inter-process communication, with synchronous IPC supporting sender-identifying b
Provides kernel API to set initial register values for a thread's function call including arguments.
Diese Bibliothek ist ein Java-basiertes Tool zur Durchsetzung von Datenstruktureinschränkungen und zur Verifizierung technischer Formate gegen definierte Schema-Spezifikationen. Sie fungiert als Verarbeitungsdienstprogramm, das komplexe Datenstrukturen parst und gleichzeitig externe Schema-Referenzen sowie zirkuläre Abhängigkeiten verwaltet. Die Engine zeichnet sich durch ein unveränderliches Prozessor-Design aus, das eine thread-sichere, gleichzeitige Validierung ermöglicht, ohne dass eine externe Synchronisation erforderlich ist. Sie verwendet Arithmetik mit beliebiger Präzision, um numerische Einschränkungen zu bewerten, was häufige Rundungsfehler bei Gleitkommazahlen verhindert, und nutzt zeichenbasierte Verarbeitung, um eine Unicode-bewusste String-Validierung für komplexe Symbole sicherzustellen. Entwickler können die Kern-Pipeline erweitern, indem sie benutzerdefinierte Schlüsselwörter und Format-Handler registrieren, um spezialisierte Geschäftslogik zu implementieren. Das Projekt bietet ein umfassendes Schema-Management, einschließlich struktureller Compliance-Prüfung gegen Meta-Schemas, URI-basierter Abhängigkeitsauflösung und konfigurierbarem Schema-Laden. Es unterstützt detaillierte Fehlerberichte, die die Validierung über Kindelemente hinweg fortsetzen, selbst nach Fehlern bei Elternelementen, und enthält eine Befehlszeilenschnittstelle für die terminalbasierte Datenverifizierung.
Performs validation using immutable processors that allow a single instance to be shared safely across multiple concurrent application threads.