按规划持续工作
This commit is contained in:
@@ -7,6 +7,9 @@ GCODE_FIXTURE_DIR="$ROOT_DIR/tests/fixtures/gcode"
|
||||
CANON_FIXTURE_DIR="$ROOT_DIR/tests/fixtures/canon"
|
||||
GCODE_ERROR_FIXTURE_DIR="$ROOT_DIR/tests/fixtures/gcode_errors"
|
||||
CANON_ERROR_FIXTURE_DIR="$ROOT_DIR/tests/fixtures/canon_errors"
|
||||
BUILD_DIR="$ROOT_DIR/build/native"
|
||||
CACHE_KEY_FILE="$BUILD_DIR/native-linuxcnc-fixture-baseline.input.sha256"
|
||||
CACHE_OK_FILE="$BUILD_DIR/native-linuxcnc-fixture-baseline.ok"
|
||||
|
||||
FIXTURES=(
|
||||
minimal_linear
|
||||
@@ -56,6 +59,35 @@ if [[ ! -x "$UPSTREAM_RS274" ]]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
mkdir -p "$BUILD_DIR"
|
||||
|
||||
hash_tree() {
|
||||
find "$@" -type f -print0 | sort -z | xargs -0 -r sha256sum
|
||||
}
|
||||
|
||||
fixture_baseline_fingerprint() {
|
||||
{
|
||||
sha256sum \
|
||||
"$ROOT_DIR/tools/verify_native_linuxcnc_fixture_baseline.sh" \
|
||||
"$UPSTREAM_RS274"
|
||||
"$UPSTREAM_RS274" --version 2>/dev/null || true
|
||||
hash_tree \
|
||||
"$GCODE_FIXTURE_DIR" \
|
||||
"$CANON_FIXTURE_DIR" \
|
||||
"$GCODE_ERROR_FIXTURE_DIR" \
|
||||
"$CANON_ERROR_FIXTURE_DIR" \
|
||||
"$ROOT_DIR/tests/fixtures/ini"
|
||||
} | sha256sum | awk '{ print $1 }'
|
||||
}
|
||||
|
||||
FIXTURE_BASELINE_FINGERPRINT="$(fixture_baseline_fingerprint)"
|
||||
if [[ -f "$CACHE_KEY_FILE" && -f "$CACHE_OK_FILE" ]] &&
|
||||
[[ "$(tr -d '[:space:]' < "$CACHE_KEY_FILE")" == "$FIXTURE_BASELINE_FINGERPRINT" ]] &&
|
||||
[[ "$(tr -d '[:space:]' < "$CACHE_OK_FILE")" == "$FIXTURE_BASELINE_FINGERPRINT" ]]; then
|
||||
echo "native LinuxCNC fixture baseline up to date"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
TMP_DIR="$(mktemp -d)"
|
||||
trap 'rm -rf "$TMP_DIR"' EXIT
|
||||
TOOL_TABLE_BASELINE="$TMP_DIR/tool_table_setup.tbl"
|
||||
@@ -967,4 +999,6 @@ for name in "${ERROR_FIXTURES[@]}"; do
|
||||
done < "$expected_file"
|
||||
done
|
||||
|
||||
printf '%s\n' "$FIXTURE_BASELINE_FINGERPRINT" > "$CACHE_KEY_FILE"
|
||||
printf '%s\n' "$FIXTURE_BASELINE_FINGERPRINT" > "$CACHE_OK_FILE"
|
||||
echo "native LinuxCNC fixture baseline validation complete"
|
||||
|
||||
Reference in New Issue
Block a user