Add bats test suite for image processing scripts
Tests cover skip-already-processed logic, cleanup, idempotency, and the config.sh single-source-of-truth invariant. bats-core, bats-assert, and bats-support added as submodules under tests/libs/.
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
REPO_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
|
||||
FIXTURES="$REPO_ROOT/tests/fixtures"
|
||||
MOCKS="$REPO_ROOT/tests/mocks"
|
||||
|
||||
setup_mock_env() {
|
||||
# Redirect ~/Applications/magick to our mock by overriding HOME
|
||||
TEST_HOME="$(mktemp -d)"
|
||||
mkdir -p "$TEST_HOME/Applications"
|
||||
ln -s "$MOCKS/magick" "$TEST_HOME/Applications/magick"
|
||||
export HOME="$TEST_HOME"
|
||||
|
||||
# Working dir for each test
|
||||
TEST_WORKDIR="$(mktemp -d)"
|
||||
}
|
||||
|
||||
teardown_mock_env() {
|
||||
rm -rf "$TEST_HOME" "$TEST_WORKDIR"
|
||||
}
|
||||
|
||||
make_zip() {
|
||||
local zip_path="$1"; shift # destination zip path
|
||||
local -a jpegs=("$@") # JPEG files to include
|
||||
local tmpdir
|
||||
tmpdir="$(mktemp -d)"
|
||||
for jpg in "${jpegs[@]}"; do
|
||||
cp "$jpg" "$tmpdir/"
|
||||
done
|
||||
(cd "$tmpdir" && zip -q "$zip_path" ./*.jpg)
|
||||
rm -rf "$tmpdir"
|
||||
}
|
||||
Reference in New Issue
Block a user