gitolite/t/t10-all-yall

92 lines
2.5 KiB
Plaintext
Raw Permalink Normal View History

# vim: syn=sh:
has_export_ok() {
runremote ls -al $TEST_BASE_FULL/$1.git/git-daemon-export-ok
expect "$USER $USER .* $TEST_BASE_FULL/$1.git/git-daemon-export-ok"
}
does_not_have_export_ok() {
runremote ls -al $TEST_BASE_FULL/$1.git/git-daemon-export-ok
expect "ls: cannot access $TEST_BASE_FULL/$1.git/git-daemon-export-ok: No such file or directory"
}
is_in_projects_list() {
runremote cat projects.list
expect "^$1.git$"
}
is_not_in_projects_list() {
runremote cat projects.list
notexpect "^$1.git$"
}
for bc in 0 1
do
for ais in 0 1
do
cd $TESTDIR
$TESTDIR/rollback || die "rollback failed"
editrc GL_WILDREPOS 1
editrc GL_BIG_CONFIG $bc
echo "\$GL_ALL_INCLUDES_SPECIAL = $ais;" | addrc
name "INTERNAL"
echo "
repo @all
R = @all
repo foo
RW+ = u1
repo bar
RW+ = u2
repo dev/..*
C = u3 u4
RW+ = CREATOR
" | ugc
name "setup"
expect_push_ok "master -> master"
cd ~/td
runlocal git ls-remote u1:dev/wild1
expect "fatal: '$TEST_BASE_FULL/dev/wild1.git' does not appear to be a git repository"
expect "fatal: The remote end hung up unexpectedly"
runlocal git clone u3:dev/wild1
expect "Cloning into wild1..."
expect "Initialized empty Git repository in $TEST_BASE_FULL/dev/wild1.git/"
expect "warning: You appear to have cloned an empty repository."
cd wild1
mdc; mdc
runlocal git push origin master:wild1
expect "To u3:dev/wild1"
expect "* \[new branch\] master -> wild1"
runlocal git push u1:foo master:br-foo
expect "To u1:foo"
expect "* \[new branch\] master -> br-foo"
runlocal git push u2:bar master:br-bar
expect "To u2:bar"
expect "* \[new branch\] master -> br-bar"
runlocal git ls-remote u6:foo
expect refs/heads/br-foo
runlocal git ls-remote u6:bar
expect refs/heads/br-bar
runlocal git ls-remote u6:dev/wild1
expect refs/heads/wild1
name "gitweb and daemon"
for REPO in foo bar dev/wild1
do
[ "$ais" = "0" ] && does_not_have_export_ok $REPO
[ "$ais" = "0" ] && is_not_in_projects_list $REPO
[ "$ais" = "1" ] && has_export_ok $REPO
[ "$ais" = "1" ] && is_in_projects_list $REPO
done
done
done