Files
Sprinter-SDCC/applications/Volkov/tests/make_p5_enospc_hdd.sh
T
snark13 8e389c03f8 Volkov: добавить Sprinter Commander
Реализовать двухпанельный Commander от платформенного PoC до этапов P6-P20: EMM-каталог, сортировку и выбор, операции с файлами и деревьями, транзакционное копирование, метаданные, политику конфликтов и предварительную проверку свободного места.

Добавить проектную документацию, HDD/MAME-сценарии и проверенные артефакты. Расширить libc операцией bank_write_page, исправлением режима O_RDONLY и связанными регрессионными проверками.
2026-09-10 10:45:30 +03:00

28 lines
852 B
Bash
Executable File

#!/bin/sh
# Создаёт почти полный HDD для реальной ошибки записи ENOSPC.
set -eu
PROJECT_DIR=$(CDPATH= cd -- "$(dirname -- "$0")/.." && pwd)
DEFAULT_IMAGE="$PROJECT_DIR/build/hdd/p5_enospc.chd"
IMAGE=${1:-$DEFAULT_IMAGE}
EXECUTABLE=${2:-$PROJECT_DIR/build/sprcmd.exe}
TEMP_DIR=$(mktemp -d "${TMPDIR:-/tmp}/sprcmd-enospc.XXXXXX")
FIXTURE_ROOT="$TEMP_DIR/ENOSPC"
cleanup()
{
rm -rf -- "$TEMP_DIR"
}
trap cleanup EXIT HUP INT TERM
mkdir -p "$(dirname -- "$IMAGE")"
python3 "$PROJECT_DIR/tests/p5_enospc_fixture.py" create "$FIXTURE_ROOT"
python3 "$PROJECT_DIR/tests/p5_enospc_fixture.py" verify-initial "$FIXTURE_ROOT"
"$PROJECT_DIR/../../toolchain/make_hdd.sh" "$IMAGE" \
"$EXECUTABLE" "$FIXTURE_ROOT/SOURCE" "$FIXTURE_ROOT/TARGET" \
"$FIXTURE_ROOT/FILLER.BIN"
echo "P5 ENOSPC HDD ready: $IMAGE"