3 个版本 (1 个稳定版)
1.0.0 | 2023 年 8 月 8 日 |
---|---|
0.1.0-dev.6 | 2023 年 8 月 5 日 |
0.0.0 | 2023 年 6 月 20 日 |
#16 in #xcm
33KB
692 行
XCM 模拟器模糊测试工具
本项目将对 XCM 模拟器进行模糊测试。它可以捕获可访问的恐慌、超时以及整数溢出和下溢。
安装依赖项
cargo install honggfuzz
运行模糊测试器
在此目录下,运行以下命令
cargo hfuzz run xcm-fuzzer
运行单个输入
在此目录下,运行以下命令
cargo hfuzz run-debug xcm-fuzzer hfuzz_workspace/xcm-fuzzer/fuzzer_input_file
生成覆盖率
在此目录下,运行以下四个命令
RUSTFLAGS="-Zprofile -Ccodegen-units=1 -Copt-level=0 -Clink-dead-code -Coverflow-checks=off -Zpanic_abort_tests -Cpanic=abort" CARGO_INCREMENTAL=0 SKIP_WASM_BUILD=1 CARGO_HOME=./cargo cargo build
../../../target/debug/xcm-fuzzer hfuzz_workspace/xcm-fuzzer/input/
zip -0 ccov.zip `find ../../../target/ \( -name "*.gc*" -o -name "test-*.gc*" \) -print`
grcov ccov.zip -s ../../../ -t html --llvm --branch --ignore-not-existing -o ./coverage
代码覆盖率将在 ./coverage/index.html
中。
依赖项
~53MB
~1.5M SLoC