继续推进:浏览器批量验证LinuxCNC配置入口
结论:浏览器 WASM smoke 已读取 LinuxCNC 生成的 64 个 switchkins 配置用例,覆盖 config/MACHINE/KINEMATICS/HALFILE 入口;native 与 source-link 验证通过。
This commit is contained in:
@@ -8,6 +8,9 @@ mode=table
|
||||
if [[ "${1:-}" == "--config-cases" ]]; then
|
||||
mode=config-cases
|
||||
shift
|
||||
elif [[ "${1:-}" == "--json-cases" ]]; then
|
||||
mode=json-cases
|
||||
shift
|
||||
fi
|
||||
manifest=${1:-linuxcnc-kinematics-source-files.txt}
|
||||
|
||||
@@ -131,6 +134,7 @@ declare -A seen_aliases=()
|
||||
declare -A seen_cases=()
|
||||
entries=()
|
||||
case_entries=()
|
||||
json_case_entries=()
|
||||
|
||||
add_alias() {
|
||||
local alias=$1
|
||||
@@ -166,9 +170,12 @@ add_case() {
|
||||
[[ -z "${seen_cases[$key]:-}" ]] || return 0
|
||||
|
||||
seen_cases[$key]=1
|
||||
field=$(cpp_string "$field")
|
||||
value=$(cpp_string "$value")
|
||||
case_entries+=(" {\"$field\", \"$value\", $m428, $m429, $m430},")
|
||||
local cpp_field
|
||||
local cpp_value
|
||||
cpp_field=$(cpp_string "$field")
|
||||
cpp_value=$(cpp_string "$value")
|
||||
case_entries+=(" {\"$cpp_field\", \"$cpp_value\", $m428, $m429, $m430},")
|
||||
json_case_entries+=("{\"field\":\"$cpp_field\",\"value\":\"$cpp_value\",\"m428\":$m428,\"m429\":$m429,\"m430\":$m430}")
|
||||
}
|
||||
|
||||
add_machine_aliases() {
|
||||
@@ -298,6 +305,16 @@ elif [[ "$mode" == config-cases ]]; then
|
||||
EOF
|
||||
|
||||
printf '%s\n' "${case_entries[@]}"
|
||||
elif [[ "$mode" == json-cases ]]; then
|
||||
printf '[\n'
|
||||
for i in "${!json_case_entries[@]}"; do
|
||||
suffix=,
|
||||
if [[ "$i" == "$((${#json_case_entries[@]} - 1))" ]]; then
|
||||
suffix=
|
||||
fi
|
||||
printf ' %s%s\n' "${json_case_entries[$i]}" "$suffix"
|
||||
done
|
||||
printf ']\n'
|
||||
else
|
||||
echo "unknown switchkins remap table generator mode: $mode" >&2
|
||||
exit 1
|
||||
|
||||
Reference in New Issue
Block a user