Commit Graph

297 Commits

Author SHA1 Message Date
W. Felix Handte
209c9c29d1 Add Some Simple Fuzzer Tests 2018-04-20 15:16:41 -04:00
W. Felix Handte
e0d8add791 Fix Framebench Output Buffer Sizing 2018-04-19 20:45:48 -04:00
W. Felix Handte
9dae661b1f Fix Cast 2018-04-19 20:45:48 -04:00
W. Felix Handte
f646c512e9 Print Failure Message in Framebench 2018-04-19 20:45:48 -04:00
W. Felix Handte
9d971fd5c3 Switch to Unaligned Samples to Compress Different Blobs Each Time 2018-04-19 20:45:47 -04:00
W. Felix Handte
66f0c29aa4 Fix Framebench Statistics 2018-04-19 20:45:47 -04:00
W. Felix Handte
09df7a05f9 Add Run Name to Frame Bench Output 2018-04-19 20:45:47 -04:00
W. Felix Handte
a9a62321ff Auto-Calculate Appropriate Repetition Count 2018-04-19 20:45:47 -04:00
W. Felix Handte
d4ee7554fc Print More Detailed Results Inside bench(), Add Compression Levels 2018-04-19 20:45:47 -04:00
W. Felix Handte
ffb2d8b0ed Check Compressed Buffer is Correct in Frame Bench 2018-04-19 20:45:47 -04:00
W. Felix Handte
0bc13ab69c Add HC Calls to Framebench 2018-04-19 20:45:47 -04:00
W. Felix Handte
b9836b2a03 Restore Framebench Tool
This reverts commit 70f14823a4.
2018-04-19 20:45:47 -04:00
Yann Collet
444211d259 edited a few traces for debugging 2018-04-16 17:16:08 -07:00
Yann Collet
4aff9b10b5 fixed fuzzer tests
which were modified in parallel within branc `dev`
2018-04-16 16:14:28 -07:00
Yann Collet
b5528ac86c Merge branch 'dev' into lowAddr 2018-04-16 16:12:38 -07:00
W. Felix Handte
9f0f6b89bb Further Test that ExtDictCtx Mode Produces the Exact Same Output 2018-04-13 11:50:52 -04:00
W. Felix Handte
6dd64e0776 Add Tests for LZ4_attach_dictionary and Friends 2018-04-13 11:50:52 -04:00
test4973
8af32ce6f7 modified a few traces for debug 2018-04-12 13:35:19 -07:00
Yann Collet
ca388790e6 allow system-defined CPPFLAGS in /tests 2018-04-11 16:41:25 -07:00
Yann Collet
7b3cd10579 reduced test time on circle-ci 2018-04-11 16:31:43 -07:00
test4973
ad7e040384 fix minor conversion warning
cast from void not implicit for C++
2018-04-09 20:38:00 -07:00
test4973
f9992fa37f noticed a bug when re-using hash table
./fuzzer -vv -s4217 -t7518
2018-04-05 19:09:24 -07:00
test4973
6d931b6a93 fixed lz4 compression starting at small address
when using byU32 and byU16 modes
2018-04-05 12:40:33 -07:00
test4973
43132af808 Merge branch 'dev' into lowAddr 2018-04-04 11:38:55 -07:00
W. Felix Handte
ebdcbc359b Add Dependency to Fix Parallel make test Runs
When run with `-jN`, the `rm tmp*` can run in the middle of the `test-lz4-dict`
job, which will then fail, finding its files to have been axed. This adds a
dependency between the two.
2018-03-21 11:31:22 -04:00
test4973
c3f0ed28ff added low address fuzzer tests 2018-03-21 07:14:13 -07:00
W. Felix Handte
70f14823a4 Remove Framebench Tool 2018-03-14 15:59:36 -04:00
W. Felix Handte
c4aef7cd62 Restore checkTag Cleaning 2018-03-13 15:18:08 -04:00
W. Felix Handte
f9fef255a1 Renames and Comment Fixes 2018-03-12 18:34:41 -04:00
W. Felix Handte
9dcd9abc14 Make LZ4F_compressFrame_usingCDict Take a Compression Context 2018-03-12 14:58:43 -04:00
W. Felix Handte
b3628cb0c5 Avoid Resetting the Context When Possible 2018-03-12 14:58:43 -04:00
W. Felix Handte
f34fb3c42d Add Bounds Check to locateBuffDiff 2018-03-12 14:58:43 -04:00
W. Felix Handte
8c006b19bb Add a Benchmarking Tool For Compression with Context Re-Use 2018-03-12 14:58:43 -04:00
Yann Collet
0ddd1ceb1d added target make check
according to GNU Makefile conventions,
the Makefile should feature a make check target
to self-test the generated program:
https://www.gnu.org/prep/standards/html_node/Standard-Targets.html .

