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
redis
Commits
f791d66e
Commit
f791d66e
authored
Aug 25, 2010
by
Pieter Noordhuis
Browse files
Make helper functions simpler
parent
f9b25261
Changes
1
Hide whitespace changes
Inline
Side-by-side
tests/integration/redis-cli.tcl
View file @
f791d66e
...
@@ -45,7 +45,7 @@ start_server {tags {"cli"}} {
...
@@ -45,7 +45,7 @@ start_server {tags {"cli"}} {
}
}
# Helpers to run tests where stdout is not a tty
# Helpers to run tests where stdout is not a tty
proc run_
nontty_
cli
{
args
}
{
proc run_cli
{
args
}
{
set fd
[
open
[
format
"|src/redis-cli -p %d -n 9
$args
"
[
srv port
]]
"r"
]
set fd
[
open
[
format
"|src/redis-cli -p %d -n 9
$args
"
[
srv port
]]
"r"
]
fconfigure $fd -buffering none
fconfigure $fd -buffering none
fconfigure $fd -translation binary
fconfigure $fd -translation binary
...
@@ -58,16 +58,11 @@ start_server {tags {"cli"}} {
...
@@ -58,16 +58,11 @@ start_server {tags {"cli"}} {
test
"Non-interactive non-TTY CLI:
$name
"
$code
test
"Non-interactive non-TTY CLI:
$name
"
$code
}
}
# Helpers to run tests where stdout is a tty
# Helpers to run tests where stdout is a tty
(
fake it
)
proc run_tty_cli
{
args
}
{
set ::env
(
FAKETTY
)
1
set resp
[
run_nontty_cli
{*}
$args
]
unset ::env
(
FAKETTY
)
set _ $resp
}
proc test_tty_cli
{
name code
}
{
proc test_tty_cli
{
name code
}
{
set ::env
(
FAKETTY
)
1
test
"Non-interactive TTY CLI:
$name
"
$code
test
"Non-interactive TTY CLI:
$name
"
$code
unset ::env
(
FAKETTY
)
}
}
test_interactive_cli
"INFO response should be printed raw"
{
test_interactive_cli
"INFO response should be printed raw"
{
...
@@ -116,46 +111,46 @@ start_server {tags {"cli"}} {
...
@@ -116,46 +111,46 @@ start_server {tags {"cli"}} {
}
}
test_tty_cli
"Status reply"
{
test_tty_cli
"Status reply"
{
assert_equal
"OK
\n
"
[
run_
tty_
cli set key bar
]
assert_equal
"OK
\n
"
[
run_cli set key bar
]
assert_equal
"bar"
[
r get key
]
assert_equal
"bar"
[
r get key
]
}
}
test_tty_cli
"Integer reply"
{
test_tty_cli
"Integer reply"
{
r del counter
r del counter
assert_equal
"(integer) 1
\n
"
[
run_
tty_
cli incr counter
]
assert_equal
"(integer) 1
\n
"
[
run_cli incr counter
]
}
}
test_tty_cli
"Bulk reply"
{
test_tty_cli
"Bulk reply"
{
r set key
"tab
\t
newline
\n
"
r set key
"tab
\t
newline
\n
"
assert_equal
"
\"
tab
\\
tnewline
\\
n
\"\n
"
[
run_
tty_
cli get key
]
assert_equal
"
\"
tab
\\
tnewline
\\
n
\"\n
"
[
run_cli get key
]
}
}
test_tty_cli
"Multi-bulk reply"
{
test_tty_cli
"Multi-bulk reply"
{
r del list
r del list
r rpush list foo
r rpush list foo
r rpush list bar
r rpush list bar
assert_equal
"1.
\"
foo
\"\n
2.
\"
bar
\"\n
"
[
run_
tty_
cli lrange list 0 -1
]
assert_equal
"1.
\"
foo
\"\n
2.
\"
bar
\"\n
"
[
run_cli lrange list 0 -1
]
}
}
test_nontty_cli
"Status reply"
{
test_nontty_cli
"Status reply"
{
assert_equal
"OK"
[
run_
nontty_
cli set key bar
]
assert_equal
"OK"
[
run_cli set key bar
]
assert_equal
"bar"
[
r get key
]
assert_equal
"bar"
[
r get key
]
}
}
test_nontty_cli
"Integer reply"
{
test_nontty_cli
"Integer reply"
{
r del counter
r del counter
assert_equal
"1"
[
run_
nontty_
cli incr counter
]
assert_equal
"1"
[
run_cli incr counter
]
}
}
test_nontty_cli
"Bulk reply"
{
test_nontty_cli
"Bulk reply"
{
r set key
"tab
\t
newline
\n
"
r set key
"tab
\t
newline
\n
"
assert_equal
"tab
\t
newline
\n
"
[
run_
nontty_
cli get key
]
assert_equal
"tab
\t
newline
\n
"
[
run_cli get key
]
}
}
test_nontty_cli
"Multi-bulk reply"
{
test_nontty_cli
"Multi-bulk reply"
{
r del list
r del list
r rpush list foo
r rpush list foo
r rpush list bar
r rpush list bar
assert_equal
"foo
\n
bar"
[
run_
nontty_
cli lrange list 0 -1
]
assert_equal
"foo
\n
bar"
[
run_cli lrange list 0 -1
]
}
}
}
}
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