Skip to content

Commit

Permalink
test: no global registry in tests (#595)
Browse files Browse the repository at this point in the history
It's a good practice to avoid sharing global state across tests. It's
easy to initialize a registry, so we don't need to lean on
globalRegistry to provide a registry to tests that need one.
  • Loading branch information
dnut authored Mar 3, 2025
1 parent 030e6d8 commit b3fba1f
Show file tree
Hide file tree
Showing 6 changed files with 74 additions and 52 deletions.
8 changes: 5 additions & 3 deletions src/ledger/cleanup_service.zig
Original file line number Diff line number Diff line change
Expand Up @@ -401,7 +401,8 @@ const TestDB = ledger.tests.TestDB;

test "findSlotsToClean" {
const allocator = std.testing.allocator;
const registry = sig.prometheus.globalRegistry();
var registry = sig.prometheus.Registry(.{}).init(allocator);
defer registry.deinit();
const logger = .noop;

var db = try TestDB.init(@src());
Expand All @@ -414,7 +415,7 @@ test "findSlotsToClean" {
allocator,
logger,
db,
registry,
&registry,
&lowest_cleanup_slot,
&max_root,
);
Expand Down Expand Up @@ -474,7 +475,8 @@ test "findSlotsToClean" {
test "purgeSlots" {
const allocator = std.testing.allocator;
const logger = .noop;
const registry = sig.prometheus.globalRegistry();
var registry = sig.prometheus.Registry(.{}).init(allocator);
defer registry.deinit();

var db = try TestDB.init(@src());
defer db.deinit();
Expand Down
70 changes: 42 additions & 28 deletions src/ledger/reader.zig
Original file line number Diff line number Diff line change
Expand Up @@ -1544,7 +1544,8 @@ const test_shreds = @import("test_shreds.zig");
test "getLatestOptimisticSlots" {
const allocator = std.testing.allocator;
const logger = .noop;
const registry = sig.prometheus.globalRegistry();
var registry = sig.prometheus.Registry(.{}).init(allocator);
defer registry.deinit();

var db = try TestDB.init(@src());
defer db.deinit();
Expand All @@ -1555,7 +1556,7 @@ test "getLatestOptimisticSlots" {
allocator,
logger,
db,
registry,
&registry,
&lowest_cleanup_slot,
&max_root,
);
Expand Down Expand Up @@ -1615,7 +1616,8 @@ test "getFirstDuplicateProof" {
const allocator = std.testing.allocator;

const logger = .noop;
const registry = sig.prometheus.globalRegistry();
var registry = sig.prometheus.Registry(.{}).init(allocator);
defer registry.deinit();

const path = std.fmt.comptimePrint("{s}/{s}", .{ sig.TEST_STATE_DIR ++ "blockstore/insert_shred", "getFirstDuplicateProof" });
try sig.ledger.tests.freshDir(path);
Expand All @@ -1628,7 +1630,7 @@ test "getFirstDuplicateProof" {
allocator,
logger,
db,
registry,
&registry,
&lowest_cleanup_slot,
&max_root,
);
Expand All @@ -1655,7 +1657,8 @@ test "getFirstDuplicateProof" {
test "isDead" {
const allocator = std.testing.allocator;
const logger = .noop;
const registry = sig.prometheus.globalRegistry();
var registry = sig.prometheus.Registry(.{}).init(allocator);
defer registry.deinit();

var db = try TestDB.init(@src());
defer db.deinit();
Expand All @@ -1666,7 +1669,7 @@ test "isDead" {
allocator,
logger,
db,
registry,
&registry,
&lowest_cleanup_slot,
&max_root,
);
Expand All @@ -1691,7 +1694,8 @@ test "isDead" {
test "getBlockHeight" {
const allocator = std.testing.allocator;
const logger = .noop;
const registry = sig.prometheus.globalRegistry();
var registry = sig.prometheus.Registry(.{}).init(allocator);
defer registry.deinit();

var db = try TestDB.init(@src());
defer db.deinit();
Expand All @@ -1702,7 +1706,7 @@ test "getBlockHeight" {
allocator,
logger,
db,
registry,
&registry,
&lowest_cleanup_slot,
&max_root,
);
Expand All @@ -1720,7 +1724,8 @@ test "getBlockHeight" {
test "getRootedBlockTime" {
const allocator = std.testing.allocator;
const logger = .noop;
const registry = sig.prometheus.globalRegistry();
var registry = sig.prometheus.Registry(.{}).init(allocator);
defer registry.deinit();

var db = try TestDB.init(@src());
defer db.deinit();
Expand All @@ -1731,7 +1736,7 @@ test "getRootedBlockTime" {
allocator,
logger,
db,
registry,
&registry,
&lowest_cleanup_slot,
&max_root,
);
Expand Down Expand Up @@ -1759,7 +1764,8 @@ test "getRootedBlockTime" {
test "slotMetaIterator" {
const allocator = std.testing.allocator;
const logger = .noop;
const registry = sig.prometheus.globalRegistry();
var registry = sig.prometheus.Registry(.{}).init(allocator);
defer registry.deinit();

var db = try TestDB.init(@src());
defer db.deinit();
Expand All @@ -1770,7 +1776,7 @@ test "slotMetaIterator" {
allocator,
logger,
db,
registry,
&registry,
&lowest_cleanup_slot,
&max_root,
);
Expand Down Expand Up @@ -1821,7 +1827,8 @@ test "slotMetaIterator" {
test "rootedSlotIterator" {
const allocator = std.testing.allocator;
const logger = .noop;
const registry = sig.prometheus.globalRegistry();
var registry = sig.prometheus.Registry(.{}).init(allocator);
defer registry.deinit();

var db = try TestDB.init(@src());
defer db.deinit();
Expand All @@ -1832,7 +1839,7 @@ test "rootedSlotIterator" {
allocator,
logger,
db,
registry,
&registry,
&lowest_cleanup_slot,
&max_root,
);
Expand All @@ -1857,7 +1864,8 @@ test "rootedSlotIterator" {
test "slotRangeConnected" {
const allocator = std.testing.allocator;
const logger = .noop;
const registry = sig.prometheus.globalRegistry();
var registry = sig.prometheus.Registry(.{}).init(allocator);
defer registry.deinit();

var db = try TestDB.init(@src());
defer db.deinit();
Expand All @@ -1868,7 +1876,7 @@ test "slotRangeConnected" {
allocator,
logger,
db,
registry,
&registry,
&lowest_cleanup_slot,
&max_root,
);
Expand Down Expand Up @@ -1918,7 +1926,8 @@ test "slotRangeConnected" {
test "highestSlot" {
const allocator = std.testing.allocator;
const logger = .noop;
const registry = sig.prometheus.globalRegistry();
var registry = sig.prometheus.Registry(.{}).init(allocator);
defer registry.deinit();

var db = try TestDB.init(@src());
defer db.deinit();
Expand All @@ -1929,7 +1938,7 @@ test "highestSlot" {
allocator,
logger,
db,
registry,
&registry,
&lowest_cleanup_slot,
&max_root,
);
Expand Down Expand Up @@ -1977,7 +1986,8 @@ test "highestSlot" {
test "lowestSlot" {
const allocator = std.testing.allocator;
const logger = .noop;
const registry = sig.prometheus.globalRegistry();
var registry = sig.prometheus.Registry(.{}).init(allocator);
defer registry.deinit();

var db = try TestDB.init(@src());
defer db.deinit();
Expand All @@ -1988,7 +1998,7 @@ test "lowestSlot" {
allocator,
logger,
db,
registry,
&registry,
&lowest_cleanup_slot,
&max_root,
);
Expand Down Expand Up @@ -2023,7 +2033,8 @@ test "lowestSlot" {
test "isShredDuplicate" {
const allocator = std.testing.allocator;
const logger = .noop;
const registry = sig.prometheus.globalRegistry();
var registry = sig.prometheus.Registry(.{}).init(allocator);
defer registry.deinit();

var db = try TestDB.init(@src());
defer db.deinit();
Expand All @@ -2034,7 +2045,7 @@ test "isShredDuplicate" {
allocator,
logger,
db,
registry,
&registry,
&lowest_cleanup_slot,
&max_root,
);
Expand Down Expand Up @@ -2075,7 +2086,8 @@ test "isShredDuplicate" {
test "findMissingDataIndexes" {
const allocator = std.testing.allocator;
const logger = .noop;
const registry = sig.prometheus.globalRegistry();
var registry = sig.prometheus.Registry(.{}).init(allocator);
defer registry.deinit();

var db = try TestDB.init(@src());
defer db.deinit();
Expand All @@ -2086,7 +2098,7 @@ test "findMissingDataIndexes" {
allocator,
logger,
db,
registry,
&registry,
&lowest_cleanup_slot,
&max_root,
);
Expand Down Expand Up @@ -2143,7 +2155,8 @@ test "findMissingDataIndexes" {
test "getCodeShred" {
const allocator = std.testing.allocator;
const logger = .noop;
const registry = sig.prometheus.globalRegistry();
var registry = sig.prometheus.Registry(.{}).init(allocator);
defer registry.deinit();

var db = try TestDB.init(@src());
defer db.deinit();
Expand All @@ -2154,7 +2167,7 @@ test "getCodeShred" {
allocator,
logger,
db,
registry,
&registry,
&lowest_cleanup_slot,
&max_root,
);
Expand Down Expand Up @@ -2226,7 +2239,8 @@ test "getCodeShred" {
test "getDataShred" {
const allocator = std.testing.allocator;
const logger = .noop;
const registry = sig.prometheus.globalRegistry();
var registry = sig.prometheus.Registry(.{}).init(allocator);
defer registry.deinit();

var db = try TestDB.init(@src());
defer db.deinit();
Expand All @@ -2237,7 +2251,7 @@ test "getDataShred" {
allocator,
logger,
db,
registry,
&registry,
&lowest_cleanup_slot,
&max_root,
);
Expand Down
12 changes: 8 additions & 4 deletions src/ledger/result_writer.zig
Original file line number Diff line number Diff line change
Expand Up @@ -320,7 +320,8 @@ const TestDB = sig.ledger.tests.TestDB;
test "setRoots" {
const allocator = std.testing.allocator;
const logger = .noop;
const registry = sig.prometheus.globalRegistry();
var registry = sig.prometheus.Registry(.{}).init(allocator);
defer registry.deinit();

var db = try TestDB.init(@src());
defer db.deinit();
Expand Down Expand Up @@ -348,7 +349,8 @@ test "setRoots" {
test "scanAndFixRoots" {
const allocator = std.testing.allocator;
const logger = .noop;
const registry = sig.prometheus.globalRegistry();
var registry = sig.prometheus.Registry(.{}).init(allocator);
defer registry.deinit();

var db = try TestDB.init(@src());
defer db.deinit();
Expand Down Expand Up @@ -390,7 +392,8 @@ test "scanAndFixRoots" {
test "setAndChainConnectedOnRootAndNextSlots" {
const allocator = std.testing.allocator;
const logger = .noop;
const registry = sig.prometheus.globalRegistry();
var registry = sig.prometheus.Registry(.{}).init(allocator);
defer registry.deinit();

var db = try TestDB.init(@src());
defer db.deinit();
Expand Down Expand Up @@ -462,7 +465,8 @@ test "setAndChainConnectedOnRootAndNextSlots" {
test "setAndChainConnectedOnRootAndNextSlots: disconnected" {
const allocator = std.testing.allocator;
const logger = .noop;
const registry = sig.prometheus.globalRegistry();
var registry = sig.prometheus.Registry(.{}).init(allocator);
defer registry.deinit();

var db = try TestDB.init(@src());
defer db.deinit();
Expand Down
4 changes: 3 additions & 1 deletion src/ledger/shred_inserter/shred_inserter.zig
Original file line number Diff line number Diff line change
Expand Up @@ -1389,7 +1389,9 @@ test "merkle root metas coding" {
var state = try ShredInserterTestState.initWithLogger(std.testing.allocator, @src(), .noop);
defer state.deinit();
const allocator = state.allocator();
const metrics = try sig.prometheus.globalRegistry().initStruct(BlockstoreInsertionMetrics);
var registry = sig.prometheus.Registry(.{}).init(allocator);
defer registry.deinit();
const metrics = try registry.initStruct(BlockstoreInsertionMetrics);

const slot = 1;
const start_index = 0;
Expand Down
Loading

0 comments on commit b3fba1f

Please sign in to comment.