aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBehdad Esfahbod <behdad@behdad.org>2022-08-03 11:31:04 -0600
committerBehdad Esfahbod <behdad@behdad.org>2022-08-03 11:31:34 -0600
commite68e874da61ef72e63268d451ecde8785cd2f871 (patch)
tree65ba2400a79a625a14fa4342012f5aa8b7f5809b
parentc80e32972f485dbdc326d7daa110f94f4d66cbf9 (diff)
downloadharfbuzz_ng-e68e874da61ef72e63268d451ecde8785cd2f871.tar.gz
Update test/fuzzing/README
-rw-r--r--TESTING.md6
-rw-r--r--test/fuzzing/README21
-rw-r--r--test/fuzzing/README.md17
3 files changed, 18 insertions, 26 deletions
diff --git a/TESTING.md b/TESTING.md
index 2fcc5c4f7..18d702027 100644
--- a/TESTING.md
+++ b/TESTING.md
@@ -39,11 +39,7 @@ ninja -C build
## Test with the Fuzzer
-```shell
-CXXFLAGS="-fsanitize=address,fuzzer-no-link" meson fuzzbuild --default-library=static -Dfuzzer_ldflags="-fsanitize=address,fuzzer" -Dexperimental_api=true
-ninja -Cfuzzbuild test/fuzzing/hb-{shape,draw,subset,set}-fuzzer
-fuzzbuild/test/fuzzing/hb-subset-fuzzer test/fuzzing/fonts
-```
+FOr fuzzing, see `test/fuzzing/README.md`.
## Profiling
diff --git a/test/fuzzing/README b/test/fuzzing/README
deleted file mode 100644
index af99cf95a..000000000
--- a/test/fuzzing/README
+++ /dev/null
@@ -1,21 +0,0 @@
-In order to build the fuzzer one needs to build HarfBuzz and
-harfbuzz/test/fuzzing/hb-fuzzer.cc with:
- - Using the most recent Clang
- - With -fsanitize=address (or =undefined, or a combination)
- - With -fsanitize-coverage=edge[,8bit-counters,trace-cmp]
- - With various defines that limit worst case exponential behavior.
- See FUZZING_CPPFLAGS in harfbuzz/src/Makefile.am for the list.
- - link against libFuzzer
-
-To run the fuzzer one needs to first obtain a test corpus as a directory
-containing interesting fonts. A good starting point is inside
-harfbuzz/test/shaping/fonts/fonts/.
-Then, run the fuzzer like this:
- ./hb-fuzzer -max_len=2048 CORPUS_DIR
-Where max_len specifies the maximal length of font files to handle.
-The smaller the faster.
-
-For more details consult the following locations:
- - http://llvm.org/docs/LibFuzzer.html or
- - https://github.com/google/libfuzzer-bot/tree/master/harfbuzz
- - https://github.com/harfbuzz/harfbuzz/issues/139
diff --git a/test/fuzzing/README.md b/test/fuzzing/README.md
new file mode 100644
index 000000000..8529a0c65
--- /dev/null
+++ b/test/fuzzing/README.md
@@ -0,0 +1,17 @@
+To build the fuzzers with libFuzzer to perform actual fuzzing, build with:
+
+```shell
+CXX=clang++ CXXFLAGS="-fsanitize=address,fuzzer-no-link" meson fuzzbuild --default-library=static -Dfuzzer_ldflags="-fsanitize=address,fuzzer"
+
+ninja -Cfuzzbuild
+```
+
+Then, run the fuzzer like this:
+
+fuzzbuild/test/fuzzing/hb-{shape,draw,subset,set}-fuzzer [-max_len=2048] [CORPUS_DIR]
+
+Where max_len specifies the maximal length of font files to handle.
+The smaller the faster.
+
+For more details consult the following locations:
+ - http://llvm.org/docs/LibFuzzer.html