Multiselect integration test
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 492
- Forks
- 130
- PR merge metrics
- No merged PRs in 30d
Description
Testing of #111 uncovers that protocol negotiation happens more often than in the master branch. Moreover, that negotiation often fails due to unexpected messages which may indicate the error-prone messages flow and order.
The issue is to create some integration test for the multiselect protocol to reveal such errors and verify messages order correctness without any dependency on underlying implementation (either callbacks or tasks scheduling - #111 addresses it).
Log example of multiselect issues when #111 gets employed:
[2021-03-15 15:29:45.873680000][th:584649][info] multiselect got a unexpected request-response combination - sending 'ls'
[2021-03-15 15:29:45.873701000][th:584649][warning] listener_mgr can not negotiate protocols, other side has violated a protocol and sent an unexpected message
[2021-03-15 15:29:45.984183000][th:584649][info] multiselect got a unexpected request-response combination - sending 'ls'
[2021-03-15 15:29:45.984203000][th:584649][warning] listener_mgr can not negotiate protocols, other side has violated a protocol and sent an unexpected message
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Review issue #111 alongside the multiselect protocol flow and any existing integration-test entry points. Reproduce the logged unexpected message and negotiation-order failures, then define a test that verifies message ordering without depending on callbacks or task scheduling.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- networking, testing
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100