. ./test-lib.sh
-test_set_prereq NOT_EXPENSIVE
-test -n "$GIT_PATCHID_TIMING_TESTS" && test_set_prereq EXPENSIVE
-test -x /usr/bin/time && test_set_prereq USR_BIN_TIME
-
-count()
-{
+count () {
i=0
while test $i -lt $1
do
done
}
-scramble()
-{
+scramble () {
i=0
while read x
do
echo "$x"
fi
i=$((($i+1) % 10))
- done < "$1" > "$1.new"
+ done <"$1" >"$1.new"
mv -f "$1.new" "$1"
}
-run()
-{
+run () {
echo \$ "$@"
/usr/bin/time "$@" >/dev/null
}
git tag root
'
-do_tests()
-{
- pr=$1
- nlines=$2
+do_tests () {
+ nlines=$1 pr=${2-}
test_expect_success $pr "setup: $nlines lines" "
rm -f .gitattributes &&
run git format-patch --stdout --ignore-if-in-upstream master
"
- test_expect_success $pr 'detect upstream patch' "
+ test_expect_success $pr 'detect upstream patch' '
git checkout -q master &&
scramble file &&
git add file &&
- git commit -q -m 'change big file again' &&
+ git commit -q -m "change big file again" &&
git checkout -q other^{} &&
git rebase master &&
- test_must_fail test -n \"\$(git rev-list master...HEAD~)\"
- "
+ test_must_fail test -n "$(git rev-list master...HEAD~)"
+ '
- test_expect_success $pr 'do not drop patch' "
+ test_expect_success $pr 'do not drop patch' '
git branch -f squashed master &&
git checkout -q -f squashed &&
git reset -q --soft HEAD~2 &&
git checkout -q other^{} &&
test_must_fail git rebase squashed &&
rm -rf .git/rebase-apply
- "
+ '
}
-do_tests NOT_EXPENSIVE 500
-do_tests EXPENSIVE 50000
+do_tests 500
+do_tests 50000 EXPENSIVE
test_done