summaryrefslogtreecommitdiffstats
path: root/tests
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #923 from lz4/fix784Yann Collet2020-09-282-23/+111
|\ | | | | fix efficiency of LZ4_compress_HC_destSize()
| * improved last literals run on LZ4_compress_destSizeYann Collet2020-09-281-8/+10
| | | | | | | | | | | | applying new more accurate formula from LZ4_compress_HC_destSize() also : fix some minor display issue in tests/frametest
| * ensure last match not too close to endYann Collet2020-09-281-6/+8
| | | | | | | | must respect MFLIMIT distance from oend
| * fix incorrect countingYann Collet2020-09-281-1/+1
| | | | | | | | after truncation of last sequence
| * fix efficiency of LZ4_compress_HC_destSize()Yann Collet2020-09-281-9/+93
| | | | | | | | | | | | | | | | | | | | | | | | | | LZ4_compress_HC_destSize() had a tendency to discard its last match when this match overflowed specified dstBuffer limit. The impact is generally moderate, but occasionally huge, typically when this last match is very large (such as compressing a bunch of zeroes). Issue #784 fixed for both Chain and Opt implementations. Added a unit test suggested by @remittor checking this topic.
* | fix compressing into NULLYann Collet2020-09-261-4/+13
|/ | | | | fails properly bug discovered by oss-fuzz
* fixed ubsan tests with dynamic libraryYann Collet2020-09-171-0/+1
|
* fixed lz4frame with blocks of size 1Yann Collet2020-09-171-2/+4
| | | | properly track history
* Merge branch 'usan_null' of github.com:lz4/lz4 into usan_nullYann Collet2020-09-171-2/+5
|\
| * fix #847Yann Collet2020-09-151-2/+5
| | | | | | | | | | support NULL input without triggering undefined sanitizer
* | fix ubsan testYann Collet2020-09-171-1/+1
|/ | | | | | which now fails with a clear error as intended (not just print a status and move on). should be reproduced on travisCI
* added test triggering NULL arithmetic with usanYann Collet2020-09-151-0/+8
| | | | described in #847
* fixed minor pre-existing printf formattingYann Collet2020-08-271-2/+2
| | | | different signedness
* fixed strict c90 supportYann Collet2020-08-271-2/+0
|
* fix #783Yann Collet2020-08-271-4/+4
| | | | | | | | | | | | | | | | | LZ4_decompress_safe_partial() now also supports a scenario where nb_bytes_to_generate is <= block_decompressed_size And nb_bytes_to_read is >= block_compressed_size. Previously, the only supported scenario was nb_bytes_to_read == block_compress_size. Pay attention that, if nb_bytes_to_read is > block_compressed_size, then, necessarily, it requires that nb_bytes_to_generate is <= block_decompress_size. If both are larger, it will generate corrupted data.
* Merge branch 'dev' into extraInputYann Collet2020-08-271-81/+92
|\
| * fix test under non-interactive environmentYann Collet2020-08-251-1/+1
| |
| * added more tests around --content-sizeYann Collet2020-08-251-1/+10
| | | | | | | | notably in association with `stdin`
| * use variables for program invocationYann Collet2020-08-251-80/+82
| |
* | Merge branch 'dev' into extraInputYann Collet2020-08-181-9/+21
|\ \ | |/
| * Clarifies and fix EndMarkYann Collet2020-08-131-9/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | EndMark, the 4-bytes value indicating the end of frame, must be `0x00000000`. Previously, it was just mentioned as a `0-size` block. But such definition could encompass uncompressed blocks of size 0, with a header of value `0x80000000`. But the intention was to also support uncompressed empty blocks. They could be used as a keep-alive signal. Note that compressed empty blocks are already supported, it's just that they have a size 1 instead of 0 (for the `0` token). Unfortunately, the decoder implementation was also wrong, and would also interpret a `0x80000000` block header as an endMark. This issue evaded detection so far simply because this situation never happens, as LZ4Frame always issues a clean 0x00000000 value as a endMark. It also does not flush empty blocks. This is fixed in this PR. The decoder can now deal with empty uncompressed blocks, and do not confuse them with EndMark. The specification is also clarified. Finally, FrameTest is updated to randomly insert empty blocks during fuzzing.
* | fix issue #783 (#862)BellaXlp2020-08-122-3/+60
| | | | | | * fix issue #783
* | added test decompress-partial with extraneous input bytesYann Collet2020-08-122-10/+19
|/ | | | | fails currently, for investigation of #783
* Merge pull request #895 from lz4/hugefastYann Collet2020-08-101-0/+5
|\ | | | | Fix #876
| * add test that breaks --fastYann Collet2020-08-101-0/+5
| | | | | | | | | | | | with huge values, as expected from #876 Also : added target `check`
* | Remove dirty Field From LZ4_stream_tW. Felix Handte2020-08-061-4/+0
|/
* Merge pull request #866 from sandyharvie/devYann Collet2020-07-141-0/+18
|\ | | | | Fix issue #865
| * add testsChristopher Harvie2020-05-141-0/+18
| |
* | Fix tests on OpenBSDBjörn Ketelaars2020-05-301-1/+1
|/ | | | Add condition for OpenBSD, which uses gmake
* Add test scenario test-lz4-multiple-legacyFilipe Calasans2020-02-081-1/+39
|
* Adding unamestr varBimba Shrestha2019-10-071-0/+1
|
* Adding condition for FreeBSD and using gmakeBimba Shrestha2019-10-041-1/+8
|
* Using instead of gmake (to address the travis failure)Bimba Shrestha2019-10-041-1/+1
|
* Using gmake instead of makeBimba Shrestha2019-10-041-1/+1
|
* fixed test errorv1.9.2Yann Collet2019-08-151-1/+1
| | | | | could trigger %0 on exceptional circumstances due to wrong buffer size parameter.
* silence msan warning when offset==0Yann Collet2019-08-061-0/+1
|
* ensure conformance with custom LZ4_DISTANCE_MAXYann Collet2019-07-152-2/+3
| | | | | | | | | | | | | | It's now possible to select a custom LZ4_DISTANCE_MAX at compile time, provided it's <= 65535. However, in some cases (when compressing in byU16 mode), the new distance wasn't respected, as it used to implied that it was necessarily within range. Added a distance check for this case. Also : added a new TravisCI test which ensures that custom LZ4_DISTANCE_MAX compiles correctly and compresses correctly (relying on `assert()` to find outsized offsets).
* fix minor cppcheck warningsYann Collet2019-06-302-3/+3
|
* updated frametestYann Collet2019-06-301-16/+27
| | | | | | so that noisy src decompression doesn't generate output nor fails when decompression fails (which is expected).
* frametest: added LZ4F decoder noise testYann Collet2019-06-302-89/+188
|
* travisCI: added ASAN fuzzer testsYann Collet2019-06-292-10/+12
| | | | and fixed minor formatting warnings
* moved noisy-src decoder test into cBuffer_exactYann Collet2019-06-291-34/+34
| | | | | so that it can also catch any potential read out-of-bound in the input buffer (none reported so far, just a precaution for the future).
* fuzzer: added test to catch #738Yann Collet2019-06-291-51/+90
|
* Merge pull request #718 from lz4/fullbenchYann Collet2019-05-311-17/+64
|\ | | | | fullbench: added test scenario LZ4F_decompress_followHint
| * fullbench: ensure decompressionFunction and dName are initializedYann Collet2019-05-311-4/+14
| | | | | | | | Visual Studio seems to miss that they are necessarily initialized in the switch() { case: }
| * replaced while(1)Yann Collet2019-05-311-3/+2
| | | | | | | | | | by for (;;) just to please Visual Studio C4127 .
| * fullbench: added test scenario LZ4F_decompress_followHintYann Collet2019-05-311-13/+51
| | | | | | | | | | | | | | | | | | This emulates a streaming scenario, where the caller follows rigorously the srcSize hints provided as return value of LZ4F_decompress(). This is useful to show the issue in #714, where data is uselessly copied in a tmp buffer first.
* | added test case for in-place decompressionYann Collet2019-05-301-32/+63
| | | | | | | | worst case, designed to make the decoder overwrite into input
* | fuzzer: changed internal buffer sizeYann Collet2019-05-291-9/+10
| | | | | | | | to ensure no overflow during unit tests
* | one more conversion warningYann Collet2019-05-291-1/+1
| |