Files
Sprinter-SDCC/applications/Volkov/tests/make_p4_exec_hdd.sh
T

33 lines
1.0 KiB
Bash
Executable File

#!/bin/sh
# Создаёт отдельный HDD для EXEC/restore-теста P4.2.
set -eu
: "${SPRINTER_ROOT:?задайте SPRINTER_ROOT для упаковки HDD}"
PROJECT_DIR=$(CDPATH= cd -- "$(dirname -- "$0")/.." && pwd)
DEFAULT_IMAGE="$PROJECT_DIR/build/hdd/p4_exec.chd"
IMAGE=${1:-$DEFAULT_IMAGE}
COMMANDER=${2:-$PROJECT_DIR/build/sprcmd.exe}
CHILD=${3:-$PROJECT_DIR/tests/p4_exec_child/p4child.exe}
TEMP_DIR=$(mktemp -d "${TMPDIR:-/tmp}/sprcmd-exec.XXXXXX")
FIXTURE_ROOT="$TEMP_DIR/P4EXEC"
cleanup()
{
rm -rf -- "$TEMP_DIR"
}
trap cleanup EXIT HUP INT TERM
mkdir -p "$(dirname -- "$IMAGE")"
mkdir -p "$FIXTURE_ROOT/EXECLEFT" "$FIXTURE_ROOT/EXECRGHT"
cp "$CHILD" "$FIXTURE_ROOT/EXECLEFT/P4CHILD.EXE"
cp "$PROJECT_DIR/tests/p3_data/P3ROOT.TXT" \
"$FIXTURE_ROOT/EXECLEFT/BROKEN.EXE"
cp "$PROJECT_DIR/tests/p3_data/INNER.TXT" \
"$FIXTURE_ROOT/EXECLEFT/NOTE.TXT"
"$SPRINTER_ROOT/toolchain/make_hdd.sh" "$IMAGE" \
"$COMMANDER" "$FIXTURE_ROOT/EXECLEFT" "$FIXTURE_ROOT/EXECRGHT"
echo "P4 EXEC HDD ready: $IMAGE (D:, child: EXECLEFT/P4CHILD.EXE)"