Update travis config for fuzzer builds
This commit is contained in:
11
.travis.yml
11
.travis.yml
@@ -70,9 +70,16 @@ install:
|
|||||||
|
|
||||||
before_script:
|
before_script:
|
||||||
- mkdir -p build && cd build
|
- mkdir -p build && cd build
|
||||||
- cmake .. -G Ninja -DCMAKE_BUILD_TYPE=$BUILD_TYPE
|
- if [ "$CXX" = "clang++-8"; then
|
||||||
|
# Build UBSan binary
|
||||||
|
export CXXFLAGS="-fsanitize=undefined -fsanitize-coverage=bb,trace-pc-guard";
|
||||||
|
cmake .. -G Ninja -DCMAKE_BUILD_TYPE=$BUILD_TYPE
|
||||||
-DSNAPPY_REQUIRE_${CPU_LEVEL}=ON
|
-DSNAPPY_REQUIRE_${CPU_LEVEL}=ON
|
||||||
-DSNAPPY_BUILD_FUZZERS=ON
|
-DSNAPPY_BUILD_FUZZERS=ON;
|
||||||
|
else
|
||||||
|
cmake .. -G Ninja -DCMAKE_BUILD_TYPE=$BUILD_TYPE
|
||||||
|
-DSNAPPY_REQUIRE_${CPU_LEVEL}=ON;
|
||||||
|
fi
|
||||||
- cmake --build .
|
- cmake --build .
|
||||||
- cd ..
|
- cd ..
|
||||||
|
|
||||||
|
|||||||
@@ -53,14 +53,14 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size)
|
|||||||
assert(compressed_len == compressed_out.size());
|
assert(compressed_len == compressed_out.size());
|
||||||
assert(compressed_len <= snappy::MaxCompressedLength(input.size()));
|
assert(compressed_len <= snappy::MaxCompressedLength(input.size()));
|
||||||
assert(snappy::IsValidCompressedBuffer(
|
assert(snappy::IsValidCompressedBuffer(
|
||||||
compressed_out.data(),
|
compressed_out.data(),
|
||||||
compressed_out.size()));
|
compressed_out.size()));
|
||||||
|
|
||||||
size_t uncompressed_len = 0;
|
size_t uncompressed_len = 0;
|
||||||
bool getcomp_len_success = snappy::GetUncompressedLength(
|
bool getcomp_len_success = snappy::GetUncompressedLength(
|
||||||
compressed_out.data(),
|
compressed_out.data(),
|
||||||
compressed_out.size(),
|
compressed_out.size(),
|
||||||
&uncompressed_len);
|
&uncompressed_len);
|
||||||
// Check that GetUncompressedLength() does not return a very large
|
// Check that GetUncompressedLength() does not return a very large
|
||||||
// value (1 MB) on success.
|
// value (1 MB) on success.
|
||||||
assert(!getcomp_len_success || uncompressed_len < (1 << 20));
|
assert(!getcomp_len_success || uncompressed_len < (1 << 20));
|
||||||
@@ -68,9 +68,9 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size)
|
|||||||
// Uncompress
|
// Uncompress
|
||||||
string uncompressed_out;
|
string uncompressed_out;
|
||||||
bool uncompress_success = snappy::Uncompress(
|
bool uncompress_success = snappy::Uncompress(
|
||||||
compressed_out.data(),
|
compressed_out.data(),
|
||||||
compressed_out.size(),
|
compressed_out.size(),
|
||||||
&uncompressed_out);
|
&uncompressed_out);
|
||||||
|
|
||||||
assert(uncompress_success);
|
assert(uncompress_success);
|
||||||
assert(input == uncompressed_out);
|
assert(input == uncompressed_out);
|
||||||
|
|||||||
@@ -45,9 +45,9 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size)
|
|||||||
|
|
||||||
size_t uncompressed_len = 0;
|
size_t uncompressed_len = 0;
|
||||||
bool getcomp_len_success = snappy::GetUncompressedLength(
|
bool getcomp_len_success = snappy::GetUncompressedLength(
|
||||||
input.data(),
|
input.data(),
|
||||||
input.size(),
|
input.size(),
|
||||||
&uncompressed_len);
|
&uncompressed_len);
|
||||||
// Check that GetUncompressedLength() does not return a very large
|
// Check that GetUncompressedLength() does not return a very large
|
||||||
// value (1 MB) on success.
|
// value (1 MB) on success.
|
||||||
assert(!getcomp_len_success || uncompressed_len < (1 << 20));
|
assert(!getcomp_len_success || uncompressed_len < (1 << 20));
|
||||||
@@ -55,9 +55,9 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size)
|
|||||||
// Uncompress
|
// Uncompress
|
||||||
string uncompressed_out;
|
string uncompressed_out;
|
||||||
bool uncompress_success = snappy::Uncompress(
|
bool uncompress_success = snappy::Uncompress(
|
||||||
input.data(),
|
input.data(),
|
||||||
input.size(),
|
input.size(),
|
||||||
&uncompressed_out);
|
&uncompressed_out);
|
||||||
|
|
||||||
assert(uncompress_success);
|
assert(uncompress_success);
|
||||||
return 0;
|
return 0;
|
||||||
|
|||||||
Reference in New Issue
Block a user