docs: add development.md

This commit is contained in:
PoiScript 2023-11-17 16:47:15 +08:00
parent 20a46b132e
commit 6b2d57f4ae
No known key found for this signature in database
GPG key ID: 22C2B1249D99985E

41
development.md Normal file
View file

@ -0,0 +1,41 @@
## Format, test, lint
```shell
cargo fmt -- --check
cargo test --all-features
cargo clippy --allow-dirty --allow-staged
```
## Update snapshot testing
```shell
cargo install cargo-insta
cargo insta test --all-features
cargo insta review
```
## Fuzz testing
```shell
cargo install cargo-fuzz
rustup default nightly
cargo fuzz run fuzz_target_1
```
## Benchmark
```shell
curl -q https://orgmode.org/worg/doc.org --output ./benches/doc.org
curl -q https://orgmode.org/worg/org-faq.org --output ./benches/org-faq.org
curl -q https://orgmode.org/worg/org-syntax.org --output ./benches/org-syntax.org
cargo bench --bench parse
```
## Benchmark w/ flamegraph
```shell
cargo install flamegraph
cargo flamegraph --bench parse -o baseline.svg -- --bench
# then open baseline.svg with your browser
```