From d0e68c612b62296a77fe2428ea35c0b96228c489 Mon Sep 17 00:00:00 2001 From: zeyus Date: Tue, 4 Nov 2025 14:42:43 +0100 Subject: [PATCH 1/2] For the case of the 1 second sleep, the test will fail before the sleep. --- testing/ext/discovery.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/testing/ext/discovery.cpp b/testing/ext/discovery.cpp index 4523a1fed..933f8abe6 100644 --- a/testing/ext/discovery.cpp +++ b/testing/ext/discovery.cpp @@ -13,7 +13,6 @@ TEST_CASE("resolve multiple streams", "[resolver][basic]") { for (int i = 0; i < n; i++) outlets.emplace_back(lsl::stream_info("resolvetest_" + std::to_string(i), "Resolve")); auto found_stream_info = lsl::resolve_stream("type", "Resolve", n, 2.0); - REQUIRE(found_stream_info.size() == n); // Allow the resolver a bit more time in case the first resolve wave was too fast std::this_thread::sleep_for(std::chrono::seconds(1)); From 9986781bb44644fd5efb1e200ae76eb19a7a6dea Mon Sep 17 00:00:00 2001 From: zeyus Date: Wed, 5 Nov 2025 11:49:15 +0100 Subject: [PATCH 2/2] Intermittent failure on OSX runners in stream resolution, fix part 2 --- testing/ext/discovery.cpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/testing/ext/discovery.cpp b/testing/ext/discovery.cpp index 933f8abe6..9ff923a4c 100644 --- a/testing/ext/discovery.cpp +++ b/testing/ext/discovery.cpp @@ -7,15 +7,20 @@ namespace { TEST_CASE("resolve multiple streams", "[resolver][basic]") { - lsl::continuous_resolver resolver("type", "Resolve", 50.); + // First create the outlets (to avoid extra waiting for + // multiple resolves) std::vector outlets; const int n = 3; for (int i = 0; i < n; i++) outlets.emplace_back(lsl::stream_info("resolvetest_" + std::to_string(i), "Resolve")); + lsl::continuous_resolver resolver("type", "Resolve", 50.); + + // Verify with one-time resolve auto found_stream_info = lsl::resolve_stream("type", "Resolve", n, 2.0); + REQUIRE(found_stream_info.size() == n); - // Allow the resolver a bit more time in case the first resolve wave was too fast - std::this_thread::sleep_for(std::chrono::seconds(1)); + // Allow for enough time (interval, min_rtt) + std::this_thread::sleep_for(std::chrono::milliseconds(1600)); REQUIRE(resolver.results().size() == n); }