27 lines
838 B
Bash
Executable File
27 lines
838 B
Bash
Executable File
#!/bin/sh
|
|
# Создаёт HDD с отдельной матрицей отказов банкового copy-job.
|
|
|
|
set -eu
|
|
: "${SPRINTER_ROOT:?задайте SPRINTER_ROOT для упаковки HDD}"
|
|
|
|
PROJECT_DIR=$(CDPATH= cd -- "$(dirname -- "$0")/.." && pwd)
|
|
DEFAULT_IMAGE="$PROJECT_DIR/build/hdd/p5_copy_faults.chd"
|
|
IMAGE=${1:-$DEFAULT_IMAGE}
|
|
EXECUTABLE=${2:-$PROJECT_DIR/build/tests/cperr.exe}
|
|
TEMP_DIR=$(mktemp -d "${TMPDIR:-/tmp}/sprcmd-copy-faults.XXXXXX")
|
|
FIXTURE_ROOT="$TEMP_DIR/P5COPY"
|
|
|
|
cleanup()
|
|
{
|
|
rm -rf -- "$TEMP_DIR"
|
|
}
|
|
trap cleanup EXIT HUP INT TERM
|
|
|
|
mkdir -p "$(dirname -- "$IMAGE")"
|
|
python3 "$PROJECT_DIR/tests/p5_copy_faults_fixture.py" create "$FIXTURE_ROOT"
|
|
|
|
"$SPRINTER_ROOT/toolchain/make_hdd.sh" "$IMAGE" \
|
|
"$EXECUTABLE" "$FIXTURE_ROOT/SOURCE" "$FIXTURE_ROOT/TARGET"
|
|
|
|
echo "P5 copy-fault HDD ready: $IMAGE"
|