summaryrefslogtreecommitdiff
path: root/fuzzing/meson.build
diff options
context:
space:
mode:
authorPhilip Withnall <pwithnall@endlessos.org>2022-05-05 14:06:08 +0100
committerPhilip Withnall <pwithnall@endlessos.org>2022-05-05 14:06:57 +0100
commitfa5947d3e7e2c6f5010e39265d22c44b8e4b6793 (patch)
tree4ab23bda4d3fb5994e4ee2e3679305df84ee29c6 /fuzzing/meson.build
parent0c6a1af9d616e110b4610d5a6a992d02ed1a5c21 (diff)
downloadglib-fa5947d3e7e2c6f5010e39265d22c44b8e4b6793.tar.gz
fuzzing: Add unit tests to check fuzzers
Test the fuzzers with one arbitrary input each, to ensure that they work at a very basic level. This should catch regressions in each of the fuzzers without having to wait for them to be picked up by oss-fuzz. These tests can be run using `meson test --suite fuzzing`. Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
Diffstat (limited to 'fuzzing/meson.build')
-rw-r--r--fuzzing/meson.build10
1 files changed, 10 insertions, 0 deletions
diff --git a/fuzzing/meson.build b/fuzzing/meson.build
index 259c6d91d..d69381c63 100644
--- a/fuzzing/meson.build
+++ b/fuzzing/meson.build
@@ -38,4 +38,14 @@ foreach target_name : fuzz_targets
c_args : extra_c_args,
dependencies : deps,
)
+
+ # If the FuzzingEngine isn’t available, build some unit tests to check that
+ # the fuzzing files do basically work. This doesn’t do any actual fuzzing though.
+ # Pass in the README as an arbitrary fuzzing input, just so we have something.
+ if not fuzzing_engine.found()
+ test(target_name, exe,
+ args : files('README.md'),
+ suite : 'fuzzing',
+ )
+ endif
endforeach