Skip to content

Add server ping/pong test coverage#21

Merged
atdrendel merged 1 commit into
mainfrom
close-issues
May 10, 2026
Merged

Add server ping/pong test coverage#21
atdrendel merged 1 commit into
mainfrom
close-issues

Conversation

@atdrendel
Copy link
Copy Markdown
Contributor

Closes #11

Copilot AI review requested due to automatic review settings May 10, 2026 17:11
@atdrendel atdrendel merged commit fc1e388 into main May 10, 2026
3 checks passed
@atdrendel atdrendel deleted the close-issues branch May 10, 2026 17:12
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds regression test coverage for server-initiated WebSocket ping/pong handling (Issue #11), ensuring the client responds with pong and the connection remains usable. It also extends the test WebSocket server harness to emit ping frames and observe pong payloads.

Changes:

  • Added a new system WebSocket test that sends a server ping, asserts the server receives the expected pong payload, and verifies the client can continue receiving application messages.
  • Extended the test WebSocketServer harness with a .ping(Data) output event and a pongPublisher to observe pong frames from the client.
  • Reduced an inverted-expectation wait timeout in an existing test.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.

File Description
Tests/WebSocketTests/SystemWebSocketTests.swift Adds server ping/pong regression test; tweaks an inverted-expectation timeout.
Tests/WebSocketTests/Server/WebSocketServer.swift Adds ping output handling and publishes received pong payloads for tests.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines 160 to 164
else { return XCTFail("Received wrong error: \(error)") }
}

await fulfillment(of: [secondCloseEx], timeout: 0.1)
await fulfillment(of: [secondCloseEx], timeout: 0.05)
}
Comment on lines +362 to +364
subject.send(.message(.text("still open")))
await fulfillment(of: [receivedEx], timeout: 2)
await fulfillment(of: [closeEx], timeout: 0.05)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Ping from server shutting down the connection

2 participants