Skip to content

Commit e135856

Browse files
committed
Silence OTP crash reports when epmd unavailable in multinode tests
1 parent 1a58bb1 commit e135856

3 files changed

Lines changed: 22 additions & 3 deletions

File tree

test/multinode_peer_test.gleam

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,9 +84,14 @@ fn real_peer_global_lookup_roundtrip() -> Nil {
8484
}
8585

8686
fn check_distributed() -> Bool {
87-
case cluster.start_node("distribute_test@127.0.0.1", "testcookie") {
87+
let prev = test_helpers.silence_logger()
88+
let result = case
89+
cluster.start_node("distribute_test@127.0.0.1", "testcookie")
90+
{
8891
Ok(Nil) -> True
8992
Error(cluster.AlreadyStarted) -> True
9093
Error(_) -> False
9194
}
95+
test_helpers.restore_logger(prev)
96+
result
9297
}

test/multinode_real_test.gleam

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,10 @@ fn skip_if_no_distribution(_test_id: String, _reason: String) -> Nil {
7171
// ---------------------------------------------------------------------------
7272

7373
pub fn z2_global_sync_race_resolves_within_window_test() {
74-
case ensure_distribution_ffi() {
74+
let prev = test_helpers.silence_logger()
75+
let dist = ensure_distribution_ffi()
76+
test_helpers.restore_logger(prev)
77+
case dist {
7578
Error(reason) ->
7679
skip_if_no_distribution("Z2", "distribution unavailable: " <> reason)
7780
Ok(_origin) -> {
@@ -120,7 +123,10 @@ pub fn z2_global_sync_race_resolves_within_window_test() {
120123
// ---------------------------------------------------------------------------
121124

122125
pub fn z3_cross_node_register_global_picks_one_winner_test() {
123-
case ensure_distribution_ffi() {
126+
let prev = test_helpers.silence_logger()
127+
let dist = ensure_distribution_ffi()
128+
test_helpers.restore_logger(prev)
129+
case dist {
124130
Error(reason) ->
125131
skip_if_no_distribution("Z3", "distribution unavailable: " <> reason)
126132
Ok(_origin) -> {

test/test_helpers.gleam

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
///
33
/// Provides a unique ID generator for test isolation so each test
44
/// uses a unique name and won't collide with other tests.
5+
import gleam/dynamic.{type Dynamic}
6+
57
@external(erlang, "erlang", "unique_integer")
68
fn erlang_unique_int() -> Int
79

@@ -16,3 +18,9 @@ pub fn unique_id() -> String {
1618
False -> n
1719
})
1820
}
21+
22+
@external(erlang, "telemetry_test_ffi", "silence_logger")
23+
pub fn silence_logger() -> Dynamic
24+
25+
@external(erlang, "telemetry_test_ffi", "restore_logger")
26+
pub fn restore_logger(prev: Dynamic) -> Nil

0 commit comments

Comments
 (0)