Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
C
cython-zstd
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
cython-zstd
Commits
88a3877f
Commit
88a3877f
authored
Apr 11, 2018
by
Julien Muchembled
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add unit tests
parent
d1786bbf
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
61 additions
and
2 deletions
+61
-2
setup.py
setup.py
+2
-2
test.py
test.py
+59
-0
No files found.
setup.py
View file @
88a3877f
from
distutils.core
import
setup
from
distutils.extension
import
Extension
from
setuptools
import
setup
,
Extension
kw
=
dict
(
name
=
"zstd._bindings"
,
libraries
=
[
"zstd"
])
try
:
...
...
@@ -27,4 +26,5 @@ setup(
classifiers
=
classifiers
.
splitlines
(),
packages
=
[
'zstd'
],
ext_modules
=
ext_modules
,
test_suite
=
'test'
,
)
test.py
0 → 100644
View file @
88a3877f
import
random
,
unittest
from
zstd
import
compress
,
decompress
,
error
,
maxCLevel
class
Test
(
unittest
.
TestCase
):
def
compress
(
self
,
data
,
*
level
):
compressed
=
compress
(
data
,
*
level
)
self
.
assertEqual
(
data
,
decompress
(
compressed
))
return
compressed
def
testEmpty
(
self
):
self
.
assertLessEqual
(
len
(
self
.
compress
(
b''
)),
9
)
def
testLevels
(
self
):
gauss
=
random
.
Random
(
0
).
gauss
data
=
bytes
(
bytearray
(
int
(
gauss
(
0
,
.
8
))
%
256
for
_
in
range
(
1
<<
20
)))
max_level
=
maxCLevel
()
self
.
assertLess
(
2
,
max_level
)
levels
=
(
1
,
232499
),
(
max_level
,
159505
)
for
level
,
max_len
in
levels
:
self
.
assertLessEqual
(
len
(
self
.
compress
(
data
,
level
)),
max_len
)
compressed
=
self
.
compress
(
data
)
self
.
assertEqual
(
compressed
,
compress
(
data
,
0
))
self
.
assertLess
(
levels
[
1
][
1
],
len
(
compressed
))
self
.
assertLess
(
len
(
compressed
),
levels
[
0
][
1
])
def
testRandom
(
self
):
N
=
6
getrandbits
=
random
.
Random
(
0
).
getrandbits
data
=
bytes
(
bytearray
(
getrandbits
(
8
)
for
_
in
range
(
10
**
N
)))
for
i
in
range
(
1
,
1
+
N
):
n
=
10
**
i
self
.
assertLess
(
n
,
len
(
self
.
compress
(
data
[:
n
])))
def
testError
(
self
):
def
check
(
code
,
data
):
with
self
.
assertRaises
(
error
)
as
cm
:
decompress
(
data
)
self
.
assertEqual
(
cm
.
exception
.
code
,
code
)
for
x
in
None
,
0
,
u''
:
self
.
assertRaises
(
TypeError
,
compress
,
x
)
self
.
assertRaises
(
TypeError
,
decompress
,
x
)
for
data
in
b'foo'
,
b' '
*
11
:
compressed
=
self
.
compress
(
data
)
for
n
in
range
(
6
):
self
.
assertRaises
(
RuntimeError
,
decompress
,
compressed
[:
n
])
for
n
in
range
(
6
,
len
(
compressed
)
-
1
):
check
(
72
,
compressed
[:
n
])
check
(
72
,
compressed
+
b'!'
)
compressed
=
bytearray
(
b'(
\
xb5
/
\
xfd
!
\
x0b
E
\
x00
\
x00
\
x10
\
x01
\
x00
\
x05
\
xc0
\
x02
'
)
check
(
32
,
bytes
(
compressed
))
compressed
[
4
]
^=
5
check
(
22
,
bytes
(
compressed
))
compressed
[
4
]
^=
4
self
.
assertEqual
(
data
,
decompress
(
bytes
(
compressed
)))
for
e
,
c
in
(
20
,
1
),
(
70
,
3
):
compressed
[
-
1
]
=
c
check
(
e
,
bytes
(
compressed
))
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