按规划持续工作
This commit is contained in:
@@ -9,11 +9,116 @@ SHIM_DIR="$ROOT_DIR/runtime/core/shims"
|
||||
INCLUDE_DIR="$ROOT_DIR/runtime/core/include"
|
||||
SOURCE_PROBE_MAP="$BUILD_DIR/source-probes.tsv"
|
||||
MINIMAL_GCODE_FIXTURE="$ROOT_DIR/tests/fixtures/gcode/minimal_linear.ngc"
|
||||
DO_WHILE_BREAK_FIXTURE="$ROOT_DIR/vendor/linuxcnc/tests/interp/do-while-break/test.ngc"
|
||||
OWORD_BUG315_FIXTURE="$ROOT_DIR/vendor/linuxcnc/tests/interp/oword-bug315/test.ngc"
|
||||
OWORD_BUG315_P2_FIXTURE="$ROOT_DIR/vendor/linuxcnc/tests/interp/oword-bug315-p2/test.ngc"
|
||||
EXISTS_FIXTURE="$ROOT_DIR/vendor/linuxcnc/tests/interp/exists/test.ngc"
|
||||
RETURN_VALUE_FIXTURE="$ROOT_DIR/vendor/linuxcnc/tests/interp/return-value/test.ngc"
|
||||
SUBS_FOLLOW_MAIN_FIXTURE="$ROOT_DIR/vendor/linuxcnc/tests/interp/subs-follow-main/test.ngc"
|
||||
FRACTIONAL_LINENUMBERS_FIXTURE="$ROOT_DIR/vendor/linuxcnc/tests/interp/fractional-linenumbers/test.ngc"
|
||||
NAMEDPARAM_BUG424_FIXTURE="$ROOT_DIR/vendor/linuxcnc/tests/interp/namedparam-bug424/test.ngc"
|
||||
G6164_FIXTURE="$ROOT_DIR/vendor/linuxcnc/tests/interp/g6164/test.ngc"
|
||||
ROTATION_ABS_PTS_FIXTURE="$ROOT_DIR/vendor/linuxcnc/tests/interp/rotation/abs-pts/test.ngc"
|
||||
ROTATION_G28_FIXTURE="$ROOT_DIR/vendor/linuxcnc/tests/interp/rotation/g28/g28.ngc"
|
||||
ROTATION_G53_FIXTURE="$ROOT_DIR/vendor/linuxcnc/tests/interp/rotation/g53/g53.ngc"
|
||||
INIPARAM_FIXTURE="$ROOT_DIR/vendor/linuxcnc/tests/interp/iniparam/test.ngc"
|
||||
INIPARAM_INI="$ROOT_DIR/vendor/linuxcnc/tests/interp/iniparam/test.ini"
|
||||
INIPARAM_FAILASSIGN_FIXTURE="$ROOT_DIR/vendor/linuxcnc/tests/interp/iniparam-failassign/test.ngc"
|
||||
INIPARAM_FAILASSIGN_INI="$ROOT_DIR/vendor/linuxcnc/tests/interp/iniparam-failassign/test.ini"
|
||||
SUB_CALL_FROM_SUB_FIXTURE="$ROOT_DIR/vendor/linuxcnc/tests/interp/sub-call-from-sub/test.ngc"
|
||||
SUB_CALL_FROM_SUB_INI="$ROOT_DIR/vendor/linuxcnc/tests/interp/sub-call-from-sub/test.ini"
|
||||
SEQUENCE_NUMBER_FIXTURE="$ROOT_DIR/vendor/linuxcnc/tests/interp/sequence-number/test.ngc"
|
||||
SEQUENCE_NUMBER_INI="$ROOT_DIR/vendor/linuxcnc/tests/interp/sequence-number/test.ini"
|
||||
NESTED_SUB_ERROR_FIXTURE="$ROOT_DIR/vendor/linuxcnc/tests/interp/nested-sub-error/test.ngc"
|
||||
NESTED_SUB_ERROR_INI="$ROOT_DIR/vendor/linuxcnc/tests/interp/nested-sub-error/test.ini"
|
||||
NESTED_SUB_IN_FILE_ERROR_FIXTURE="$ROOT_DIR/vendor/linuxcnc/tests/interp/nested-sub-in-file-error/test.ngc"
|
||||
NESTED_SUB_IN_FILE_ERROR_INI="$ROOT_DIR/vendor/linuxcnc/tests/interp/nested-sub-in-file-error/test.ini"
|
||||
OWORD_UNWIND_FIXTURE="$ROOT_DIR/vendor/linuxcnc/tests/interp/oword-unwind/test.ngc"
|
||||
OWORD_UNWIND_INI="$ROOT_DIR/vendor/linuxcnc/tests/interp/oword-unwind/test.ini"
|
||||
ABORT_HOT_COMMENT_FIXTURE="$ROOT_DIR/vendor/linuxcnc/tests/interp/abort-hot-comment/test.ngc"
|
||||
ABORT_HOT_COMMENT_INI="$ROOT_DIR/vendor/linuxcnc/tests/interp/abort-hot-comment/test.ini"
|
||||
M19_FIXTURE="$ROOT_DIR/vendor/linuxcnc/tests/interp/m19/test.ngc"
|
||||
M19_INI="$ROOT_DIR/vendor/linuxcnc/tests/interp/m19/test.ini"
|
||||
MAGIC_COMMENTS_PARAM_FORMAT_FIXTURE="$ROOT_DIR/vendor/linuxcnc/tests/interp/magic_comments/param_format_printing/test.ngc"
|
||||
M98M99_01_BASICS_FIXTURE="$ROOT_DIR/vendor/linuxcnc/tests/interp/m98m99/01-basics/test.ngc"
|
||||
M98M99_02_VARIABLES_FIXTURE="$ROOT_DIR/vendor/linuxcnc/tests/interp/m98m99/02-variables/test.ngc"
|
||||
M98M99_07_NESTED_SUBS_FIXTURE="$ROOT_DIR/vendor/linuxcnc/tests/interp/m98m99/07-nested-subs/test.ngc"
|
||||
M98M99_08_SUB_FOLLOWS_MAIN_FIXTURE="$ROOT_DIR/vendor/linuxcnc/tests/interp/m98m99/08-sub-follows-main/test.ngc"
|
||||
M98M99_10_M98_P001_FIXTURE="$ROOT_DIR/vendor/linuxcnc/tests/interp/m98m99/10-M98-P001/test.ngc"
|
||||
M98M99_13_NAMED_PROGRAM_NAMED_FIXTURE="$ROOT_DIR/vendor/linuxcnc/tests/interp/m98m99/13-named-program/test-named.ngc"
|
||||
M98M99_13_NAMED_PROGRAM_NUMBERED_FIXTURE="$ROOT_DIR/vendor/linuxcnc/tests/interp/m98m99/13-named-program/test-numbered.ngc"
|
||||
M98M99_14_O_EXPRESSION_CALL_FIXTURE="$ROOT_DIR/vendor/linuxcnc/tests/interp/m98m99/14-o-expression-call/test.ngc"
|
||||
SIM_AXIS_FOAM_FIXTURE="$ROOT_DIR/../linuxcnc/configs/sim/axis/foam/foam.ngc"
|
||||
SIM_AXIS_FOAM_INI="$ROOT_DIR/../linuxcnc/configs/sim/axis/foam/axis_foam.ini"
|
||||
SIM_BRIDGEMILL_FIXTURE="$ROOT_DIR/../linuxcnc/configs/sim/axis/vismach/5axis/bridgemill/5axisgui.ngc"
|
||||
SIM_BRIDGEMILL_INI="$ROOT_DIR/../linuxcnc/configs/sim/axis/vismach/5axis/bridgemill/5axis.ini"
|
||||
SIM_GEOMETRY_XYZC_FIXTURE="$ROOT_DIR/../linuxcnc/configs/sim/axis/geometry/xyzc.ngc"
|
||||
SIM_GEOMETRY_XYZC_INI="$ROOT_DIR/../linuxcnc/configs/sim/axis/geometry/xyzc.ini"
|
||||
SIM_EXTERNAL_OFFSETS_DYN_FIXTURE="$ROOT_DIR/../linuxcnc/configs/sim/axis/external_offsets/dyn_demo.ngc"
|
||||
SIM_EXTERNAL_OFFSETS_DYN_INI="$ROOT_DIR/../linuxcnc/configs/sim/axis/external_offsets/dynamic_offsets.ini"
|
||||
NAMEDPARAM_INI_FIXTURE="$ROOT_DIR/tests/fixtures/ini/namedparams.ini"
|
||||
CXX="${CXX:-g++}"
|
||||
CC="${CC:-gcc}"
|
||||
CACHE_KEY_FILE="$BUILD_DIR/native-probes.input.sha256"
|
||||
CACHE_OK_FILE="$BUILD_DIR/native-probes.ok"
|
||||
CACHE_OUTPUT_MANIFEST="$BUILD_DIR/native-probes.outputs"
|
||||
NATIVE_PROBE_RUN_TIMEOUT_SECONDS="${NATIVE_PROBE_RUN_TIMEOUT_SECONDS:-60}"
|
||||
|
||||
mkdir -p "$BUILD_DIR"
|
||||
|
||||
hash_tree() {
|
||||
find "$@" -type f -print0 | sort -z | xargs -0 -r sha256sum
|
||||
}
|
||||
|
||||
native_input_fingerprint() {
|
||||
{
|
||||
printf 'CXX=%s\n' "$CXX"
|
||||
"$CXX" --version 2>/dev/null | sed -n '1p' || true
|
||||
printf 'CC=%s\n' "$CC"
|
||||
"$CC" --version 2>/dev/null | sed -n '1p' || true
|
||||
sha256sum \
|
||||
"$ROOT_DIR/tools/build_native_probes.sh" \
|
||||
"$ROOT_DIR/tools/source-manifest.txt"
|
||||
hash_tree \
|
||||
"$VENDOR_DIR" \
|
||||
"$WRAP_DIR" \
|
||||
"$SHIM_DIR" \
|
||||
"$INCLUDE_DIR" \
|
||||
"$ROOT_DIR/tests/fixtures"
|
||||
} | sha256sum | awk '{ print $1 }'
|
||||
}
|
||||
|
||||
cached_native_outputs_exist() {
|
||||
[[ -f "$CACHE_OUTPUT_MANIFEST" ]] || return 1
|
||||
[[ -s "$SOURCE_PROBE_MAP" ]] || return 1
|
||||
|
||||
local file
|
||||
while IFS= read -r file; do
|
||||
[[ -z "$file" ]] && continue
|
||||
[[ -f "$file" ]] || return 1
|
||||
done < "$CACHE_OUTPUT_MANIFEST"
|
||||
}
|
||||
|
||||
write_native_cache_stamp() {
|
||||
local key="$1"
|
||||
printf '%s\n' "$key" > "$CACHE_KEY_FILE"
|
||||
find "$BUILD_DIR" -maxdepth 1 -type f \
|
||||
! -name 'native-probes.input.sha256' \
|
||||
! -name 'native-probes.ok' \
|
||||
! -name 'native-probes.outputs' \
|
||||
-print | sort > "$CACHE_OUTPUT_MANIFEST"
|
||||
printf '%s\n' "$key" > "$CACHE_OK_FILE"
|
||||
}
|
||||
|
||||
NATIVE_INPUT_FINGERPRINT="$(native_input_fingerprint)"
|
||||
if [[ -f "$CACHE_KEY_FILE" && -f "$CACHE_OK_FILE" ]] &&
|
||||
[[ "$(tr -d '[:space:]' < "$CACHE_KEY_FILE")" == "$NATIVE_INPUT_FINGERPRINT" ]] &&
|
||||
[[ "$(tr -d '[:space:]' < "$CACHE_OK_FILE")" == "$NATIVE_INPUT_FINGERPRINT" ]] &&
|
||||
cached_native_outputs_exist; then
|
||||
echo "native probes up to date"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
: > "$SOURCE_PROBE_MAP"
|
||||
|
||||
COMMON_FLAGS=(
|
||||
@@ -145,6 +250,21 @@ object_needs_rebuild() {
|
||||
return 1
|
||||
}
|
||||
|
||||
shared_object_path() {
|
||||
local source="$1"
|
||||
shift
|
||||
|
||||
local base key
|
||||
base="$(basename "$source")"
|
||||
key="$(
|
||||
{
|
||||
printf 'source=%q\n' "$source"
|
||||
printf 'arg=%q\n' "$@"
|
||||
} | sha256sum | awk '{ print $1 }'
|
||||
)"
|
||||
printf '%s/obj/shared/%s-%s.o\n' "$BUILD_DIR" "${base%.*}" "$key"
|
||||
}
|
||||
|
||||
compile_object() {
|
||||
local target="$1"
|
||||
local source="$2"
|
||||
@@ -255,15 +375,13 @@ compile_target_objects() {
|
||||
local -n flags="$flags_name"
|
||||
local -n sources="$sources_name"
|
||||
local -n objs="$objs_name"
|
||||
local obj_dir="$BUILD_DIR/obj/$target"
|
||||
local status=0
|
||||
|
||||
objs=()
|
||||
local source
|
||||
for source in "${sources[@]}"; do
|
||||
local base
|
||||
base="$(basename "$source")"
|
||||
local obj="$obj_dir/${base%.*}.o"
|
||||
local obj
|
||||
obj="$(shared_object_path "$source" "${flags[@]}")"
|
||||
objs+=("$obj")
|
||||
if ! compile_object "$target" "$source" "$obj" "${flags[@]}"; then
|
||||
status=1
|
||||
@@ -347,6 +465,65 @@ build_c_object_target() {
|
||||
return "$status"
|
||||
}
|
||||
|
||||
run_command_needs_update() {
|
||||
local exitfile="$1"
|
||||
local stdout_log="$2"
|
||||
local stderr_log="$3"
|
||||
local cmdfile="$4"
|
||||
shift 4
|
||||
|
||||
[[ -f "$exitfile" && -f "$stdout_log" && -f "$stderr_log" ]] || return 0
|
||||
command_matches "$cmdfile" "$@" || return 0
|
||||
|
||||
local arg
|
||||
for arg in "$@"; do
|
||||
if [[ -f "$arg" && "$arg" -nt "$exitfile" ]]; then
|
||||
return 0
|
||||
fi
|
||||
done
|
||||
|
||||
return 1
|
||||
}
|
||||
|
||||
run_logged_command() {
|
||||
local label="$1"
|
||||
shift
|
||||
|
||||
local exitfile="$BUILD_DIR/$label.run.exitcode"
|
||||
local stdout_log="$BUILD_DIR/$label.run.stdout.log"
|
||||
local stderr_log="$BUILD_DIR/$label.run.stderr.log"
|
||||
local cmdfile="$BUILD_DIR/$label.run.cmd"
|
||||
|
||||
if ! run_command_needs_update "$exitfile" "$stdout_log" "$stderr_log" "$cmdfile" "$@"; then
|
||||
return 0
|
||||
fi
|
||||
|
||||
set +e
|
||||
if command -v timeout >/dev/null 2>&1; then
|
||||
timeout "$NATIVE_PROBE_RUN_TIMEOUT_SECONDS" "$@" >"$stdout_log" 2>"$stderr_log"
|
||||
else
|
||||
"$@" >"$stdout_log" 2>"$stderr_log"
|
||||
fi
|
||||
local run_rc=$?
|
||||
set -e
|
||||
|
||||
if [[ "$run_rc" == "124" ]]; then
|
||||
printf 'run timed out after %s seconds\n' "$NATIVE_PROBE_RUN_TIMEOUT_SECONDS" >>"$stderr_log"
|
||||
fi
|
||||
|
||||
write_command_file "$cmdfile" "$@"
|
||||
echo "$run_rc" > "$exitfile"
|
||||
}
|
||||
|
||||
clear_logged_command() {
|
||||
local label="$1"
|
||||
rm -f \
|
||||
"$BUILD_DIR/$label.run.exitcode" \
|
||||
"$BUILD_DIR/$label.run.stdout.log" \
|
||||
"$BUILD_DIR/$label.run.stderr.log" \
|
||||
"$BUILD_DIR/$label.run.cmd"
|
||||
}
|
||||
|
||||
NO_LINK_FLAGS=()
|
||||
|
||||
INI_PROBE_SOURCES=(
|
||||
@@ -636,6 +813,7 @@ INTERP_CORE_SOURCES=(
|
||||
"$WRAP_DIR/linuxcnc_hal_adapter.cpp"
|
||||
"$WRAP_DIR/linuxcnc_emc_status_runtime.cpp"
|
||||
"$WRAP_DIR/linuxcnc_interp_edge_stubs.cpp"
|
||||
"$WRAP_DIR/linuxcnc_machine_config.cpp"
|
||||
"$WRAP_DIR/linuxcnc_runtime_state_stubs.cpp"
|
||||
"$WRAP_DIR/linuxcnc_tool_adapter.cpp"
|
||||
"$WRAP_DIR/linuxcnc_interp_minimal_runtime.cpp"
|
||||
@@ -690,6 +868,7 @@ REMAP_RUNTIME_CORE_SOURCES=(
|
||||
"$WRAP_DIR/linuxcnc_hal_adapter.cpp"
|
||||
"$WRAP_DIR/linuxcnc_emc_status_runtime.cpp"
|
||||
"$WRAP_DIR/linuxcnc_interp_python_edge_stubs.cpp"
|
||||
"$WRAP_DIR/linuxcnc_machine_config.cpp"
|
||||
"$WRAP_DIR/linuxcnc_runtime_state_stubs.cpp"
|
||||
"$WRAP_DIR/linuxcnc_tool_adapter.cpp"
|
||||
"$WRAP_DIR/linuxcnc_interp_minimal_runtime.cpp"
|
||||
@@ -711,6 +890,31 @@ FIVEAXIS_REMAP_EXECUTE_SOURCES=(
|
||||
"$WRAP_DIR/linuxcnc_5axis_remap_execute_harness.cpp"
|
||||
)
|
||||
|
||||
DUPLICATE_OWORD_REMAP_SOURCES=(
|
||||
"${REMAP_RUNTIME_CORE_SOURCES[@]}"
|
||||
"$WRAP_DIR/linuxcnc_duplicate_oword_remap_harness.cpp"
|
||||
)
|
||||
|
||||
if [[ "${NATIVE_PROBE_ONLY:-}" == "linuxcnc_duplicate_oword_remap_harness" ]]; then
|
||||
build_binary_target \
|
||||
linuxcnc_duplicate_oword_remap_harness \
|
||||
"$BUILD_DIR/linuxcnc_duplicate_oword_remap_harness" \
|
||||
REMAP_RUNTIME_FLAGS \
|
||||
DUPLICATE_OWORD_REMAP_SOURCES \
|
||||
MINIMAL_LINK_FLAGS
|
||||
|
||||
if [[ "$(tr -d '[:space:]' < "$BUILD_DIR/linuxcnc_duplicate_oword_remap_harness.exitcode")" == "0" ]]; then
|
||||
run_logged_command \
|
||||
linuxcnc_duplicate_oword_remap_harness \
|
||||
"$BUILD_DIR/linuxcnc_duplicate_oword_remap_harness"
|
||||
else
|
||||
clear_logged_command linuxcnc_duplicate_oword_remap_harness
|
||||
fi
|
||||
|
||||
echo "native probe target complete: linuxcnc_duplicate_oword_remap_harness"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
build_binary_target \
|
||||
linuxcnc_ini_probe \
|
||||
"$BUILD_DIR/linuxcnc_ini_probe" \
|
||||
@@ -1190,18 +1394,11 @@ build_binary_target \
|
||||
-lfmt
|
||||
|
||||
if [[ "$(tr -d '[:space:]' < "$BUILD_DIR/linuxcnc_namedparam_harness.exitcode")" == "0" ]]; then
|
||||
set +e
|
||||
"$BUILD_DIR/linuxcnc_namedparam_harness" "$NAMEDPARAM_INI_FIXTURE" \
|
||||
>"$BUILD_DIR/linuxcnc_namedparam_harness.run.stdout.log" \
|
||||
2>"$BUILD_DIR/linuxcnc_namedparam_harness.run.stderr.log"
|
||||
NAMEDPARAM_RUN_RC=$?
|
||||
set -e
|
||||
echo "$NAMEDPARAM_RUN_RC" > "$BUILD_DIR/linuxcnc_namedparam_harness.run.exitcode"
|
||||
run_logged_command \
|
||||
linuxcnc_namedparam_harness \
|
||||
"$BUILD_DIR/linuxcnc_namedparam_harness" "$NAMEDPARAM_INI_FIXTURE"
|
||||
else
|
||||
rm -f \
|
||||
"$BUILD_DIR/linuxcnc_namedparam_harness.run.exitcode" \
|
||||
"$BUILD_DIR/linuxcnc_namedparam_harness.run.stdout.log" \
|
||||
"$BUILD_DIR/linuxcnc_namedparam_harness.run.stderr.log"
|
||||
clear_logged_command linuxcnc_namedparam_harness
|
||||
fi
|
||||
|
||||
build_binary_target \
|
||||
@@ -1213,20 +1410,90 @@ build_binary_target \
|
||||
-lfmt
|
||||
|
||||
if [[ "$(tr -d '[:space:]' < "$BUILD_DIR/linuxcnc_interp_minimal_harness.exitcode")" == "0" ]]; then
|
||||
set +e
|
||||
"$BUILD_DIR/linuxcnc_interp_minimal_harness" "$MINIMAL_GCODE_FIXTURE" \
|
||||
>"$BUILD_DIR/linuxcnc_interp_minimal_harness.run.stdout.log" \
|
||||
2>"$BUILD_DIR/linuxcnc_interp_minimal_harness.run.stderr.log"
|
||||
INTERP_MIN_RUN_RC=$?
|
||||
set -e
|
||||
echo "$INTERP_MIN_RUN_RC" > "$BUILD_DIR/linuxcnc_interp_minimal_harness.run.exitcode"
|
||||
run_logged_command \
|
||||
linuxcnc_interp_minimal_harness \
|
||||
"$BUILD_DIR/linuxcnc_interp_minimal_harness" "$MINIMAL_GCODE_FIXTURE"
|
||||
else
|
||||
rm -f \
|
||||
"$BUILD_DIR/linuxcnc_interp_minimal_harness.run.exitcode" \
|
||||
"$BUILD_DIR/linuxcnc_interp_minimal_harness.run.stdout.log" \
|
||||
"$BUILD_DIR/linuxcnc_interp_minimal_harness.run.stderr.log"
|
||||
clear_logged_command linuxcnc_interp_minimal_harness
|
||||
fi
|
||||
|
||||
if [[ "$(tr -d '[:space:]' < "$BUILD_DIR/linuxcnc_interp_minimal_harness.exitcode")" == "0" ]]; then
|
||||
run_logged_command \
|
||||
linuxcnc_interp_minimal_harness.do_while_break \
|
||||
"$BUILD_DIR/linuxcnc_interp_minimal_harness" "$DO_WHILE_BREAK_FIXTURE"
|
||||
else
|
||||
clear_logged_command linuxcnc_interp_minimal_harness.do_while_break
|
||||
fi
|
||||
|
||||
if [[ "$(tr -d '[:space:]' < "$BUILD_DIR/linuxcnc_interp_minimal_harness.exitcode")" == "0" ]]; then
|
||||
run_logged_command \
|
||||
linuxcnc_interp_minimal_harness.oword_bug315 \
|
||||
"$BUILD_DIR/linuxcnc_interp_minimal_harness" "$OWORD_BUG315_FIXTURE"
|
||||
else
|
||||
clear_logged_command linuxcnc_interp_minimal_harness.oword_bug315
|
||||
fi
|
||||
|
||||
if [[ "$(tr -d '[:space:]' < "$BUILD_DIR/linuxcnc_interp_minimal_harness.exitcode")" == "0" ]]; then
|
||||
run_logged_command \
|
||||
linuxcnc_interp_minimal_harness.oword_bug315_p2 \
|
||||
"$BUILD_DIR/linuxcnc_interp_minimal_harness" "$OWORD_BUG315_P2_FIXTURE"
|
||||
else
|
||||
clear_logged_command linuxcnc_interp_minimal_harness.oword_bug315_p2
|
||||
fi
|
||||
|
||||
run_interp_minimal_fixture() {
|
||||
local label="$1"
|
||||
local fixture="$2"
|
||||
local ini="${3:-}"
|
||||
local mode="${4:-}"
|
||||
|
||||
if [[ "$(tr -d '[:space:]' < "$BUILD_DIR/linuxcnc_interp_minimal_harness.exitcode")" == "0" ]]; then
|
||||
if [[ "$mode" == "continue_on_error" ]]; then
|
||||
run_logged_command \
|
||||
"linuxcnc_interp_minimal_harness.$label" \
|
||||
"$BUILD_DIR/linuxcnc_interp_minimal_harness" --continue-on-error "$fixture" "$ini"
|
||||
else
|
||||
run_logged_command \
|
||||
"linuxcnc_interp_minimal_harness.$label" \
|
||||
"$BUILD_DIR/linuxcnc_interp_minimal_harness" "$fixture" "$ini"
|
||||
fi
|
||||
else
|
||||
clear_logged_command "linuxcnc_interp_minimal_harness.$label"
|
||||
fi
|
||||
}
|
||||
|
||||
run_interp_minimal_fixture interp_exists "$EXISTS_FIXTURE"
|
||||
run_interp_minimal_fixture return_value "$RETURN_VALUE_FIXTURE"
|
||||
run_interp_minimal_fixture subs_follow_main "$SUBS_FOLLOW_MAIN_FIXTURE"
|
||||
run_interp_minimal_fixture fractional_linenumbers "$FRACTIONAL_LINENUMBERS_FIXTURE"
|
||||
run_interp_minimal_fixture namedparam_bug424 "$NAMEDPARAM_BUG424_FIXTURE"
|
||||
run_interp_minimal_fixture g6164 "$G6164_FIXTURE"
|
||||
run_interp_minimal_fixture rotation_abs_pts "$ROTATION_ABS_PTS_FIXTURE"
|
||||
run_interp_minimal_fixture rotation_g28 "$ROTATION_G28_FIXTURE"
|
||||
run_interp_minimal_fixture rotation_g53 "$ROTATION_G53_FIXTURE"
|
||||
run_interp_minimal_fixture iniparam "$INIPARAM_FIXTURE" "$INIPARAM_INI" continue_on_error
|
||||
run_interp_minimal_fixture iniparam_failassign "$INIPARAM_FAILASSIGN_FIXTURE" "$INIPARAM_FAILASSIGN_INI"
|
||||
run_interp_minimal_fixture sub_call_from_sub "$SUB_CALL_FROM_SUB_FIXTURE" "$SUB_CALL_FROM_SUB_INI"
|
||||
run_interp_minimal_fixture sequence_number "$SEQUENCE_NUMBER_FIXTURE" "$SEQUENCE_NUMBER_INI"
|
||||
run_interp_minimal_fixture nested_sub_error "$NESTED_SUB_ERROR_FIXTURE" "$NESTED_SUB_ERROR_INI"
|
||||
run_interp_minimal_fixture nested_sub_in_file_error "$NESTED_SUB_IN_FILE_ERROR_FIXTURE" "$NESTED_SUB_IN_FILE_ERROR_INI"
|
||||
run_interp_minimal_fixture oword_unwind "$OWORD_UNWIND_FIXTURE" "$OWORD_UNWIND_INI" continue_on_error
|
||||
run_interp_minimal_fixture abort_hot_comment "$ABORT_HOT_COMMENT_FIXTURE" "$ABORT_HOT_COMMENT_INI" continue_on_error
|
||||
run_interp_minimal_fixture m19 "$M19_FIXTURE" "$M19_INI"
|
||||
run_interp_minimal_fixture magic_comments_param_format "$MAGIC_COMMENTS_PARAM_FORMAT_FIXTURE"
|
||||
run_interp_minimal_fixture m98m99_01_basics "$M98M99_01_BASICS_FIXTURE"
|
||||
run_interp_minimal_fixture m98m99_02_variables "$M98M99_02_VARIABLES_FIXTURE"
|
||||
run_interp_minimal_fixture m98m99_07_nested_subs "$M98M99_07_NESTED_SUBS_FIXTURE"
|
||||
run_interp_minimal_fixture m98m99_08_sub_follows_main "$M98M99_08_SUB_FOLLOWS_MAIN_FIXTURE"
|
||||
run_interp_minimal_fixture m98m99_10_m98_p001 "$M98M99_10_M98_P001_FIXTURE"
|
||||
run_interp_minimal_fixture m98m99_13_named_program_named "$M98M99_13_NAMED_PROGRAM_NAMED_FIXTURE"
|
||||
run_interp_minimal_fixture m98m99_13_named_program_numbered "$M98M99_13_NAMED_PROGRAM_NUMBERED_FIXTURE"
|
||||
run_interp_minimal_fixture m98m99_14_o_expression_call "$M98M99_14_O_EXPRESSION_CALL_FIXTURE"
|
||||
run_interp_minimal_fixture sim_axis_foam "$SIM_AXIS_FOAM_FIXTURE" "$SIM_AXIS_FOAM_INI" continue_on_error
|
||||
run_interp_minimal_fixture sim_bridgemill "$SIM_BRIDGEMILL_FIXTURE" "$SIM_BRIDGEMILL_INI" continue_on_error
|
||||
run_interp_minimal_fixture sim_geometry_xyzc "$SIM_GEOMETRY_XYZC_FIXTURE" "$SIM_GEOMETRY_XYZC_INI" continue_on_error
|
||||
run_interp_minimal_fixture sim_external_offsets_dyn "$SIM_EXTERNAL_OFFSETS_DYN_FIXTURE" "$SIM_EXTERNAL_OFFSETS_DYN_INI" continue_on_error
|
||||
|
||||
build_binary_target \
|
||||
linuxcnc_parameter_file_harness \
|
||||
"$BUILD_DIR/linuxcnc_parameter_file_harness" \
|
||||
@@ -1236,18 +1503,11 @@ build_binary_target \
|
||||
-lfmt
|
||||
|
||||
if [[ "$(tr -d '[:space:]' < "$BUILD_DIR/linuxcnc_parameter_file_harness.exitcode")" == "0" ]]; then
|
||||
set +e
|
||||
"$BUILD_DIR/linuxcnc_parameter_file_harness" \
|
||||
>"$BUILD_DIR/linuxcnc_parameter_file_harness.run.stdout.log" \
|
||||
2>"$BUILD_DIR/linuxcnc_parameter_file_harness.run.stderr.log"
|
||||
PARAMETER_FILE_RUN_RC=$?
|
||||
set -e
|
||||
echo "$PARAMETER_FILE_RUN_RC" > "$BUILD_DIR/linuxcnc_parameter_file_harness.run.exitcode"
|
||||
run_logged_command \
|
||||
linuxcnc_parameter_file_harness \
|
||||
"$BUILD_DIR/linuxcnc_parameter_file_harness"
|
||||
else
|
||||
rm -f \
|
||||
"$BUILD_DIR/linuxcnc_parameter_file_harness.run.exitcode" \
|
||||
"$BUILD_DIR/linuxcnc_parameter_file_harness.run.stdout.log" \
|
||||
"$BUILD_DIR/linuxcnc_parameter_file_harness.run.stderr.log"
|
||||
clear_logged_command linuxcnc_parameter_file_harness
|
||||
fi
|
||||
|
||||
build_binary_target \
|
||||
@@ -1259,18 +1519,11 @@ build_binary_target \
|
||||
-lfmt
|
||||
|
||||
if [[ "$(tr -d '[:space:]' < "$BUILD_DIR/linuxcnc_interp_init_harness.exitcode")" == "0" ]]; then
|
||||
set +e
|
||||
"$BUILD_DIR/linuxcnc_interp_init_harness" \
|
||||
>"$BUILD_DIR/linuxcnc_interp_init_harness.run.stdout.log" \
|
||||
2>"$BUILD_DIR/linuxcnc_interp_init_harness.run.stderr.log"
|
||||
INTERP_INIT_RUN_RC=$?
|
||||
set -e
|
||||
echo "$INTERP_INIT_RUN_RC" > "$BUILD_DIR/linuxcnc_interp_init_harness.run.exitcode"
|
||||
run_logged_command \
|
||||
linuxcnc_interp_init_harness \
|
||||
"$BUILD_DIR/linuxcnc_interp_init_harness"
|
||||
else
|
||||
rm -f \
|
||||
"$BUILD_DIR/linuxcnc_interp_init_harness.run.exitcode" \
|
||||
"$BUILD_DIR/linuxcnc_interp_init_harness.run.stdout.log" \
|
||||
"$BUILD_DIR/linuxcnc_interp_init_harness.run.stderr.log"
|
||||
clear_logged_command linuxcnc_interp_init_harness
|
||||
fi
|
||||
|
||||
build_binary_target \
|
||||
@@ -1282,18 +1535,11 @@ build_binary_target \
|
||||
-lfmt
|
||||
|
||||
if [[ "$(tr -d '[:space:]' < "$BUILD_DIR/linuxcnc_remap_parse_harness.exitcode")" == "0" ]]; then
|
||||
set +e
|
||||
"$BUILD_DIR/linuxcnc_remap_parse_harness" \
|
||||
>"$BUILD_DIR/linuxcnc_remap_parse_harness.run.stdout.log" \
|
||||
2>"$BUILD_DIR/linuxcnc_remap_parse_harness.run.stderr.log"
|
||||
REMAP_PARSE_RUN_RC=$?
|
||||
set -e
|
||||
echo "$REMAP_PARSE_RUN_RC" > "$BUILD_DIR/linuxcnc_remap_parse_harness.run.exitcode"
|
||||
run_logged_command \
|
||||
linuxcnc_remap_parse_harness \
|
||||
"$BUILD_DIR/linuxcnc_remap_parse_harness"
|
||||
else
|
||||
rm -f \
|
||||
"$BUILD_DIR/linuxcnc_remap_parse_harness.run.exitcode" \
|
||||
"$BUILD_DIR/linuxcnc_remap_parse_harness.run.stdout.log" \
|
||||
"$BUILD_DIR/linuxcnc_remap_parse_harness.run.stderr.log"
|
||||
clear_logged_command linuxcnc_remap_parse_harness
|
||||
fi
|
||||
|
||||
build_binary_target \
|
||||
@@ -1304,18 +1550,11 @@ build_binary_target \
|
||||
MINIMAL_LINK_FLAGS
|
||||
|
||||
if [[ "$(tr -d '[:space:]' < "$BUILD_DIR/linuxcnc_remap_hal_sync_harness.exitcode")" == "0" ]]; then
|
||||
set +e
|
||||
"$BUILD_DIR/linuxcnc_remap_hal_sync_harness" \
|
||||
>"$BUILD_DIR/linuxcnc_remap_hal_sync_harness.run.stdout.log" \
|
||||
2>"$BUILD_DIR/linuxcnc_remap_hal_sync_harness.run.stderr.log"
|
||||
REMAP_HAL_SYNC_RUN_RC=$?
|
||||
set -e
|
||||
echo "$REMAP_HAL_SYNC_RUN_RC" > "$BUILD_DIR/linuxcnc_remap_hal_sync_harness.run.exitcode"
|
||||
run_logged_command \
|
||||
linuxcnc_remap_hal_sync_harness \
|
||||
"$BUILD_DIR/linuxcnc_remap_hal_sync_harness"
|
||||
else
|
||||
rm -f \
|
||||
"$BUILD_DIR/linuxcnc_remap_hal_sync_harness.run.exitcode" \
|
||||
"$BUILD_DIR/linuxcnc_remap_hal_sync_harness.run.stdout.log" \
|
||||
"$BUILD_DIR/linuxcnc_remap_hal_sync_harness.run.stderr.log"
|
||||
clear_logged_command linuxcnc_remap_hal_sync_harness
|
||||
fi
|
||||
|
||||
build_binary_target \
|
||||
@@ -1326,18 +1565,26 @@ build_binary_target \
|
||||
MINIMAL_LINK_FLAGS
|
||||
|
||||
if [[ "$(tr -d '[:space:]' < "$BUILD_DIR/linuxcnc_5axis_remap_execute_harness.exitcode")" == "0" ]]; then
|
||||
set +e
|
||||
"$BUILD_DIR/linuxcnc_5axis_remap_execute_harness" \
|
||||
>"$BUILD_DIR/linuxcnc_5axis_remap_execute_harness.run.stdout.log" \
|
||||
2>"$BUILD_DIR/linuxcnc_5axis_remap_execute_harness.run.stderr.log"
|
||||
FIVEAXIS_REMAP_EXECUTE_RUN_RC=$?
|
||||
set -e
|
||||
echo "$FIVEAXIS_REMAP_EXECUTE_RUN_RC" > "$BUILD_DIR/linuxcnc_5axis_remap_execute_harness.run.exitcode"
|
||||
run_logged_command \
|
||||
linuxcnc_5axis_remap_execute_harness \
|
||||
"$BUILD_DIR/linuxcnc_5axis_remap_execute_harness"
|
||||
else
|
||||
rm -f \
|
||||
"$BUILD_DIR/linuxcnc_5axis_remap_execute_harness.run.exitcode" \
|
||||
"$BUILD_DIR/linuxcnc_5axis_remap_execute_harness.run.stdout.log" \
|
||||
"$BUILD_DIR/linuxcnc_5axis_remap_execute_harness.run.stderr.log"
|
||||
clear_logged_command linuxcnc_5axis_remap_execute_harness
|
||||
fi
|
||||
|
||||
build_binary_target \
|
||||
linuxcnc_duplicate_oword_remap_harness \
|
||||
"$BUILD_DIR/linuxcnc_duplicate_oword_remap_harness" \
|
||||
REMAP_RUNTIME_FLAGS \
|
||||
DUPLICATE_OWORD_REMAP_SOURCES \
|
||||
MINIMAL_LINK_FLAGS
|
||||
|
||||
if [[ "$(tr -d '[:space:]' < "$BUILD_DIR/linuxcnc_duplicate_oword_remap_harness.exitcode")" == "0" ]]; then
|
||||
run_logged_command \
|
||||
linuxcnc_duplicate_oword_remap_harness \
|
||||
"$BUILD_DIR/linuxcnc_duplicate_oword_remap_harness"
|
||||
else
|
||||
clear_logged_command linuxcnc_duplicate_oword_remap_harness
|
||||
fi
|
||||
|
||||
build_binary_target \
|
||||
@@ -1349,18 +1596,11 @@ build_binary_target \
|
||||
-lfmt
|
||||
|
||||
if [[ "$(tr -d '[:space:]' < "$BUILD_DIR/linuxcnc_indexer_harness.exitcode")" == "0" ]]; then
|
||||
set +e
|
||||
"$BUILD_DIR/linuxcnc_indexer_harness" \
|
||||
>"$BUILD_DIR/linuxcnc_indexer_harness.run.stdout.log" \
|
||||
2>"$BUILD_DIR/linuxcnc_indexer_harness.run.stderr.log"
|
||||
INDEXER_RUN_RC=$?
|
||||
set -e
|
||||
echo "$INDEXER_RUN_RC" > "$BUILD_DIR/linuxcnc_indexer_harness.run.exitcode"
|
||||
run_logged_command \
|
||||
linuxcnc_indexer_harness \
|
||||
"$BUILD_DIR/linuxcnc_indexer_harness"
|
||||
else
|
||||
rm -f \
|
||||
"$BUILD_DIR/linuxcnc_indexer_harness.run.exitcode" \
|
||||
"$BUILD_DIR/linuxcnc_indexer_harness.run.stdout.log" \
|
||||
"$BUILD_DIR/linuxcnc_indexer_harness.run.stderr.log"
|
||||
clear_logged_command linuxcnc_indexer_harness
|
||||
fi
|
||||
|
||||
build_object_target \
|
||||
@@ -1639,4 +1879,5 @@ build_object_target \
|
||||
"$VENDOR_DIR/src/emc/tooldata/tooldata_common.cc" \
|
||||
MINIMAL_FLAGS
|
||||
|
||||
write_native_cache_stamp "$NATIVE_INPUT_FINGERPRINT"
|
||||
echo "native probes complete"
|
||||
|
||||
Reference in New Issue
Block a user