Julien Letessier
542749b0d3
Reject cross-shard MSETNX
...
Prevent MSETNX from being split across shards to preserve atomicity.
Adds msetnx_atomicity test and runs it in the harness.
2026-01-15 09:14:41 +01:00
Julien Letessier
781b4a68e9
Preserve MGET error responses
...
Avoid coercing MGET errors into nil when aggregating responses.
Adds mget_wrong_type test and runs it in the harness.
2026-01-15 09:14:08 +01:00
Julien Letessier
11d8c26c19
Keep connections open on transaction forbid
...
Return the error for forbidden commands in transactions without closing the client.
Adds transaction_forbid test and runs it in the harness.
2026-01-15 09:13:37 +01:00
Julien Letessier
c73d4056e2
Parse subscribe counts for long channel names
...
Extract subscription counts from the response tail to avoid truncation.
Adds pubsub_long_name test and runs it in the harness.
2026-01-15 09:13:09 +01:00
Julien Letessier
220772824c
Guard against null server responses
...
Convert unexpected null responses into DeliverRequestFail instead of crashing.
Adds null_response_handling test and runs it in the harness.
2026-01-15 09:12:43 +01:00
Julien Letessier
7485ebbb5a
Reset pubsub parser per message
...
Handle pubsub message replies immediately and reset the parser to avoid response reuse.
Adds pubsub_parser_reset test and runs it in the harness.
2026-01-15 09:12:00 +01:00
Julien Letessier
0243aa0fa6
Ensure pubsub confirmations precede messages
...
Pause message queuing while subscriptions are pending to preserve confirmation ordering.
Adds pubsub_subscription_order test and includes it in the test runner.
2026-01-15 09:11:12 +01:00
Julien Letessier
4b127b8eed
Fix pubsub SubMsg responses
...
Attach parsed pubsub responses to SubMsg requests so message data is delivered.
Adds pubsub_message_response test and runs it in test harness.
2026-01-15 09:10:29 +01:00
Julien Letessier
dca6079f59
Fix pubsub test assertions
2026-01-14 22:34:51 +01:00
Julien Letessier
b2a96d6979
Add test harness and basic tests
2026-01-14 21:30:55 +01:00