summaryrefslogtreecommitdiff
path: root/t
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2014-06-20 20:21:26 (GMT)
committerJunio C Hamano <gitster@pobox.com>2014-06-20 20:21:26 (GMT)
commitbf80b8a6d8da756324e5d2d113f405d44aaac379 (patch)
treee17d58d5eb43868c07b9817dd348e6801df2a520 /t
parenta668853c6715b481bff347d7a08f5d885fc95f86 (diff)
parentb687cd6aba394bba34ad9fb70aa33cd5cfcebc6c (diff)
downloadgit-bf80b8a6d8da756324e5d2d113f405d44aaac379.zip
git-bf80b8a6d8da756324e5d2d113f405d44aaac379.tar.gz
git-bf80b8a6d8da756324e5d2d113f405d44aaac379.tar.bz2
Merge branch 'jc/test-lazy-prereq' (early part)
* 'jc/test-lazy-prereq' (early part): t3419: drop unnecessary NOT_EXPENSIVE pseudo-prerequisite t3302: drop unnecessary NOT_EXPENSIVE pseudo-prerequisite t3302: do not chdir around in the primary test process t3302: coding style updates test: turn USR_BIN_TIME into a lazy prerequisite test: turn EXPENSIVE into a lazy prerequisite
Diffstat (limited to 't')
-rwxr-xr-xt/t0021-conversion.sh2
-rwxr-xr-xt/t3302-notes-index-expensive.sh128
-rwxr-xr-xt/t3419-rebase-patch-id.sh23
-rwxr-xr-xt/t5551-http-fetch-smart.sh2
-rw-r--r--t/test-lib.sh8
5 files changed, 85 insertions, 78 deletions
diff --git a/t/t0021-conversion.sh b/t/t0021-conversion.sh
index b92e6cb..f890c54 100755
--- a/t/t0021-conversion.sh
+++ b/t/t0021-conversion.sh
@@ -190,8 +190,6 @@ test_expect_success 'required filter clean failure' '
test_must_fail git add test.fc
'
-test -n "$GIT_TEST_LONG" && test_set_prereq EXPENSIVE
-
test_expect_success EXPENSIVE 'filter large file' '
git config filter.largefile.smudge cat &&
git config filter.largefile.clean cat &&
diff --git a/t/t3302-notes-index-expensive.sh b/t/t3302-notes-index-expensive.sh
index e35d781..8d44e04 100755
--- a/t/t3302-notes-index-expensive.sh
+++ b/t/t3302-notes-index-expensive.sh
@@ -7,9 +7,7 @@ test_description='Test commit notes index (expensive!)'
. ./test-lib.sh
-test_set_prereq NOT_EXPENSIVE
test -n "$GIT_NOTES_TIMING_TESTS" && test_set_prereq EXPENSIVE
-test -x /usr/bin/time && test_set_prereq USR_BIN_TIME
create_repo () {
number_of_commits=$1
@@ -17,43 +15,43 @@ create_repo () {
test -d .git || {
git init &&
(
- while [ $nr -lt $number_of_commits ]; do
+ while test $nr -lt $number_of_commits
+ do
nr=$(($nr+1))
mark=$(($nr+$nr))
notemark=$(($mark+1))
test_tick &&
- cat <<INPUT_END &&
-commit refs/heads/master
-mark :$mark
-committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE
-data <<COMMIT
-commit #$nr
-COMMIT
-
-M 644 inline file
-data <<EOF
-file in commit #$nr
-EOF
-
-blob
-mark :$notemark
-data <<EOF
-note for commit #$nr
-EOF
-
-INPUT_END
-
- echo "N :$notemark :$mark" >> note_commit
+ cat <<-INPUT_END &&
+ commit refs/heads/master
+ mark :$mark
+ committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE
+ data <<COMMIT
+ commit #$nr
+ COMMIT
+
+ M 644 inline file
+ data <<EOF
+ file in commit #$nr
+ EOF
+
+ blob
+ mark :$notemark
+ data <<EOF
+ note for commit #$nr
+ EOF
+
+ INPUT_END
+ echo "N :$notemark :$mark" >>note_commit
done &&
test_tick &&
- cat <<INPUT_END &&
-commit refs/notes/commits
-committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE
-data <<COMMIT
-notes
-COMMIT
+ cat <<-INPUT_END &&
+ commit refs/notes/commits
+ committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE
+ data <<COMMIT
+ notes
+ COMMIT
-INPUT_END
+ INPUT_END
cat note_commit
) |
@@ -65,62 +63,74 @@ INPUT_END
test_notes () {
count=$1 &&
git config core.notesRef refs/notes/commits &&
- git log | grep "^ " > output &&
+ git log | grep "^ " >output &&
i=$count &&
- while [ $i -gt 0 ]; do
+ while test $i -gt 0
+ do
echo " commit #$i" &&
echo " note for commit #$i" &&
- i=$(($i-1));
- done > expect &&
+ i=$(($i-1))
+ done >expect &&
test_cmp expect output
}
-cat > time_notes << \EOF
+write_script time_notes <<\EOF
mode=$1
i=1
- while [ $i -lt $2 ]; do
+ while test $i -lt $2
+ do
case $1 in
no-notes)
- GIT_NOTES_REF=non-existing; export GIT_NOTES_REF
- ;;
+ GIT_NOTES_REF=non-existing
+ export GIT_NOTES_REF
+ ;;
notes)
unset GIT_NOTES_REF
- ;;
+ ;;
esac
- git log >/dev/null
+ git log
i=$(($i+1))
- done
+ done >/dev/null
EOF
time_notes () {
for mode in no-notes notes
do
echo $mode
- /usr/bin/time "$SHELL_PATH" ../time_notes $mode $1
+ /usr/bin/time ../time_notes $mode $1
done
}
do_tests () {
- pr=$1
- count=$2
-
- test_expect_success $pr 'setup / mkdir' '
- mkdir $count &&
- cd $count
+ count=$1 pr=${2-}
+
+ test_expect_success $pr "setup $count" '
+ mkdir "$count" &&
+ (
+ cd "$count" &&
+ create_repo "$count"
+ )
'
- test_expect_success $pr "setup $count" "create_repo $count"
-
- test_expect_success $pr 'notes work' "test_notes $count"
-
- test_expect_success USR_BIN_TIME,$pr 'notes timing with /usr/bin/time' "time_notes 100"
+ test_expect_success $pr 'notes work' '
+ (
+ cd "$count" &&
+ test_notes "$count"
+ )
+ '
- test_expect_success $pr 'teardown / cd ..' 'cd ..'
+ test_expect_success "USR_BIN_TIME${pr:+,$pr}" 'notes timing with /usr/bin/time' '
+ (
+ cd "$count" &&
+ time_notes 100
+ )
+ '
}
-do_tests NOT_EXPENSIVE 10
-for count in 100 1000 10000; do
- do_tests EXPENSIVE $count
+do_tests 10
+for count in 100 1000 10000
+do
+ do_tests "$count" EXPENSIVE
done
test_done
diff --git a/t/t3419-rebase-patch-id.sh b/t/t3419-rebase-patch-id.sh
index e70ac10..9292b49 100755
--- a/t/t3419-rebase-patch-id.sh
+++ b/t/t3419-rebase-patch-id.sh
@@ -4,12 +4,9 @@ test_description='git rebase - test patch id computation'
. ./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
@@ -18,8 +15,7 @@ count()
done
}
-scramble()
-{
+scramble () {
i=0
while read x
do
@@ -28,12 +24,11 @@ scramble()
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
}
@@ -43,10 +38,8 @@ test_expect_success 'setup' '
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 &&
@@ -103,7 +96,7 @@ do_tests()
"
}
-do_tests NOT_EXPENSIVE 500
-do_tests EXPENSIVE 50000
+do_tests 500
+do_tests 50000 EXPENSIVE
test_done
diff --git a/t/t5551-http-fetch-smart.sh b/t/t5551-http-fetch-smart.sh
index 2c49133..6cbc12d 100755
--- a/t/t5551-http-fetch-smart.sh
+++ b/t/t5551-http-fetch-smart.sh
@@ -213,8 +213,6 @@ test_expect_success 'cookies stored in http.cookiefile when http.savecookies set
test_cmp expect_cookies.txt cookies_tail.txt
'
-test -n "$GIT_TEST_LONG" && test_set_prereq EXPENSIVE
-
test_expect_success EXPENSIVE 'create 50,000 tags in the repo' '
(
cd "$HTTPD_DOCUMENT_ROOT_PATH/repo.git" &&
diff --git a/t/test-lib.sh b/t/test-lib.sh
index 81394c8..a479537 100644
--- a/t/test-lib.sh
+++ b/t/test-lib.sh
@@ -976,6 +976,14 @@ test_lazy_prereq AUTOIDENT '
git var GIT_AUTHOR_IDENT
'
+test_lazy_prereq EXPENSIVE '
+ test -n "$GIT_TEST_LONG"
+'
+
+test_lazy_prereq USR_BIN_TIME '
+ test -x /usr/bin/time
+'
+
# When the tests are run as root, permission tests will report that
# things are writable when they shouldn't be.
test -w / || test_set_prereq SANITY