diff options
author | Binbin <binloveplay1314@qq.com> | 2022-01-23 16:05:06 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-01-23 10:05:06 +0200 |
commit | 23325c135f08365d1b7d4bf4fb1c9187fc7374b9 (patch) | |
tree | f6f5f30c966daf546fd3230e9e2d4f8ea4731f7b /tests/unit/info.tcl | |
parent | a6fd2a46d101d4df23ade2e28cbc04656c721b2b (diff) | |
download | redis-23325c135f08365d1b7d4bf4fb1c9187fc7374b9.tar.gz |
sub-command support for ACL CAT and COMMAND LIST. redisCommand always stores fullname (#10127)
Summary of changes:
1. Rename `redisCommand->name` to `redisCommand->declared_name`, it is a
const char * for native commands and SDS for module commands.
2. Store the [sub]command fullname in `redisCommand->fullname` (sds).
3. List subcommands in `ACL CAT`
4. List subcommands in `COMMAND LIST`
5. `moduleUnregisterCommands` now will also free the module subcommands.
6. RM_GetCurrentCommandName returns full command name
Other changes:
1. Add `addReplyErrorArity` and `addReplyErrorExpireTime`
2. Remove `getFullCommandName` function that now is useless.
3. Some cleanups about `fullname` since now it is SDS.
4. Delete `populateSingleCommand` function from server.h that is useless.
5. Added tests to cover this change.
6. Add some module unload tests and fix the leaks
7. Make error messages uniform, make sure they always contain the full command
name and that it's quoted.
7. Fixes some typos
see the history in #9504, fixes #10124
Co-authored-by: Oran Agra <oran@redislabs.com>
Co-authored-by: guybe7 <guy.benoish@redislabs.com>
Diffstat (limited to 'tests/unit/info.tcl')
-rw-r--r-- | tests/unit/info.tcl | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/tests/unit/info.tcl b/tests/unit/info.tcl index 9439c0fc8..b211e6c91 100644 --- a/tests/unit/info.tcl +++ b/tests/unit/info.tcl @@ -197,7 +197,7 @@ start_server {tags {"info" "external:skip"}} { assert_match {} [errorstat ERR] r multi catch {r set} e - assert_match {ERR wrong number of arguments*} $e + assert_match {ERR wrong number of arguments for 'set' command} $e catch {r exec} e assert_match {EXECABORT*} $e assert_match {*count=1*} [errorstat ERR] @@ -216,7 +216,7 @@ start_server {tags {"info" "external:skip"}} { assert_equal [s total_error_replies] 0 assert_match {} [errorstat ERR] catch {r set k} e - assert_match {ERR wrong number of arguments*} $e + assert_match {ERR wrong number of arguments for 'set' command} $e assert_match {*count=1*} [errorstat ERR] assert_match {*calls=0,*,rejected_calls=1,failed_calls=0} [cmdstat set] # ensure that after a rejected command, valid ones are counted properly |