Commit Graph

34 Commits

Author SHA1 Message Date
Julien Letessier
df2431bff3 Add Docker build support 2026-01-19 14:39:01 +01:00
Julien Letessier
b4c89eada9 Guard stats/latency access in info command 2026-01-15 17:00:02 +01:00
Julien Letessier
abe75e40a2 Make logger stop flag atomic 2026-01-15 16:29:08 +01:00
Julien Letessier
65c55be6cd Make handler stop flag atomic 2026-01-15 16:27:14 +01:00
Julien Letessier
37e8bbd86e Parse signed integers in string utils 2026-01-15 16:24:15 +01:00
Julien Letessier
560dbe7fc7 Cap log unit allocation in logger 2026-01-15 16:11:30 +01:00
Julien Letessier
13e36df7c8 Initialize thread pointer in logger 2026-01-15 13:00:16 +01:00
Julien Letessier
3146ae0adc Handle vsnprintf errors in logger 2026-01-15 12:59:03 +01:00
Julien Letessier
2a431ccee6 Handle vsnprintf errors in buffer 2026-01-15 12:57:36 +01:00
Julien Letessier
33601ea2f0 Make signal handlers async-signal-safe 2026-01-15 12:33:33 +01:00
Julien Letessier
d4b10d5065 Handle long commands safely in parser 2026-01-15 12:31:53 +01:00
Julien Letessier
a47a3c8cc0 Guard response error log underflow in parser 2026-01-15 12:30:42 +01:00
Julien Letessier
2b9ea1030a Guard error log underflow in parser 2026-01-15 12:28:10 +01:00
Julien Letessier
7a949b6e7f Guard bulk boundary reads in parser 2026-01-15 12:26:50 +01:00
Julien Letessier
4cbeaeda1b Fix thread-safety and parser edge cases 2026-01-15 11:18:51 +01:00
Julien Letessier
eb52fdd202 Add Ruff linter and fix lint issues 2026-01-15 11:07:36 +01:00
Julien Letessier
8b8b3ff32a Unify test result formatting 2026-01-15 10:55:19 +01:00
Julien Letessier
9c974494a7 Update tests for Redis parity 2026-01-15 10:07:24 +01:00
Julien Letessier
8dd200a35e Clean up pubsub response handling
Remove stray statements introduced during staging and normalize test runner order.
2026-01-15 09:15:59 +01:00
Julien Letessier
2c56d033b3 Validate script keys are on one shard
Reject EVAL/EVALSHA when keys map to different hash groups.

Adds eval_cross_shard test and runs it in the harness.
2026-01-15 09:15:03 +01:00
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
a8d4feb06c Add pubsub tests for Redis parity 2026-01-14 21:50:45 +01:00
Julien Letessier
b2a96d6979 Add test harness and basic tests 2026-01-14 21:30:55 +01:00
Vladimir Solomatin
ebf7bd2d82
Add support for zpopmax and zpopmin redis commands (server 5.0.0+) 2019-02-07 20:18:08 +03:00
fortrue
dc1de3935c 1.support section for INFO command
2.fix authority bug
3.fix test base
2017-11-23 15:08:05 +08:00
fortrue
017ae6461b 1.fix parse error for multi-key command with single key
2.correct some commands property
3.add test cases
2017-09-03 19:53:04 +08:00