fix CLIENT SETINFO to use error replies instead of status replies (#11952)
This commit is contained in:
parent
9c4c90c1bf
commit
d38df59a3f
@ -2909,12 +2909,12 @@ void clientSetinfoCommand(client *c) {
|
||||
} else if (!strcasecmp(attr,"lib-ver")) {
|
||||
destvar = &c->lib_ver;
|
||||
} else {
|
||||
addReplyStatusFormat(c,"Unrecognized option '%s'", attr);
|
||||
addReplyErrorFormat(c,"Unrecognized option '%s'", attr);
|
||||
return;
|
||||
}
|
||||
|
||||
if (validateClientAttr(val)==C_ERR) {
|
||||
addReplyStatusFormat(c,
|
||||
addReplyErrorFormat(c,
|
||||
"%s cannot contain spaces, newlines or special characters.", attr);
|
||||
return;
|
||||
}
|
||||
|
@ -333,9 +333,9 @@ start_server {tags {"introspection"}} {
|
||||
|
||||
test {CLIENT SETINFO invalid args} {
|
||||
assert_error {*wrong number of arguments*} {r CLIENT SETINFO lib-name}
|
||||
assert_match {*cannot contain spaces*} [r CLIENT SETINFO lib-name "redis py"]
|
||||
assert_match {*newlines*} [r CLIENT SETINFO lib-name "redis.py\n"]
|
||||
assert_match {*Unrecognized*} [r CLIENT SETINFO badger hamster]
|
||||
assert_error {*cannot contain spaces*} {r CLIENT SETINFO lib-name "redis py"}
|
||||
assert_error {*newlines*} {r CLIENT SETINFO lib-name "redis.py\n"}
|
||||
assert_error {*Unrecognized*} {r CLIENT SETINFO badger hamster}
|
||||
# test that all of these didn't affect the previously set values
|
||||
r client info
|
||||
} {*lib-name=redis.py lib-ver=1.2.3*}
|
||||
|
Loading…
x
Reference in New Issue
Block a user