esl/escalus
63.6
Adequate · 2 October 2026
7.9k
lines of production code
Erlang
primary language
2
measurements over time
What this system is
Escalus is an Erlang library designed for testing XMPP servers by providing a framework to create test stories, manage client connections, and assert on XML stanzas. It supports various connection transports and authentication mechanisms, integrating with Common Test to facilitate robust integration testing. The system includes utilities for stanza construction and parsing, along with configuration tools and test suites to verify its own functionality.
Features
Added log-to-jumplist script for Vim navigation
A new shell script named log-to-jumplist has been added to the scripts directory. This tool processes log output (specifically targeting Erlang/Elixir-style INFO REPORTs and file/line references) to format it for easy navigation in Vim, allowing users to jump directly to relevant test files and line numbers.
scripts · high confidence
Initial release of Escalus XMPP testing library
Escalus is introduced as a new Erlang library for testing XMPP servers, providing a framework for creating test stories, managing client connections, and asserting on XML stanzas. The release includes core modules for connection handling (TCP, BOSH, WebSockets), authentication mechanisms (PLAIN, DIGEST-MD5, SCRAM-SHA-1/256/384/512, X-OAUTH, Anonymous), and user management. It integrates with Common Test and exposes utilities for stanza construction, parsing, and verification, enabling users to write robust integration tests for XMPP-based services.
(repo-wide), src · high confidence
New include headers defining client records and XMPP namespaces
Added \escalus.hrl\ and \escalus\_xmlns.hrl\ to the project's include directory. The new \escalus.hrl\ defines the \\#client\ record structure used to manage client state, including JID, module, and process identifiers. The \escalus\_xmlns.hrl\ file introduces a comprehensive set of macros for XMPP and XEP namespaces (such as MUC, PubSub, SASL, and Stream Management), providing standardized constants for protocol interactions.
include · high confidence
Behavioural changes
Added Escalus-specific test configuration file
A new Escalus-specific configuration file (priv/escalus.config) has been added to define test user accounts (alice, bob, carol, kate, mike, geralt) and their connection settings, including specific transports like BOSH and WebSocket for certain users.
priv · high confidence
Test coverage
Added test suites for escalus components and utilities
Added new Common Test and EUnit suites to verify escalus functionality: \checkmetrics\_SUITE\ tests metric change scope validation; \component\_SUITE\ tests component PID registration, message handling, and info callbacks; \connection\_SUITE\ tests stanza waiting, timeouts, metadata retrieval, and predicate-based filtering; \escalus\_fresh\_SUITE\ tests fresh user table creation and cleanup; \escalus\_stanza\_SUITE\ tests XML snippet template parsing with various argument types; \escalus\_tcp\_tests\ tests stream management stanza forwarding; \regressions\_SUITE\ tests timeout catching, error handling, stanza peeking, and metadata retrieval; \user\_db\_module\_SUITE\ tests user database module lifecycle; and \csvkv\_tests\ tests CSV key-value parsing. Also added \example\_SUITE\ as a basic messaging story example and \test.config\ for test environment configuration.
test · high confidence
Housekeeping
Add MIT license for xmlview third-party component
The MIT license text for the xmlview third-party component has been added to the repository, ensuring proper attribution and compliance with the open-source terms for the software.
thirdparty · high confidence
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
How this codebase got here
Score
- CAI 61 → 64 (+2.4)
- Rubric changed (rubric-2026.09.12 → rubric-2026.09.18) — scores are not directly comparable.
Lenses
- Code Health 90 → 90 (+0.0)
- Architecture 100 → 100 (+0.0)
- Maturity 52 → 52 (+0.0)
- Readiness 63 → 63 (+0.7)
- Security 61 → 76 (+14.7)
Resolved (4)
- Coverage not measured — no coverage collector is wired up
- Documentation: no installation or build instructions (README.md)
- Documentation: no usage examples (README.md)
- Off-boarding risk: anonymized user #1
New (5)
- Medium CVE: EEF-[CVE redacted] (rebar.lock)
- Medium CVE: [GHSA redacted] (rebar.lock)
- Off-boarding risk: anonymized user #1
- Outdated: cowlib
- Outdated: gun
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
esl/escalus was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.
About this page
- The score is its most recent published measurement, taken on 2 October 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit 96798b31946c43f08bd53ef772f62c3ed6e211d3 — the exact code this score is about.
- Scored under rubric-2026.09.18 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer preprod-e569280dd5e2.