this is much less thorough and less taxing than `make test`,
and can be run on any target in a reasonable timeframe (several seconds).
2018-02-26 14:09:46 -08:00
Yann Collet
20e969e579 fuzzer: added low address compression test
is expected to work on linux+gcc only.
2018-02-05 15:19:00 -08:00
Yann Collet
b077a99347 added checkTag
checkTag verifies that provided tag and library version match.
It's started automatically in circleCI when a new tag is created.
2018-01-14 16:57:25 -08:00
Yann Collet
e2900241e8 object files in /tests
object files created from /tests are compiled with specific flags (`-g -DLZ4_DEBUG=1`)
which are not welcomed in release binary.
`lib/*.o` files created from /tests are now stored in /tests, to avoid unintentional mix.
2017-12-27 13:02:40 +01:00
Yann Collet
7d2f30c7d1 lz4opt supports _destSize
no longer limited to level 9
2017-12-22 12:47:59 +01:00
Yann Collet
fdde4311fb /tests programs compiled with LZ4_DEBUG=1
to enable assert() within /lib
2017-12-22 11:54:43 +01:00
Yann Collet
1025546347 unified HC levels
LZ4_setCompressionLevel() can be users accross the whole range of HC levels
No more transition issue between Optimal and HC modes
2017-11-03 11:28:28 -07:00
W. Felix Handte
93f8284c17 Add some tests verifying command line dictionary functionality 2017-10-09 20:18:03 -04:00
Yann Collet
2ed3612477 removed test-fasttest 2017-08-24 18:30:00 -07:00
Yann Collet
c04655bebf fixed make recurrence from /tests 2017-08-24 17:58:13 -07:00
Yann Collet
517dd95d92 removed fasttest 2017-08-24 17:03:03 -07:00
Yann Collet
82ccdec2fb minor : added header license 2017-08-24 16:59:47 -07:00
Yann Collet
5637d8856f make test is compatible with parallel execution (-j#)
each test section runs with its own set of files
2017-08-21 15:26:03 -07:00
Yann Collet
930a692110 cli : restored command -BX to enable block checksum (#322) 2017-08-11 17:58:46 -07:00
Yann Collet
77f99d2922 restored block checksum capability at lz4frame API level 2017-08-11 17:46:52 -07:00
Yann Collet
757497ae3d implemented lz4frame decompression API 2017-08-10 16:53:57 -07:00
Yann Collet
4531637ecd support dictionary compression with independent blocks 2017-08-10 12:12:53 -07:00
Yann Collet
d8aafe2c52 dictionary compression correctly uses compression level
Not obvious : copying the state was copying cdict's compression level
2017-08-10 00:48:19 -07:00
Yann Collet
31f2cdf4d2 implemented dictionary compression in lz4frame
note : only compression API is implemented and tested
still to do : decompression API
2017-08-09 16:51:19 -07:00
Yann Collet
a82dadfbae added dictID inside LZ4F_frameInfo_t
Compressor can set dictID on LZ4F_compressBegin()
Decompressor can retrieve it using LZ4F_getFrameInfo()
2017-08-08 17:43:11 -07:00
Jussi Kukkonen
e14b4c5a3e tests/Makefile: don't use LIBDIR as variable
LIBDIR may be overriden with a environment variable: In this case make
clean breaks in tests/. Use another variable name.
2017-06-26 13:32:40 +03:00
Yann Collet
d18084c655 report where decompression ends (#313)
suggested by @ehem
note : only works for files < 2 GB
2017-06-12 15:47:43 -07:00
Yann Collet
2600a154be fix (minor) g++ compatibility for frametest 2017-05-10 17:06:31 -07:00
Yann Collet
e60cbb5cac added test for LZ4F_resetDecompressionContext() 2017-05-10 16:28:36 -07:00
Yann Collet
2012e4de9e fixed c_standards tests
and added entry "make list"
2017-05-10 14:51:09 -07:00
Yann Collet
e2c9b19122 lz4frame : Added negative compression levels 2017-04-09 01:41:36 -07:00
Yann Collet
fc31257ab2 added LZ4F_resetDecompressionContext() 2017-03-28 17:36:12 -07:00
Yann Collet
f0a7651fce Safer LZ4_getFrameInfo()
LZ4_getFrameInfo() is now guaranteed to keep dctx state clean,
even in case of failure.
2017-03-28 17:10:01 -07:00
Dmitry V. Levin
b1daffc4e5 cli: add GNU separator -- specifying that all following arguments are files
This option is supported by other compressors with compatible cli,
so add it to lz4 as well for better compatibility.
2017-03-23 03:48:51 +00:00
Yann Collet
0d073d4d28 added extern C for lz4.h static section
should make the file more compatible with C++ compiler, such as Visual or g++
2017-03-17 15:11:09 -07:00
Yann Collet
aae447fffd LZ4_compress_HC_continue_destSize() works as intended up to level 10
It's incompatible with btopt though,
so cLevel >= 11 feature much reduced performance (degraded mode)
2017-03-16 15:41:30 -07:00
Yann Collet
cd35f0d98c LZ4_compress_HC_destSize() uses LZ4HC_compress_generic() code path
Limits compression level to 10,
to remain compatible with Hash Chain.
2017-03-16 15:10:38 -07:00
Yann Collet
430b7d32b3 created LZ4_HC_STATIC_LINKING_ONLY section
where are exposed new prototypes *_destSize()
2017-03-16 02:16:24 -07:00
remittor
66b26a389f tests: fuzzer: Add test for LZ4_compressHC_destSize 2017-03-08 11:13:28 +03:00
Dmitry V. Levin
0dfb0b9dad Fix test-lz4-basic
When no output filename is specified and stdout is not a terminal,
lz4 doesn't attempt to guess an output filename and uses stdout for
output.

This change fixes test-lz4-basic when run without a terminal
by specifying output filenames.
2017-03-05 23:28:25 +00:00
Przemyslaw Skibinski
d3eaf78838 remove MOREFLAGS from test-lz4c32 2017-02-16 16:30:16 +01:00
Przemyslaw Skibinski
ace22424d8 circle.yml: fixed lz4c32 target (2) 2017-02-15 23:19:30 +01:00
Przemyslaw Skibinski
0d77c85d9d circle.yml: fixed lz4c32 target 2017-02-15 22:10:11 +01:00
Przemyslaw Skibinski
4ee9bd5c3e improved Circle CI tests 2017-02-15 18:24:42 +01:00
Eric Siegerman
b89cac7b2e Don't use "foo && false || true"
Replace it with either:
    test ! -f $FILE_THAT_SHOULD_NOT_EXIST
or:
    ! $COMMAND_THAT_SHOULD_FAIL

as appropriate.
2017-02-14 14:17:06 -05:00
Przemyslaw Skibinski
c139eb40b0 added OpenBSD NetBSD SunOS to list of supported make install OSes 2017-02-10 15:00:27 +01:00
Przemyslaw Skibinski
489d1618c9 added "This Makefile is validated for" 2017-01-19 16:28:08 +01:00
Przemyslaw Skibinski
d2b51c22d3 fuzzer: tests more compression levels 2016-12-28 17:47:10 +01:00
Przemyslaw Skibinski
1c80b9af4e LZ4HC_getSearchNum 2016-12-28 15:18:19 +01:00
Przemyslaw Skibinski
c8b31263cc added FUZ_CLEVEL_DEFAULT 2016-12-28 13:08:38 +01:00
Przemyslaw Skibinski
a3d61cf3df improved test-lz4-opt-parser 2016-12-27 15:38:07 +01:00
Przemyslaw Skibinski
f4575f4f14 added test-lz4-opt-parser 2016-12-27 13:14:04 +01:00
Przemyslaw Skibinski
efaa9b7bc7 Merge remote-tracking branch 'refs/remotes/lz4/dev' into dev
# Conflicts:
#	lib/Makefile
2016-12-27 10:43:07 +01:00
Przemyslaw Skibinski
ea51ad0cee Solaris: working "make install" 2016-12-23 00:02:01 +01:00
Przemyslaw Skibinski
9b4b081c15 "make test" is now compatible with Solaris 2016-12-22 17:18:39 +01:00
Yann Collet
b41f9bb132 Merge pull request #292 from inikep/dev
improved POSIX
2016-12-22 11:58:29 +01:00
Przemyslaw Skibinski
f084b65383 test Large File support for Mac OS-X in 32-bits mode 2016-12-21 17:13:38 +01:00
Przemyslaw Skibinski
973bc79740 util.h and platform.h based on zstd 2016-12-21 16:10:09 +01:00
Yann Collet
7cf0bb97b2 LZ4F_compressBound(0) provides upper bound for LZ4F_flush() and LZ4F_compressEnd() [#290, suggested by @vtermanis] 2016-12-21 14:18:01 +01:00
Przemyslaw Skibinski
3c6ce9c665 fixed gcc 4.4 support 2016-12-21 10:39:27 +01:00
Przemyslaw Skibinski
64cbc4e1dc improved MinGW support 2016-12-21 10:22:40 +01:00
Przemyslaw Skibinski
9546ba62d0 executables use basic types from util.h 2016-12-21 09:44:59 +01:00
Przemyslaw Skibinski
2cfef13952 executables use platform.h 2016-12-20 18:05:43 +01:00
Yann Collet
de93e9e5d8 fix #285 : lz4cat doesn't work with stdin (reported by @beiDei8z) 2016-12-08 14:25:04 -08:00
Yann Collet
7e2d4c4c08 fixed test-lz4c32 2016-12-07 15:52:07 -08:00
Yann Collet
750a50cf67 fix #284, reported by @beiDei8z : added test cases for path/to/lz4cat 2016-12-07 14:49:04 -08:00
Yann Collet
01ffed25ad fix : invocation of path/to/unlz4 (#284), reported by @beiDei8z 2016-12-07 14:29:22 -08:00
Yann Collet
5eb547a608 fix #283 : implement LZ4_versionString(). 2016-12-04 20:05:36 +01:00
Yann Collet
8875e7dbb5 fix minor analyzer warning 2016-11-21 16:42:23 -08:00
Yann Collet
8b233b228d added a few dates 2016-11-21 15:51:39 -08:00
Yann Collet
19df3029e2 fixed #272 (compilation fails on gcc 4.4), reported by @totaam 2016-11-18 17:56:56 -08:00
Yann Collet
3f6f577687 fixed strict aliasing warnings in fasttest 2016-11-17 15:34:07 -08:00
Yann Collet
c0e55ec05f fixed versionsTest 2016-11-17 14:54:30 -08:00
Yann Collet
7d53548473 added v1.x.y to versions tests 2016-11-17 14:39:49 -08:00
Yann Collet
1abecbc33c fix 32-bits mode.
Large File support for Mac OS-X in 32-bits mode
Fixed potential undefined behavior
Changed makefile for 32-bits mode
2016-11-17 13:02:06 -08:00
Przemyslaw Skibinski
2e10aab20f MinGW doesn't require the import library at all 2016-11-16 08:59:18 +01:00
Przemyslaw Skibinski
f71340ce1d DLL dependencies moved to lib/dll/ 2016-11-15 11:06:16 +01:00
Yann Collet
201149f8eb fixed conversion warnings 2016-11-14 10:16:11 -08:00
Yann Collet
5a5ebeec15 clang and g++ tests restricted to native only on Travis CI Ubuntu v12 environment 2016-11-14 08:51:28 -08:00
Yann Collet
1b24cc1155 fixed conversion warnings 2016-11-14 07:10:31 -08:00
Yann Collet
ecc55d19ba fixed uintptr_t on pre-c99 compilers 2016-11-13 21:06:38 -08:00
Yann Collet
d5c9b39ddd minor code refactoring 2016-11-13 20:50:58 -08:00
Yann Collet
84b97f90b8 fuzzer code refactoring
fix g++ conversion warning
2016-11-12 17:14:57 -08:00
Yann Collet
cb2230826b fixed fuzzer error 2016-11-12 10:09:59 -08:00
Yann Collet
3580d96980 enabled deprecation warnings on remaining obsolete functions 2016-11-12 08:48:42 -08:00
Yann Collet
bf6dda69e6 updated frametest 2016-11-11 15:11:56 -08:00
Yann Collet
1f246a9899 Fixed #178 fullbench on small input 2016-11-10 15:31:59 -08:00
Przemyslaw Skibinski
72a4a84df7 udated README.md 2016-11-10 17:49:42 +01:00
Przemyslaw Skibinski
d57d3e4b4d better MSYS/MinGW support 2016-11-10 14:43:51 +01:00
Przemyslaw Skibinski
74f127787b NB_LOOPS ?= -i1 2016-11-10 10:25:41 +01:00
Przemyslaw Skibinski
767a23160b changed FUZZER_TIME 2016-11-10 09:04:40 +01:00
Yann Collet
fe48cef50e fixed multiples files on lz4cat (#184, by @libor-m) 2016-11-09 16:37:16 -08:00
Yann Collet
1b95d60c66 fixed synthetic benchmark mode
slightly optimized test mode
2016-11-09 15:04:55 -08:00
Yann Collet
acc48a3f85 fixed lz4cat
changed lz4-test order
2016-11-09 14:36:42 -08:00
Przemyslaw Skibinski
773ae50b47 DLL exports only functions defined in liblz4.def 2016-11-09 16:07:28 +01:00
Przemyslaw Skibinski
ca80a7c8f7 create DLL with MinGW/MSYS 2016-11-09 15:19:29 +01:00
Przemyslaw Skibinski
dd14dca15c LZ4_DLL_IMPORT 2016-11-09 13:19:08 +01:00
Przemyslaw Skibinski
7df658ec1b removed LZ4_DLL_EXPORT=1 (2) 2016-11-09 12:52:27 +01:00
Przemyslaw Skibinski
da48dbb57a Merge remote-tracking branch 'refs/remotes/lz4/dev' into dev 2016-11-09 11:46:02 +01:00
Przemyslaw Skibinski
fe5148417f introduced LZ4_COMPILED_AS_DLL 2016-11-09 11:45:55 +01:00
Nick Terrell
d594d9d878 Remove fasttest when cleaning 2016-11-08 17:41:06 -08:00
Przemyslaw Skibinski
c6fd78f4f1 VS project: added setargv.obj 2016-11-08 16:27:07 +01:00
Przemyslaw Skibinski
1d22fae1e6 added test-lz4-speed.py 2016-11-08 13:50:45 +01:00
Przemyslaw Skibinski
2c788b3728 joined arm and aarch64 tests 2016-11-08 12:33:01 +01:00
Przemyslaw Skibinski
0a22bf7d6e err0r(LZ4F_errorCodes code) uses ptrdiff_t 2016-11-08 11:47:03 +01:00
Przemyslaw Skibinski
d06ab4f415 test powerpc64 2016-11-08 11:16:16 +01:00
Przemyslaw Skibinski
2302649138 tests\Makefile: added test-platform 2016-11-08 10:43:18 +01:00
Przemyslaw Skibinski
7fbb163f3f added "make c_standards" 2016-11-07 17:43:37 +01:00
Nick Terrell
920bf21714 Fix LZ4_decompress_fast_continue() bug
It specified the external dictionary location incorrectly.
Add tests that expose this bug with both normal compilation and ASAN.
2016-11-04 20:01:23 -07:00
Yann Collet
473acf5aa9 Merge pull request #252 from inikep/dev
Dev
2016-11-04 13:54:19 -07:00
Nick Terrell
374090c7a7 Return error if input file does not exist.
Make `lz4 file-does-not-exist` return non-zero.
2016-11-04 11:58:10 -07:00
Przemyslaw Skibinski
e06fcd9039 redefined VOID for Windows/MSYS 2016-11-04 13:32:36 +01:00
Yann Collet
6d6a3e0fb5 Merge pull request #250 from terrelln/test-mode
Fix test mode and write to null
2016-11-03 21:08:06 -07:00
Yann Collet
eda8c4eb1c fix #198 : no longer requires to restart streaming decompression from where it stopped.
It permits relocating remaining data into another memory space.
Still, the same content must be presented.
2016-11-03 18:46:07 -07:00
Nick Terrell
04d728b87b Fix tests for test mode 2016-11-03 18:19:14 -07:00
Przemyslaw Skibinski
8847faffbf updated programs/README.md 2016-11-03 16:17:38 +01:00
Przemyslaw Skibinski
f38adde9e0 versionsTests moved to tests/ 2016-11-03 16:01:50 +01:00
Przemyslaw Skibinski
84cedb4632 updated links to LZ4 repository 2016-11-03 15:12:57 +01:00
Przemyslaw Skibinski
e624978ea2 test programs moved to tests/ 2016-11-03 15:03:43 +01:00