hubcio opened a new pull request, #3085:
URL: https://github.com/apache/iggy/pull/3085
Connector integration tests each spawn their own iggy-server,
causing resource contention and timing-sensitive CI failures
(e.g. WireMock not receiving requests within retry limit).
Add a `shared_server = "key"` attribute to #[iggy_harness]
that lets tests with the same key share a single iggy-server
process. Tests within a group run serially via
#[serial_test::serial(key)], groups run in parallel with
each other. Each test still gets its own connector runtime,
fixtures, and clients - only the server is shared.
Idempotent seed functions (connector_stream_idempotent)
skip creation if stream/topic already exists, allowing
serial tests to safely reuse the same server state.
Infrastructure:
- SharedServerRegistry (DashMap + tokio::sync::OnceCell)
for thread-safe lazy server initialization
- Atomic refcounting for lifecycle: last test stops server
and cleans up (preserved on failure for debugging)
- TestHarness::from_shared() + start_shared_with_seed()
- Compile-time validation rejects incompatible combinations
(&mut TestHarness, config overrides, cluster, TLS)
Migrates 113 connector tests across 18 files. Three restart
tests using &mut TestHarness remain on dedicated servers.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]