TESTING.md 1.0 KB
Newer Older
P
pssea 已提交
1
## Build and Test
2 3

```shell
P
pssea 已提交
4 5 6 7
meson build
ninja -Cbuild
meson test -Cbuild
```
8

P
pssea 已提交
9
### Debug with GDB
10

P
pssea 已提交
11 12
```shell
meson test -Cbuild --gdb testname
13 14
```

P
pssea 已提交
15
## Build and Run
R
rsheeter 已提交
16

P
pssea 已提交
17 18
Depending on what area you are working in change or add `HB_DEBUG_<whatever>`.
Values defined in `hb-debug.hh`.
R
rsheeter 已提交
19

R
rsheeter 已提交
20
```shell
P
pssea 已提交
21 22
CPPFLAGS='-DHB_DEBUG_SUBSET=100' meson setup build --reconfigure
meson test -C build
R
rsheeter 已提交
23 24
```

P
pssea 已提交
25
### Run tests with asan
26

P
pssea 已提交
27 28 29 30
```shell
meson setup build -Db_sanitize=address --reconfigure
meson compile -C build
meson test -C build
31 32 33 34 35
```

### Enable Debug Logging

```shell
P
pssea 已提交
36 37
CPPFLAGS=-DHB_DEBUG_SUBSET=100 meson build --reconfigure
ninja -C build
38 39
```

40 41 42
## Test with the Fuzzer

```shell
P
pssea 已提交
43 44 45 46
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
```
R
rsheeter 已提交
47

P
pssea 已提交
48
## Profiling
R
rsheeter 已提交
49

50
```
P
pssea 已提交
51 52 53 54 55
meson build --reconfigure
meson compile -C build
build/perf/perf
```