SShortSingh.
Back to feed

New Tool 'zerocase' Catches CI Pipelines That Pass With Zero Tests Run

0
·2 views

A developer has released an open-source tool called zerocase, available for both Python and Node.js, that detects a common CI failure mode where test suites, linters, or coverage runs exit with a success code despite executing nothing. The tool works by wrapping a test command and parsing its machine-readable report — supporting formats like JUnit XML, LCOV, TAP, Cobertura, and ESLint JSON — then checking whether the number of actually executed items meets a configurable minimum threshold. It draws a key distinction between a report's total count and its executed count, since skipped, quarantined, or re-run tests inflate totals without confirming real coverage. The tool also guards against stale reports from previous runs and treats unparseable reports as failures rather than silent passes. zerocase depends on a single package called didrun and includes a mutation testing pass to verify its own detection logic holds up.

Read the full story at DEV Community

This is an AI-generated summary. ShortSingh links to the original source for the complete article.

Discussion (0)

Log in to join the discussion and vote.

Log in

Related stories

0
ProgrammingDEV Community ·

Dev Team Learns Hard Lessons After Building Multi-Repo Project with Git Submodules

A development team designed their project around five separate Git repositories and submodules from day one, prioritizing CI isolation, access control, and clean history. In practice, the setup demanded strict two-step push discipline — once inside the submodule and once in the parent repo — and forgetting either step caused silent failures that only surfaced during fresh CI checkouts. On one occasion, three submodules simultaneously had unpushed local commits, while a fourth required an interactive rebase to recover. The core 'engine' repository also caused CI conflicts by behaving differently as a standalone repo versus as a nested submodule, breaking path-resolution logic and missing cross-repo dependencies. These recurring failures pushed the team to move beyond one-off patches and establish a shared convention for managing the dual-context build environment.

0
ProgrammingDEV Community ·

Python Data Types Explained: Practical Guide to int, list, dict, and More

Python uses distinct data types — including integers, floats, strings, lists, tuples, dictionaries, sets, booleans, and None — to categorize and manage different kinds of values in a program. Each type serves a specific purpose: lists are mutable collections, while tuples are immutable; dictionaries store key-value pairs useful for structured data like JSON; and sets automatically eliminate duplicate values. Floats can produce minor precision issues due to internal binary representation, which matters in calculations requiring exactness. Booleans represent True or False and are widely used in conditions and data filtering, while None signals the absence of a value. Understanding these data types is foundational for working with functions, APIs, databases, and data analysis in Python.

0
ProgrammingDEV Community ·

AI Boosts Coding Productivity but May Shortcut the Learning Process

A developer perspective published on DEV Community argues that while AI tools have significantly accelerated coding workflows, they risk allowing developers to become productive before they become genuinely skilled. The author draws a key distinction between asking AI to explain an error versus simply asking it to fix one, noting that the latter can eliminate the struggle that builds deeper understanding. Using a hypothetical comparison, the piece illustrates how a developer who spends hours working through a problem may retain more durable knowledge than one who resolves it in minutes via AI. The author is not calling for abandoning AI tools, but rather urging developers to distinguish between unnecessary struggle worth skipping and productive struggle worth preserving. The core concern is that modern development increasingly rewards task completion, and AI excels at completion — potentially masking gaps in foundational understanding.

0
ProgrammingDEV Community ·

Developers Build Graph-Based Agentic Fraud Investigation Tool Using TigerGraph

A team participating in the TigerGraph × HHGoa 2026 hackathon challenge built an agentic fraud investigation system using TigerGraph Savanna as the graph layer. The solution organizes transaction, customer, and card entities through interconnected relationships to surface fraud-related evidence. A custom Python agent applies rule-based fraud pattern detection and heuristic risk scoring to generate structured investigation decisions for each case. The system successfully processed all 20 benchmark cases, from HHG-001 to HHG-020, with results stored as individual JSON files. Future development plans include full TigerGraph MCP integration, LLM-assisted reasoning, and more advanced fraud detection models.