Commit Graph

406 Commits

Author SHA1 Message Date
Takayuki Matsuoka
ff4b136ab8 Fix: replace strtoull with _strtoui64 for MSVC2010
https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/strtoui64-wcstoui64-strtoui64-l-wcstoui64-l
2022-08-13 03:59:49 +09:00
Takayuki Matsuoka
f7e95939e8 Fix: remove unused value
This patch fixes the following error from "make staticAnalyze"

datagencli.c:106:21: warning: Value stored to 'size' is never read
                    size=0;
                    ^    ~
2022-08-13 00:46:44 +09:00
Takayuki Matsuoka
46d12d661e Suppress false positive warning from MSVC (fuzzer.c)
Suppress the following false positive warnings from MSVC:
- Disable all arithmetic overflow (C26451)
- Suppress C6385: Reading invalid data from 'compressedBuffer'.
- Add ULL suffix to unsigned 64-bits constants.
2022-08-13 00:36:28 +09:00
Takayuki Matsuoka
f892f82883 Suppress false positive warning from MSVC (datagencli.c)
MSVC 2022 reports the follwing false positve warnings:

lz4\tests\datagencli.c(110): warning C26451: Arithmetic overflow: Using operator '-' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '-' to avoid overflow (io.2).
lz4\tests\datagencli.c(134): warning C26451: Arithmetic overflow: Using operator '-' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '-' to avoid overflow (io.2).
lz4\tests\datagencli.c(146): warning C26451: Arithmetic overflow: Using operator '-' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '-' to avoid overflow (io.2).

Although they're absolutely compiler's and static analyzer's bug,
it'd always be nice to use the standard library.
2022-08-13 00:25:13 +09:00
Takayuki Matsuoka
aa2699707b Remove test-freestanding from tests/Makefile "all" and "test"
Since test-freestanding is able to be compiled and executed
in specific environment, we should not run it in our standard test.
2022-08-08 18:04:13 +09:00
Takayuki Matsuoka
79b40d61b8 Fix: Ignore exitcode of strace and ltrace 2022-08-07 20:07:01 +09:00
Takayuki Matsuoka
431a793b24 Fix: implement empty _start and main for non-Linux or x86-64 platforms 2022-08-07 19:43:54 +09:00
Takayuki Matsuoka
cdf515c90f Fix: Add extern "C" to all standard C replacement functions 2022-08-07 19:39:50 +09:00
Takayuki Matsuoka
70e76e50b1 Fix for ctocpptest 2022-08-07 19:26:01 +09:00
Takayuki Matsuoka
f88f02f78c Add LZ4_FREESTANDING test on Linux x86-64 platform
Also added tests/Makefile entry "test-freestanding".
2022-08-07 19:08:59 +09:00
Dominique Pelle
3347485307 fix: various typos 2022-07-31 17:47:00 +02:00
Yann Collet
5797d57018 extend disabling checksum validation to normal lz4 CLI decompression
note : it's unlikely to improve speed, as in most cases I/O is slower than lz4 decompression,
but maybe in extreme scenarios, it might show a difference.
2022-07-29 23:21:40 +02:00
Yann Collet
0826234293 added options.skipChecksums to local fuzzer test 2022-07-29 22:32:41 +02:00
Yann Collet
8f18b4b4e6 introduced new --no-crc command
which disables both frame and block checksums.
2022-07-29 22:22:27 +02:00
Yann Collet
4f4d09a0d1 implement decoder-only benchmark mode
requires an LZ4 Frame as input
2022-07-29 19:22:59 +02:00
Yann Collet
a45597d260 test independence for parallel run
for `make -j test`.

note : test-install is no longer part of `make test`
It will have to be run on its own.
2022-07-17 17:22:33 +02:00
Yann Collet
ca6e522bff
Merge pull request #1115 from lz4/lz4f_customMem
Support for Custom Memory managers
2022-07-15 18:18:17 -07:00
Yann Collet
c26902e02a
Merge pull request #1119 from lz4/skipFrames
support skippable frames within pipe
2022-07-15 12:03:44 -07:00
Yann Collet
6784e78e00 support skippable frames within pipe
fix #977

fseek() doesn't work for pipe,
switch to "read and forget" mode in such case.
2022-07-15 19:30:53 +02:00
Yann Collet
35d58a5ea7 fix decompress-partial-usingDict.c
The recently added test decompress-partial-usingDict
tends to fail for unknown reasons,
more frequently under the combination for clang-9 + `-mx32`.

