4 This directory contains the various fuzzing targets and helper
9 Fuzzing targets as small applications where we can test a specific
10 element or API. The goal is to have them be as small/targetted as
13 ex: appsrc ! <some_element> ! fakesink num-buffers=<small>
15 Not all components can be tested directly and therefore will be
16 indirectly tested via other targets (ex: libgstaudio will be tested
17 by targets/elements requiring it)
19 Anything that can process externally-provided data should be
20 covered, but there are cases where it might not make sense to use a
21 fuzzer (such as most elements processing raw audio/video).
25 This is the script executed by the oss-fuzz project.
27 It builds glib, GStreamer, plugins and the fuzzing targets.
31 The fuzzing targets where the data to test will be provided to a
32 function whose signature follows the LibFuzzer signature:
33 https://llvm.org/docs/LibFuzzer.html
37 A file matching a test name that contains a list of files to use when
38 starting a fuzzing run. Providing an initial set files can speed up
39 the fuzzing process significantly.
43 * Add a standalone build script
45 We need to be able to build and test the fuzzing targets outside
46 of the oss-fuzz infrastructure, and do that in our continous
51 * A dummy fuzzing engine (given a directory, it opens all files and
52 calls the fuzzing targets with the content of those files.
53 * A script to be able to build those targets with that dummy engine
54 * A corpus of files to test those targets with.
56 * Build targets with dummy engine and run with existing tests.
58 * Create pull-based variants
60 Currently the existing targets are push-based only. Where
61 applicable we should make pull-based variants to test the other
77 typefind : already covered in typefind target
80 other ones easily testable directly ?