#!/bin/sh # Проверяет неизменность source после self-target guard. set -eu PROJECT_DIR=$(CDPATH= cd -- "$(dirname -- "$0")/.." && pwd) IMAGE=${1:-$PROJECT_DIR/build/hdd/p15_tree_self.chd} TEMP_DIR=$(mktemp -d "${TMPDIR:-/tmp}/sprcmd-tree-self-check.XXXXXX") RAW="$TEMP_DIR/p15_tree_self.raw" MTC="$TEMP_DIR/mtools.conf" EXTRACTED="$TEMP_DIR/extracted" cleanup() { rm -rf -- "$TEMP_DIR" } trap cleanup EXIT HUP INT TERM chdman extractraw -i "$IMAGE" -o "$RAW" -f >/dev/null printf 'drive z: file="%s" partition=1\n' "$RAW" > "$MTC" export MTOOLSRC="$MTC" MTOOLS_SKIP_CHECK=1 mkdir "$EXTRACTED" mcopy -s z:/SRC "$EXTRACTED/" python3 "$PROJECT_DIR/tests/p15_tree_self_fixture.py" verify "$EXTRACTED"