nix-bitcoin/test/lib/copy-src.sh
Erik Arvstedt e2d653e7cb tests/copy-src: always copy .git dir
This is required by a later commit that introduces flakes-based test
evaluation. Evaluating local flakes needs a repo dir.
2023-06-01 02:56:22 -07:00

22 lines
628 B
Bash

# Re-run run-tests.sh in a snapshot copy of the source.
# Maintain /tmp/nix-bitcoin-src as a source cache to minimize copies.
tmp=$(mktemp -d '/tmp/nix-bitcoin-src.XXXXX')
# Move source cache if it exists (atomic)
mv /tmp/nix-bitcoin-src "$tmp/src" 2>/dev/null || true
atExit() {
# Set the current src as the source cache (atomic)
mv -T "$tmp/src" /tmp/nix-bitcoin-src 2>/dev/null || true
rm -rf "$tmp"
}
trap "atExit" EXIT
# shellcheck disable=SC2154
rsync -a --delete "$scriptDir/../" "$tmp/src"
echo "Copied src"
# shellcheck disable=SC2154
_nixBitcoinInCopiedSrc=1 "$tmp/src/test/run-tests.sh" "${args[@]}"