Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 8 additions & 26 deletions tests/app_data.rs
Original file line number Diff line number Diff line change
Expand Up @@ -12,35 +12,17 @@ use wireframe::extractor::{
SharedState,
};

#[expect(
clippy::allow_attributes,
reason = "rstest single-line fixtures need allow to avoid unfulfilled lint expectations"
)]
#[allow(
unfulfilled_lint_expectations,
reason = "rstest occasionally misses the expected lint for single-line fixtures on stable"
)]
#[expect(
unused_braces,
reason = "rustc false positive for single line rstest fixtures"
)]
#[fixture]
fn request() -> MessageRequest { MessageRequest::default() }
fn request() -> MessageRequest {
// Default request for shared state extraction tests
MessageRequest::default()
}

#[expect(
clippy::allow_attributes,
reason = "rstest single-line fixtures need allow to avoid unfulfilled lint expectations"
)]
#[allow(
unfulfilled_lint_expectations,
reason = "rstest occasionally misses the expected lint for single-line fixtures on stable"
)]
#[expect(
unused_braces,
reason = "rustc false positive for single line rstest fixtures"
)]
#[fixture]
fn empty_payload() -> Payload<'static> { Payload::default() }
fn empty_payload() -> Payload<'static> {
// Empty payload for shared state extraction tests
Payload::default()
}
Comment thread
coderabbitai[bot] marked this conversation as resolved.

#[rstest]
fn shared_state_extractor_returns_data(
Expand Down
30 changes: 5 additions & 25 deletions tests/connection_actor_errors.rs
Original file line number Diff line number Diff line change
Expand Up @@ -25,41 +25,21 @@ use wireframe_testing::{LoggerHandle, logger, push_expect};
mod common;
use common::TestResult;

#[expect(
clippy::allow_attributes,
reason = "rstest single-line fixtures need allow to avoid unfulfilled lint expectations"
)]
#[allow(
unfulfilled_lint_expectations,
reason = "rstest occasionally misses the expected lint for single-line fixtures on stable"
)]
#[expect(
unused_braces,
reason = "rustc false positive for single line rstest fixtures"
)]
#[fixture]
fn queues()
-> Result<(PushQueues<u8>, wireframe::push::PushHandle<u8>), wireframe::push::PushConfigError> {
// Push queues with default capacities for error propagation tests
PushQueues::<u8>::builder()
.high_capacity(8)
.low_capacity(8)
.build()
}

#[expect(
clippy::allow_attributes,
reason = "rstest single-line fixtures need allow to avoid unfulfilled lint expectations"
)]
#[allow(
unfulfilled_lint_expectations,
reason = "rstest occasionally misses the expected lint for single-line fixtures on stable"
)]
#[expect(
unused_braces,
reason = "rustc false positive for single line rstest fixtures"
)]
#[fixture]
fn shutdown_token() -> CancellationToken { CancellationToken::new() }
fn shutdown_token() -> CancellationToken {
// Shutdown token for connection actor tests
CancellationToken::new()
}

#[rstest]
#[tokio::test]
Expand Down
46 changes: 12 additions & 34 deletions tests/connection_actor_shutdown.rs
Original file line number Diff line number Diff line change
Expand Up @@ -12,42 +12,20 @@ use wireframe_testing::push_expect;
mod common;
use common::TestResult;

// Apply expected lint suppressions for single-line rstest fixtures.
// Context: https://github.com/la10736/rstest/issues/222
macro_rules! single_line_fixture {
($item:item) => {
#[expect(
clippy::allow_attributes,
reason = "rstest single-line fixtures need allow to avoid unfulfilled lint \
expectations"
)]
#[allow(
unfulfilled_lint_expectations,
reason = "rstest occasionally misses the expected lint for single-line fixtures on \
stable"
)]
#[expect(
unused_braces,
reason = "rustc false positive for single line rstest fixtures"
)]
$item
};
}

single_line_fixture! {
#[fixture]
fn queues()
-> Result<(PushQueues<u8>, wireframe::push::PushHandle<u8>), wireframe::push::PushConfigError> {
PushQueues::<u8>::builder()
.high_capacity(8)
.low_capacity(8)
.build()
}
#[fixture]
fn queues()
-> Result<(PushQueues<u8>, wireframe::push::PushHandle<u8>), wireframe::push::PushConfigError> {
// Push queues with default capacities for shutdown tests
PushQueues::<u8>::builder()
.high_capacity(8)
.low_capacity(8)
.build()
}

single_line_fixture! {
#[fixture]
fn shutdown_token() -> CancellationToken { CancellationToken::new() }
#[fixture]
fn shutdown_token() -> CancellationToken {
// Shutdown token for connection actor tests
CancellationToken::new()
}

#[rstest]
Expand Down
17 changes: 4 additions & 13 deletions tests/push_policies.rs
Original file line number Diff line number Diff line change
Expand Up @@ -15,20 +15,11 @@ use wireframe_testing::{LoggerHandle, logger};
mod common;
use common::TestResult;

#[expect(
clippy::allow_attributes,
reason = "rstest single-line fixtures need allow to avoid unfulfilled lint expectations"
)]
#[allow(
unfulfilled_lint_expectations,
reason = "rstest occasionally misses the expected lint for single-line fixtures on stable"
)]
#[expect(
unused_braces,
reason = "rustc false positive for single-line rstest fixtures"
)]
#[fixture]
fn builder() -> PushQueuesBuilder<u8> { support::builder::<u8>() }
fn builder() -> PushQueuesBuilder<u8> {
// PushQueuesBuilder for push queue policy tests
support::builder::<u8>()
}

#[derive(Clone, Copy)]
struct PolicyCase {
Expand Down
9 changes: 4 additions & 5 deletions wireframe_testing/src/logging.rs
Original file line number Diff line number Diff line change
Expand Up @@ -74,9 +74,8 @@ impl std::ops::DerefMut for LoggerHandle {
}

/// rstest fixture returning a [`LoggerHandle`] for log assertions.
#[allow(
unused_braces,
reason = "rustc false positive for single line rstest fixtures"
)]
#[fixture]
pub fn logger() -> LoggerHandle { LoggerHandle::new() }
pub fn logger() -> LoggerHandle {
// Acquire exclusive access to the global logger for test assertions
LoggerHandle::new()
}
7 changes: 6 additions & 1 deletion wireframe_testing/src/multi_packet.rs
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,12 @@ use wireframe::Response;
/// the received variant and is attributed to the caller.
#[must_use]
#[track_caller]
#[allow(ungated_async_fn_track_caller)] // track_caller on async is unstable
// FIXME: Remove when `track_caller` on async fns is stabilized.
// Tracking: https://github.com/rust-lang/rust/issues/110011
#[expect(
ungated_async_fn_track_caller,
reason = "track_caller on async fns is unstable"
)]
pub async fn collect_multi_packet<F, E>(resp: Response<F, E>) -> Vec<F> {
match resp {
Response::MultiPacket(mut rx) => {
Expand Down
Loading