#!/usr/bin/env bash

set -eu
set -o pipefail > /dev/null 2>&1 || true

record=$(../../this-interpreter --variety fast)
pyver=$(echo "$record" | awk -F'%' ' { print $1 }')
python=$(echo "$record" | awk -F'%' ' { print $1 }')

rm -rf save-dir-*

mkdir -p save-dir-"$pyver"

if type gfind > /dev/null 2>&1
then
	find=gfind
else
	find=find
	if ! find . -printf '%s %p\0' > /dev/null 2>&1
	then
		echo "$0: Your find does not support -printf - skipping this test" 1>&2
		exit 0
	fi
fi

# We used to rest this with just one interpreter, so it isn't much different from --progress-report moderate,
# but then a 3.x bug got through.  So now wse test all.
for record in $(../../this-interpreter --variety all)
do
	pyver=$(echo "$record" | awk -F'%' ' { print $1 }')
	python=$(echo "$record" | awk -F'%' ' { print $2 }')
	"$find" to-be-saved -name .svn -prune -o -printf '%s %p\0' | \
		$python ../../bin/backshift \
			--backup \
			--save-directory save-dir-"$pyver" \
			--progress-report full+prestat \
			--subset test \
			--init-savedir
done