summaryrefslogtreecommitdiff
path: root/Build/source/libs/harfbuzz/harfbuzz-src/TESTING.md
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2021-02-25 19:22:25 +0000
committerKarl Berry <karl@freefriends.org>2021-02-25 19:22:25 +0000
commitad547a6b5986815fda458221149728d9d9ab1d87 (patch)
tree16296910eb3eca724371474ea9aea3994dc69614 /Build/source/libs/harfbuzz/harfbuzz-src/TESTING.md
parent947b43de3dd21d58ccc2ffadefc4441ea1c2a813 (diff)
restore Build,TODO from r57911
git-svn-id: svn://tug.org/texlive/trunk@57915 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/libs/harfbuzz/harfbuzz-src/TESTING.md')
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-src/TESTING.md55
1 files changed, 55 insertions, 0 deletions
diff --git a/Build/source/libs/harfbuzz/harfbuzz-src/TESTING.md b/Build/source/libs/harfbuzz/harfbuzz-src/TESTING.md
new file mode 100644
index 00000000000..c722834559d
--- /dev/null
+++ b/Build/source/libs/harfbuzz/harfbuzz-src/TESTING.md
@@ -0,0 +1,55 @@
+## Build and Test
+
+```shell
+meson build
+ninja -Cbuild
+meson test -Cbuild
+```
+
+### Debug with GDB
+
+```shell
+meson test -Cbuild --gdb testname
+```
+
+## Build and Run
+
+Depending on what area you are working in change or add `HB_DEBUG_<whatever>`.
+Values defined in `hb-debug.hh`.
+
+```shell
+CPPFLAGS='-DHB_DEBUG_SUBSET=100' meson setup build --reconfigure
+meson test -C build
+```
+
+### Run tests with asan
+
+```shell
+meson setup build -Db_sanitize=address --reconfigure
+meson compile -C build
+meson test -C build
+```
+
+### Enable Debug Logging
+
+```shell
+CPPFLAGS=-DHB_DEBUG_SUBSET=100 meson build --reconfigure
+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
+```
+
+## Profiling
+
+```
+meson build --reconfigure
+meson compile -C build
+build/perf/perf
+```
+