summaryrefslogtreecommitdiffstats
path: root/tests
Commit message (Collapse)AuthorAgeFilesLines
* 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
| |
* | some more minor conversion warnings fixesYann Collet2019-05-291-5/+5
| |
* | fixed minor conversion warningYann Collet2019-05-291-1/+1
| |
* | added comments and macros for in-place (de)compressionYann Collet2019-05-291-2/+1
| |
* | added test case for in-place compressionYann Collet2019-05-291-16/+41
|/
* Handle file not existing case #704gabrielstedman2019-05-261-0/+1
|
* updated testsYann Collet2019-05-161-2/+2
| | | | | - only play listTest with `make test`, not `make all` which is limited to build - update `clangtest`, so that it's possible to disable O3 optimization, for faster processing
* List mode improvements.gstedman2019-05-162-2/+4
| | | | | | | | | Improve formatting Include static assert Use UTIL_fseek to handle potential fseek limitation Be explicit when refusing to read from stdin Properly free dctx after use Include valgrind tests
* Add multiframe report to --list commandgstedman2019-05-152-2/+287
|
* test-amalgamation: split the ruleDmitry V. Levin2019-04-231-6/+8
| | | | | | Change test-amalgamation to follow each-rule-makes-a-single-target idiom. Fixes: a7e8d394 ("[amalgamation] add test")
* test-amalgamation: fix compilation optionsDmitry V. Levin2019-04-231-1/+1
| | | | | | Use the same compilation options to compile lz4_all.c and other object files. Fixes: a7e8d394 ("[amalgamation] add test")
* test-amalgamation: use a single cat commandDmitry V. Levin2019-04-231-3/+1
| | | | | | | | | | Use the list of prerequisites instead of listing those files manually, this way they will never fall out of sync. Also update the amalgamation example to use a single cat command. Fixes: a7e8d394 ("[amalgamation] add test") Fixes: b192c86b ("[amalgamation] lz4frame.c")
* test-amalgamation: fix the list of prerequisitesDmitry V. Levin2019-04-231-1/+1
| | | | | | | Add $(LZ4DIR)/lz4frame.c to the list of prerequisites as the rule uses that file. Fixes: b192c86b ("[amalgamation] lz4frame.c")
* More build imrpvementsJPeterMugaas2019-04-231-1/+1
| | | | | | Moved a few other tests to Makefiles.inc. Other things might need to go there. Made a test for symlink appropriateness. Windows can NOT handle them the same way Unix-like operating systems do (if at all). This is mostly the same as the Visual C projects. embed version info into .dll and .exes that are redistributed.
* Merge pull request #691 from lz4/listYann Collet2019-04-231-0/+1
|\ | | | | --list