Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
ruanhaishen
hiredis
Commits
19709152
Commit
19709152
authored
Apr 21, 2011
by
Pieter Noordhuis
Browse files
Reflect rename in tests
parent
965d4264
Changes
1
Hide whitespace changes
Inline
Side-by-side
test.c
View file @
19709152
...
@@ -270,68 +270,64 @@ static void test_blocking_connection(void) {
...
@@ -270,68 +270,64 @@ static void test_blocking_connection(void) {
static
void
test_reply_reader
(
void
)
{
static
void
test_reply_reader
(
void
)
{
redisReader
*
reader
;
redisReader
*
reader
;
void
*
reply
;
void
*
reply
;
char
*
err
;
int
ret
;
int
ret
;
test
(
"Error handling in reply parser: "
);
test
(
"Error handling in reply parser: "
);
reader
=
redisReplyReaderCreate
();
reader
=
redisReaderCreate
();
redisReplyReaderFeed
(
reader
,(
char
*
)
"@foo
\r\n
"
,
6
);
redisReaderFeed
(
reader
,(
char
*
)
"@foo
\r\n
"
,
6
);
ret
=
redisReplyReaderGetReply
(
reader
,
NULL
);
ret
=
redisReaderGetReply
(
reader
,
NULL
);
err
=
redisReplyReaderGetError
(
reader
);
test_cond
(
ret
==
REDIS_ERR
&&
test_cond
(
ret
==
REDIS_ERR
&&
strcasecmp
(
e
rr
,
"Protocol error, got
\"
@
\"
as reply type byte"
)
==
0
);
strcasecmp
(
r
eader
->
errst
r
,
"Protocol error, got
\"
@
\"
as reply type byte"
)
==
0
);
redisRe
plyRe
aderFree
(
reader
);
redisReaderFree
(
reader
);
/* when the reply already contains multiple items, they must be free'd
/* when the reply already contains multiple items, they must be free'd
* on an error. valgrind will bark when this doesn't happen. */
* on an error. valgrind will bark when this doesn't happen. */
test
(
"Memory cleanup in reply parser: "
);
test
(
"Memory cleanup in reply parser: "
);
reader
=
redisReplyReaderCreate
();
reader
=
redisReaderCreate
();
redisReplyReaderFeed
(
reader
,(
char
*
)
"*2
\r\n
"
,
4
);
redisReaderFeed
(
reader
,(
char
*
)
"*2
\r\n
"
,
4
);
redisReplyReaderFeed
(
reader
,(
char
*
)
"$5
\r\n
hello
\r\n
"
,
11
);
redisReaderFeed
(
reader
,(
char
*
)
"$5
\r\n
hello
\r\n
"
,
11
);
redisReplyReaderFeed
(
reader
,(
char
*
)
"@foo
\r\n
"
,
6
);
redisReaderFeed
(
reader
,(
char
*
)
"@foo
\r\n
"
,
6
);
ret
=
redisReplyReaderGetReply
(
reader
,
NULL
);
ret
=
redisReaderGetReply
(
reader
,
NULL
);
err
=
redisReplyReaderGetError
(
reader
);
test_cond
(
ret
==
REDIS_ERR
&&
test_cond
(
ret
==
REDIS_ERR
&&
strcasecmp
(
e
rr
,
"Protocol error, got
\"
@
\"
as reply type byte"
)
==
0
);
strcasecmp
(
r
eader
->
errst
r
,
"Protocol error, got
\"
@
\"
as reply type byte"
)
==
0
);
redisRe
plyRe
aderFree
(
reader
);
redisReaderFree
(
reader
);
test
(
"Set error on nested multi bulks with depth > 1: "
);
test
(
"Set error on nested multi bulks with depth > 1: "
);
reader
=
redisReplyReaderCreate
();
reader
=
redisReaderCreate
();
redisReplyReaderFeed
(
reader
,(
char
*
)
"*1
\r\n
"
,
4
);
redisReaderFeed
(
reader
,(
char
*
)
"*1
\r\n
"
,
4
);
redisReplyReaderFeed
(
reader
,(
char
*
)
"*1
\r\n
"
,
4
);
redisReaderFeed
(
reader
,(
char
*
)
"*1
\r\n
"
,
4
);
redisReplyReaderFeed
(
reader
,(
char
*
)
"*1
\r\n
"
,
4
);
redisReaderFeed
(
reader
,(
char
*
)
"*1
\r\n
"
,
4
);
ret
=
redisReplyReaderGetReply
(
reader
,
NULL
);
ret
=
redisReaderGetReply
(
reader
,
NULL
);
err
=
redisReplyReaderGetError
(
reader
);
test_cond
(
ret
==
REDIS_ERR
&&
test_cond
(
ret
==
REDIS_ERR
&&
strncasecmp
(
e
rr
,
"No support for"
,
14
)
==
0
);
strncasecmp
(
r
eader
->
errst
r
,
"No support for"
,
14
)
==
0
);
redisRe
plyRe
aderFree
(
reader
);
redisReaderFree
(
reader
);
test
(
"Works with NULL functions for reply: "
);
test
(
"Works with NULL functions for reply: "
);
reader
=
redisRe
plyRe
aderCreate
();
reader
=
redisReaderCreate
();
reader
->
fn
=
NULL
;
reader
->
fn
=
NULL
;
redisRe
plyRe
aderFeed
(
reader
,(
char
*
)
"+OK
\r\n
"
,
5
);
redisReaderFeed
(
reader
,(
char
*
)
"+OK
\r\n
"
,
5
);
ret
=
redisRe
plyRe
aderGetReply
(
reader
,
&
reply
);
ret
=
redisReaderGetReply
(
reader
,
&
reply
);
test_cond
(
ret
==
REDIS_OK
&&
reply
==
(
void
*
)
REDIS_REPLY_STATUS
);
test_cond
(
ret
==
REDIS_OK
&&
reply
==
(
void
*
)
REDIS_REPLY_STATUS
);
redisRe
plyRe
aderFree
(
reader
);
redisReaderFree
(
reader
);
test
(
"Works when a single newline (
\\
r
\\
n) covers two calls to feed: "
);
test
(
"Works when a single newline (
\\
r
\\
n) covers two calls to feed: "
);
reader
=
redisRe
plyRe
aderCreate
();
reader
=
redisReaderCreate
();
reader
->
fn
=
NULL
;
reader
->
fn
=
NULL
;
redisRe
plyRe
aderFeed
(
reader
,(
char
*
)
"+OK
\r
"
,
4
);
redisReaderFeed
(
reader
,(
char
*
)
"+OK
\r
"
,
4
);
ret
=
redisRe
plyRe
aderGetReply
(
reader
,
&
reply
);
ret
=
redisReaderGetReply
(
reader
,
&
reply
);
assert
(
ret
==
REDIS_OK
&&
reply
==
NULL
);
assert
(
ret
==
REDIS_OK
&&
reply
==
NULL
);
redisRe
plyRe
aderFeed
(
reader
,(
char
*
)
"
\n
"
,
1
);
redisReaderFeed
(
reader
,(
char
*
)
"
\n
"
,
1
);
ret
=
redisRe
plyRe
aderGetReply
(
reader
,
&
reply
);
ret
=
redisReaderGetReply
(
reader
,
&
reply
);
test_cond
(
ret
==
REDIS_OK
&&
reply
==
(
void
*
)
REDIS_REPLY_STATUS
);
test_cond
(
ret
==
REDIS_OK
&&
reply
==
(
void
*
)
REDIS_REPLY_STATUS
);
redisRe
plyRe
aderFree
(
reader
);
redisReaderFree
(
reader
);
test
(
"Don't reset state after protocol error: "
);
test
(
"Don't reset state after protocol error: "
);
reader
=
redisRe
plyRe
aderCreate
();
reader
=
redisReaderCreate
();
reader
->
fn
=
NULL
;
reader
->
fn
=
NULL
;
redisRe
plyRe
aderFeed
(
reader
,(
char
*
)
"x"
,
1
);
redisReaderFeed
(
reader
,(
char
*
)
"x"
,
1
);
ret
=
redisRe
plyRe
aderGetReply
(
reader
,
&
reply
);
ret
=
redisReaderGetReply
(
reader
,
&
reply
);
assert
(
ret
==
REDIS_ERR
);
assert
(
ret
==
REDIS_ERR
);
ret
=
redisRe
plyRe
aderGetReply
(
reader
,
&
reply
);
ret
=
redisReaderGetReply
(
reader
,
&
reply
);
test_cond
(
ret
==
REDIS_ERR
&&
reply
==
NULL
);
test_cond
(
ret
==
REDIS_ERR
&&
reply
==
NULL
);
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment