milestone 17: real deadlines, validator holes, upstream editor, trusted proxies, contract samples, badvers
CI / test (push) Successful in 1m22s
CI / test-aarch64 (push) Successful in 4m55s
CI / frontend (push) Successful in 39s
CI / cross (push) Successful in 7m57s
CI / docker (push) Failing after 1h10m42s

This commit is contained in:
2026-08-07 17:55:59 +02:00
parent 9b12dbaaa0
commit c50c6d285a
57 changed files with 2926 additions and 126 deletions
+16
View File
@@ -730,6 +730,22 @@ test "every HELP line has a TYPE line and a sample, and every sample a name" {
try testing.expectEqual(helps, samples);
// `nxdns_up` plus every DNS counter: the families a bare state still has.
try testing.expectEqual(1 + dns_stat_fields.len + 7, samples);
// The reflective walk names the counters, so a renamed `Handler.Stats`
// field silently renames a scraped series. Pin the ones an operator alerts
// on by name.
for ([_][]const u8{
"nxdns_dns_queries_total",
"nxdns_dns_formerr_total",
"nxdns_dns_notimp_total",
"nxdns_dns_badvers_total",
"nxdns_dns_servfail_total",
"nxdns_dns_refused_total",
"nxdns_dns_blocked_total",
}) |metric| {
var line_buf: [128]u8 = undefined;
const line = try std.fmt.bufPrint(&line_buf, "# TYPE {s} counter\n", .{metric});
try testing.expect(std.mem.containsAtLeast(u8, text, 1, line));
}
}
test "an unwired collaborator omits its family rather than reporting zeros" {