SShortSingh.
Back to feed

Tool 'didrun' Exposes Silent CI Failures When Exit Code 0 Masks Empty Test Runs

0
·1 views

A developer tool called 'didrun' addresses a longstanding gap in test automation where exit code 0 is returned even when no tests actually ran, giving a false green signal. The tool introduces four distinct exit states — ran-and-passed, ran-and-failed, did-not-run, and ran-and-failed-wrongly — to separately answer whether a check ran, failed, or failed for the right reason. A concrete example shows that running 'go test ./...' on a directory with no test files exits 0 by default, but wrapped with didrun it exits 3, explicitly flagging that nothing was verified. Additional predicates like '--expect-count' and '--wrote PATH' guard against subtler false positives, such as a test suite printing '0 passed' or a stale output file left over from a previous run. The project argues that silently falling back to forwarding an exit code is itself the defect these tools are meant to catch.

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 ·

Solo Developer Builds Yield, a Free Offline-First Android Task Management App

A solo developer is building Yield, an Android task management app with a free tier called the Basic Unit that focuses entirely on offline, on-device processing. The app lets users capture tasks quickly via OCR, voice input, or manual typing, then organize them into a three-level Todo structure and sync with a calendar. Key free features include on-device OCR for handwritten notes, app-launch detection, Google Maps integration, and Android Auto support, while network-dependent features like AI structuring and Gmail sync are reserved for paid tiers. Todos support cross-linking, so completing an identically named item in one place automatically marks it done elsewhere, using exact string matching to keep the feature cost-free. The app also uses a dedicated file format for sharing tasks between Yield users without requiring AI reprocessing on the receiving end.

0
ProgrammingDEV Community ·

Android 17 Adds Native Certificate Transparency: What Developers Must Do Now

Google has shipped Android 17 with built-in Certificate Transparency (CT) enforcement, which verifies during every TLS handshake that certificates appear in a public log. The update is designed to reduce the risk of forged or mis-issued certificates reaching users. Developers do not need to rewrite their TLS stack, as the platform enforces CT automatically for existing libraries like OkHttp and Volley. However, explicit CT support requires updating the compileSdkVersion, adding a network security config XML file, and declaring it in the app manifest. An optional Python audit script and a Kotlin runtime exception handler are also available for developers who want to log failures or apply custom fallback policies.

0
ProgrammingDEV Community ·

Ranex Targets Evidence Quality Where GitHub Rulesets Control Channel Access

GitHub Rulesets, editor hooks, and CI pipeline gates are channel controls that govern where code can move — such as during a push, merge, or pipeline stage. These boundaries enforce policy at specific workflow points but do not inherently verify what a passing result actually proves about a given artifact. Ranex takes a different approach by binding evidence to a specific code digest and evaluating whether a claim is genuinely supported, returning a hard failure rather than a skip when evidence is absent. The two approaches address separate questions: channel controls decide whether an action is permitted, while evidence controls determine whether a result is traceable and auditable against the exact code under review. The article argues both layers can coexist, with existing workflow gates retained and evidence requirements layered on top to ensure results remain meaningful and auditable over time.

0
ProgrammingDEV Community ·

Developers Can Build Zero-Cost Semantic Search Without LLMs Using FastAPI and Qdrant

A technical guide published on DEV Community outlines how to build a production-grade semantic search engine without relying on large language models or paid AI APIs. The proposed architecture uses FastAPI, Qdrant in-memory vector storage, and Hugging Face's free serverless inference API to generate 384-dimensional text embeddings. Unlike keyword-based search, the semantic approach converts queries into vectors, allowing it to match conceptually similar content even when exact words differ. The entire stack runs on a serverless, Jamstack infrastructure hosted on GitHub Pages, designed to cost nothing at scale and return results in single-digit milliseconds. The guide argues that for the majority of real-world search use cases, direct context-aware document retrieval is more practical and efficient than generative AI responses.

Tool 'didrun' Exposes Silent CI Failures When Exit Code 0 Masks Empty Test Runs · ShortSingh