feat: 重构项目结构并添加核心功能
refactor: 将代码按功能模块重新组织到 core/runtime/control 等目录 feat(core): 添加 Context、FlowNode 等核心 trait 和类型 feat(runtime): 实现 FlowEngine 和状态管理 feat(control): 添加顺序/并行/条件控制流节点 feat(nodes): 实现 HTTP/DB/MQ 等业务节点 docs: 更新 README 添加架构说明和快速开始示例 test: 添加性能测试脚本和示例代码
This commit is contained in:
40
scripts/test_report.sh
Normal file
40
scripts/test_report.sh
Normal file
@ -0,0 +1,40 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set +e
|
||||
|
||||
JS_FEATURE=0
|
||||
if [[ "$1" == "--js" ]]; then
|
||||
JS_FEATURE=1
|
||||
fi
|
||||
|
||||
dir="target/test-reports"
|
||||
docDir="doc"
|
||||
mkdir -p "$dir"
|
||||
mkdir -p "$docDir"
|
||||
|
||||
if [[ "$JS_FEATURE" == "1" ]]; then
|
||||
header="## JS feature"
|
||||
outFile="$docDir/performance-js.md"
|
||||
featureArgs="--features js"
|
||||
else
|
||||
header="## Default features"
|
||||
outFile="$docDir/performance-default.md"
|
||||
featureArgs=""
|
||||
fi
|
||||
|
||||
names=(test_rhai_expr_set_and_get test_conditional_node_then_else test_http_node_with_mock test_stateful_engine test_db_and_mq_nodes test_group_parallel_sleep test_expr_set_without_engine_error)
|
||||
if [[ "$JS_FEATURE" == "1" ]]; then
|
||||
names+=(test_js_expr_and_fork_join)
|
||||
fi
|
||||
|
||||
md="# dsl-flow Test Performance\n\n${header}\n"
|
||||
for n in "${names[@]}"; do
|
||||
# Measure elapsed seconds with bash time builtin
|
||||
TIMEFORMAT='%3R'
|
||||
dur=$( { time cargo test -p dsl-flow ${featureArgs} -- --exact "${n}" --nocapture --quiet >/dev/null; } 2>&1 )
|
||||
md+="- ${n}: ${dur}s\n"
|
||||
done
|
||||
|
||||
printf "%b" "$md" > "$outFile"
|
||||
echo "Report written to $outFile"
|
||||
|
||||
Reference in New Issue
Block a user