Files
apfstests/tools/mvtest
T
Darrick J. Wong 4bf2c4461c mvtest: change "FSQA Test No." when we renumber tests
We have a number of tests (and submitters) who write tests
containing "FSQA Test No." (as opposed to "FS QA Test No."), so
update the mvtest script to change both forms.

Also fix a sed bug that deletes too many group lines.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: Eryu Guan <eguan@redhat.com>
Signed-off-by: Eryu Guan <eguan@redhat.com>
2017-01-27 16:06:12 +08:00

56 lines
1.4 KiB
Bash
Executable File

#!/bin/sh
# Renumber a test
dir="$(dirname "$0")"
if [ -z "$1" ] || [ "$1" = "--help" ]; then
echo "Usage: $0 path_to_test new_path_to_test"
exit 1
fi
src="$1"
dest="$2"
die() {
echo "$@"
exit 1
}
append() {
out="$1"
shift
echo "$@" >> "${out}"
}
test "${src}" != "${dest}" || die "Test \"${src}\" is the same as dest."
test -e "tests/${src}" || die "Test \"${src}\" does not exist."
test ! -e "tests/${dest}" || die "Test \"${src}\" already exists."
sid="$(basename "${src}")"
did="$(basename "${dest}")"
sgroup="$(basename "$(dirname "tests/${src}")")"
dgroup="$(basename "$(dirname "tests/${dest}")")"
sgroupfile="tests/${sgroup}/group"
dgroupfile="tests/${dgroup}/group"
git mv "tests/${src}" "tests/${dest}"
git mv "tests/${src}.out" "tests/${dest}.out"
sed -e "s/^# FS[[:space:]]*QA.*Test.*[0-9]\+$/# FS QA Test No. ${did}/g" -i "tests/${dest}"
sed -e "s/^QA output created by ${sid}$/QA output created by ${did}/g" -i "tests/${dest}.out"
sed -e "s/test-${sid}/test-${did}/g" -i "tests/${dest}.out"
grpline="$(grep "^${sid} " "${sgroupfile}")"
newgrpline="$(echo "${grpline}" | sed -e "s/^${sid} /${did} /g")"
sed -e "/^${sid} .*$/d" -i "${sgroupfile}"
cp "${dgroupfile}" "${dgroupfile}.new"
append "${dgroupfile}.new" "${newgrpline}"
"${dir}/sort-group" "${dgroupfile}.new"
mv "${dgroupfile}.new" "${dgroupfile}"
echo "Moved \"${src}\" to \"${dest}\"."
exit 0