-
Notifications
You must be signed in to change notification settings - Fork 4k
ARROW-1589: [C++] Fuzzing for certain input formats #1529
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
9ecba95 to
1bd1c97
Compare
wesm
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd prefer to organize this code a little bit closer to the things that are being tested, like the benchmarks and unit tests. So we could have an arrow/ipc/ipc-fuzzing-test.cc executable, etc. Otherwise this looks like a great start, thanks for setting this up
|
Trying to set this up and stumbled over the missing |
1bd1c97 to
1f76392
Compare
|
I've reworked the source file organization as @wesm suggested. Also --- as a nice side effect --- I've added a helper to add other fuzzing tests more easily in the future (similar to the way arrow defines tests executables). Regarding |
|
Does someone know why the tests are failing here? |
|
@crepererum yes, new brotli version was published on conda-forge today, so no problem in your code. |
|
I will take this for a drive locally and then merge. Thanks @crepererum! |
xhochy
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
+1, got this to work on Ubuntu 17.04
apt install clang-5.0 libfuzzer-5.0-dev
symlink /usr/lib/libLLVMFuzzer.a to /usr/lib/llvm-5.0/lib/libFuzzer.a
then build in debug mode with the compiler set and it works.
See https://issues.apache.org/jira/browse/ARROW-1589
This only implements the fuzzer for a single input path, but since it also sets up the fuzzing infrastructure, it should be easy to add more tests (feel free to propose some of them to be included in this PR as well).