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
35d05d6d
Commit
35d05d6d
authored
Mar 02, 2016
by
antirez
Browse files
BITFIELD basic unit tests.
parent
6cf83fef
Changes
1
Hide whitespace changes
Inline
Side-by-side
tests/unit/bitfield.tcl
View file @
35d05d6d
start_server
{
tags
{
"bitops"
}}
{
test
{
BITFIELD overflow check fuzzing
}
{
test
{
BITFIELD signed SET and GET basics
}
{
r del bits
set results
{}
lappend results
[
r bitfield bits set i8 0 -100
]
lappend results
[
r bitfield bits set i8 0 101
]
lappend results
[
r bitfield bits get i8 0
]
set results
}
{
0 -100 101
}
test
{
BITFIELD unsigned SET and GET basics
}
{
r del bits
set results
{}
lappend results
[
r bitfield bits set u8 0 255
]
lappend results
[
r bitfield bits set u8 0 100
]
lappend results
[
r bitfield bits get u8 0
]
set results
}
{
0 255 100
}
test
{
BITFIELD #<idx> form
}
{
r del bits
set results
{}
r bitfield bits set u8 #0 65
r bitfield bits set u8 #1 66
r bitfield bits set u8 #2 67
r get bits
}
{
ABC
}
test
{
BITFIELD basic INCRBY form
}
{
r del bits
set results
{}
r bitfield bits set u8 #0 10
lappend results
[
r bitfield bits incrby u8 #0 100
]
lappend results
[
r bitfield bits incrby u8 #0 100
]
set results
}
{
110 210
}
test
{
BITFIELD chaining of multiple commands
}
{
r del bits
set results
{}
r bitfield bits set u8 #0 10
lappend results
[
r bitfield bits incrby u8 #0 100 incrby u8 #0 100
]
set results
}
{{
110 210
}}
test
{
BITFIELD unsigned overflow wrap
}
{
r del bits
set results
{}
r bitfield bits set u8 #0 100
lappend results
[
r bitfield bits overflow wrap incrby u8 #0 257
]
lappend results
[
r bitfield bits get u8 #0
]
lappend results
[
r bitfield bits overflow wrap incrby u8 #0 255
]
lappend results
[
r bitfield bits get u8 #0
]
}
{
101 101 100 100
}
test
{
BITFIELD unsigned overflow sat
}
{
r del bits
set results
{}
r bitfield bits set u8 #0 100
lappend results
[
r bitfield bits overflow sat incrby u8 #0 257
]
lappend results
[
r bitfield bits get u8 #0
]
lappend results
[
r bitfield bits overflow sat incrby u8 #0 -255
]
lappend results
[
r bitfield bits get u8 #0
]
}
{
255 255 0 0
}
test
{
BITFIELD signed overflow wrap
}
{
r del bits
set results
{}
r bitfield bits set i8 #0 100
lappend results
[
r bitfield bits overflow wrap incrby i8 #0 257
]
lappend results
[
r bitfield bits get i8 #0
]
lappend results
[
r bitfield bits overflow wrap incrby i8 #0 255
]
lappend results
[
r bitfield bits get i8 #0
]
}
{
101 101 100 100
}
test
{
BITFIELD signed overflow sat
}
{
r del bits
set results
{}
r bitfield bits set u8 #0 100
lappend results
[
r bitfield bits overflow sat incrby i8 #0 257
]
lappend results
[
r bitfield bits get i8 #0
]
lappend results
[
r bitfield bits overflow sat incrby i8 #0 -255
]
lappend results
[
r bitfield bits get i8 #0
]
}
{
127 127 -128 -128
}
test
{
BITFIELD overflow detection fuzzing
}
{
for
{
set j 0
}
{
$j
< 1000
}
{
incr j
}
{
set bits
[
expr
{[
randomInt 64
]
+1
}]
set sign
[
randomInt 2
]
...
...
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