Skip to content

Commit

Permalink
add tests for remote groups
Browse files Browse the repository at this point in the history
This tries to systematically cover existing behavior, and
also mark some expect_failure cases for desired behavior.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information
Jeff King authored and Junio C Hamano committed Apr 9, 2009
1 parent b344e16 commit 27845e9
Showing 1 changed file with 81 additions and 0 deletions.
81 changes: 81 additions & 0 deletions t/t5506-remote-groups.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
#!/bin/sh

test_description='git remote group handling'
. ./test-lib.sh

mark() {
echo "$1" >mark
}

update_repo() {
(cd $1 &&
echo content >>file &&
git add file &&
git commit -F ../mark)
}

update_repos() {
update_repo one $1 &&
update_repo two $1
}

repo_fetched() {
if test "`git log -1 --pretty=format:%s $1 --`" = "`cat mark`"; then
echo >&2 "repo was fetched: $1"
return 0
fi
echo >&2 "repo was not fetched: $1"
return 1
}

test_expect_success 'setup' '
mkdir one && (cd one && git init) &&
mkdir two && (cd two && git init) &&
git remote add -m master one one &&
git remote add -m master two two
'

test_expect_success 'no group updates all' '
mark update-all &&
update_repos &&
git remote update &&
repo_fetched one &&
repo_fetched two
'

test_expect_success 'nonexistant group produces error' '
mark nonexistant &&
update_repos &&
test_must_fail git remote update nonexistant &&
! repo_fetched one &&
! repo_fetched two
'

test_expect_success 'updating group updates all members' '
mark group-all &&
update_repos &&
git config --add remotes.all one &&
git config --add remotes.all two &&
git remote update all &&
repo_fetched one &&
repo_fetched two
'

test_expect_success 'updating group does not update non-members' '
mark group-some &&
update_repos &&
git config --add remotes.some one &&
git remote update some &&
repo_fetched one &&
! repo_fetched two
'

test_expect_success 'updating remote name updates that remote' '
mark remote-name &&
update_repos &&
git remote update one &&
repo_fetched one &&
! repo_fetched two
'

test_done

0 comments on commit 27845e9

Please sign in to comment.