There is a suspicion that the test is using too much stack.
Fixing that, + adding traces, to get more information if it fails again.
2022-07-15 13:05:43 +02:00
Yann Collet
e535d6424a implemented LZ4F_createCDict_advanced() 2022-07-14 01:36:18 +02:00
Yann Collet
c76c9c53ac Merge branch 'dev' into lz4f_customMem 2022-07-13 20:43:37 +02:00
Yann Collet
270529e80e implemented first custom memory manager interface
for compression context only for the time being,
using LZ4F_createCompressionContext_advanced().

Added basic test in frametest.c
2022-07-13 20:23:13 +02:00
Yann Collet
832b444266 fix stricter enum type requirements for C++ 2022-07-13 16:18:22 +02:00
Yann Collet
60f8eb6f4c minor : specify min versions for library version identifiers 2022-07-12 22:33:08 +02:00
Yann Collet
d645753919 generalize across all 3 ABI architectures 2022-07-12 10:37:46 -07:00
Yann Collet
3e2426b198 write liblz4 dynamic library version
requires liblz4 >= v1.7.5
2022-07-12 09:40:45 -07:00
Yann Collet
aab32f454e first ABI compat tests
only use current march & default compiler
2022-07-12 08:29:06 -07:00
Yann Collet
9d20cd519a
Merge pull request #1099 from lz4/pr1094_frametest
Add a fuzzer test for LZ4F_uncompressedUpdate() within frametest
2022-07-05 16:31:54 -07:00
Yann Collet
6e242d1915 update frametest for new condition for uncompressedUpdate 2022-07-05 14:08:36 -07:00
Yann Collet
f745a01cfd clarify yet another time what dual-license means 2022-07-04 16:36:19 -07:00
Yann Collet
5392531e87 added fuzzer test for LZ4F_uncompressedUpdate in frametest 2022-07-01 14:53:16 -07:00
Yann Collet
49e63cd522 fixed minor leak 2022-07-01 02:55:47 -07:00
Yann Collet
149644df49 fixed -tm
which was broken up to now.
2022-07-01 02:21:44 -07:00
Yann Collet
24b50935f9 fail on requesting to process 3+ file names in legacy mode
warning only if -f is selected.
2022-06-30 21:53:29 -07:00
Qi Wang
ec75db2294 tests: add tests for LZ4_decompress_safe_partial_usingDict
Signed-off-by: Qi Wang <wangqi@linux.alibaba.com>
2022-06-07 17:12:51 +08:00
Yann Collet
4f984e45a5 added target test-compile-with-lz4-memory-usage
and run it in GA CI
2022-01-31 14:51:20 -08:00
Yann Collet
379c1a10ca Introduce MIN and MAX bounds to LZ4_MEMORY_USAGE
ensure that `frametest` works fine with these values,
notably with low LZ4_MEMORY_USAGE (dict test notably)

following suggestions from @t-mat at #1016
2022-01-30 23:02:55 -08:00
Yann Collet
f4ab8ca2d9
Merge pull request #1060 from gabrielstedman/list_test_fix
Fix list test
2022-01-29 15:11:48 -08:00
Gabriel
cd4d081402 Correctly use temp folder variable 2022-01-29 16:02:29 +00:00
Gabriel
2f5d65aad1 Convert all strings to fstrings && avoid usage of shell for Popen 2022-01-29 14:58:59 +00:00
Gabriel
c9d2c71977 Ensure list test exits with appropiate exit code on failure 2022-01-29 11:05:09 +00:00
Yann Collet
fbc61cde65 --test and --list return an error when parsing invalid file
fix #1045
2022-01-28 23:31:51 -08:00
Yann Collet
49e4c671c8
Merge pull request #1056 from lz4/fix_opt12
fixed bug in optimal parser
2022-01-28 21:26:24 -08:00
Yann Collet
573fa33d1d added test
for --list from stdin
2022-01-28 17:08:44 -08:00
Yann Collet
e4f5a34d16 fixed bug in optimal parser
discovered by @yoniko.
2022-01-28 16:51:28 -08:00
Dimitri Papadopoulos
4bdfb08b95
Fix typos found by codespell 2021-11-25 15:32:37 +01:00
Yann Collet
e2009622dd
Merge pull request #1022 from lz4/uname
make UNAME externally definable
2021-09-20 16:04:07 -07:00
a1346054
3e99d07bc0 trim excess whitespace 2021-08-21 22:24:52 +00:00
a1346054
6a8e21d802 fix warnings reported by shellcheck in shell scripts 2021-08-21 20:46:23 +00:00