158 lines
4.6 KiB
Plaintext
158 lines
4.6 KiB
Plaintext
# vim: syn=sh:
|
|
for bc in 0 1
|
|
do
|
|
cd $TESTDIR
|
|
$TESTDIR/rollback || die "rollback failed"
|
|
editrc GL_BIG_CONFIG $bc
|
|
editrc GL_WILDREPOS 1
|
|
|
|
rm -rf /tmp/glt-adc
|
|
mkdir /tmp/glt-adc || die "mkdir /tmp/glt-adc failed"
|
|
cp ../contrib/adc/* /tmp/glt-adc
|
|
echo "\$GL_ADC_PATH = '/tmp/glt-adc';" | addrc
|
|
runremote rm -f .gitolite.down
|
|
|
|
# ----------
|
|
|
|
name "INTERNAL"
|
|
echo "
|
|
@leads = u1 u2
|
|
@devs = u1 u2 u3 u4
|
|
|
|
repo foo
|
|
RW+ = u1
|
|
|
|
@gbar = bar/CREATOR/..*
|
|
repo @gbar
|
|
C = @leads
|
|
RW+ = @leads
|
|
RW = @devs
|
|
" | ugc
|
|
expect_push_ok "master -> master"
|
|
|
|
name "u1 push foo"
|
|
cd ~/td
|
|
rm -rf foo
|
|
runlocal git clone u1:foo
|
|
expect "warning: You appear to have cloned an empty repository."
|
|
cd foo
|
|
mdc; mdc
|
|
runlocal git push origin master
|
|
expect_push_ok "master -> master"
|
|
|
|
name "u2 create and push bar/u2/r1"
|
|
cd ~/td
|
|
runlocal git clone u2:bar/u2/r1
|
|
expect "Initialized empty Git repository in $TEST_BASE_FULL/bar/u2/r1.git/"
|
|
expect "warning: You appear to have cloned an empty repository."
|
|
cd r1
|
|
mdc; mdc
|
|
runlocal git push origin master
|
|
expect_push_ok "master -> master"
|
|
|
|
name "disable entire site"
|
|
runremote ls -al .gitolite.down
|
|
expect "ls: cannot access .gitolite.down: No such file or directory"
|
|
(echo first line; echo second line) | runlocal ssh gitolite able dis
|
|
expect "give me '@all' or some reponame"
|
|
(echo first line; echo second line) | runlocal ssh gitolite able dis @all
|
|
expect "disabling following locations with message:"
|
|
expect "first line"
|
|
expect "^second line"
|
|
expect "/home/$USER"
|
|
runremote ls -al .gitolite.down
|
|
expect "^.rw------- 1 $USER $USER .. ... .. ..:.. .gitolite.down"
|
|
|
|
name "u1 push foo fail"
|
|
cd ~/td/foo
|
|
mdc; mdc
|
|
runlocal git push origin master
|
|
expect ABORTING
|
|
expect "first line"
|
|
expect "^second line"
|
|
expect "fatal: The remote end hung up unexpectedly"
|
|
|
|
name "u2 create and push bar/u2/r1 fail"
|
|
cd ~/td/r1
|
|
mdc; mdc
|
|
runlocal git push origin master
|
|
expect ABORTING
|
|
expect "first line"
|
|
expect "^second line"
|
|
expect "fatal: The remote end hung up unexpectedly"
|
|
|
|
name "enable entire site"
|
|
runlocal ssh gitolite able en
|
|
expect "give me '@all' or some reponame"
|
|
runlocal ssh gitolite able en @all
|
|
expect "removed ./home/$USER/.gitolite.down."
|
|
runremote ls -al .gitolite.down
|
|
expect "ls: cannot access .gitolite.down: No such file or directory"
|
|
|
|
name "u1 push foo"
|
|
cd ~/td/foo
|
|
mdc; mdc
|
|
runlocal git push origin master
|
|
expect_push_ok "master -> master"
|
|
|
|
name "u2 create and push bar/u2/r1"
|
|
cd ~/td/r1
|
|
mdc; mdc
|
|
runlocal git push origin master
|
|
expect_push_ok "master -> master"
|
|
|
|
name "disable foo"
|
|
runlocal ssh u1 able dis foo
|
|
expect "just .what. are you trying to pull, young man"
|
|
echo foo down|runlocal ssh gitolite able dis foo
|
|
expect "disabling following locations with message:"
|
|
expect "foo down"
|
|
expect "$TEST_BASE/foo.git"
|
|
runremote ls -al $TEST_BASE/foo.git/.gitolite.down
|
|
expect ".rw------- 1 $USER $USER .* ..:.. $TEST_BASE/foo.git/.gitolite.down"
|
|
|
|
name "u1 push foo fail"
|
|
cd ~/td/foo
|
|
mdc; mdc
|
|
runlocal git push origin master
|
|
expect ABORTING
|
|
expect "foo down"
|
|
expect "fatal: The remote end hung up unexpectedly"
|
|
|
|
name "u2 create and push bar/u2/r1"
|
|
cd ~/td/r1
|
|
mdc; mdc
|
|
runlocal git push origin master
|
|
expect_push_ok "master -> master"
|
|
|
|
name "enable foo, disable bar/u2/r1"
|
|
runlocal ssh u1 able en foo
|
|
expect "just .what. are you trying to pull, young man"
|
|
runlocal ssh gitolite able en foo
|
|
expect "removed .$TEST_BASE_FULL/foo.git/.gitolite.down."
|
|
echo bar/u2/r1 down | runlocal ssh u1 able dis foo
|
|
expect "just .what. are you trying to pull, young man"
|
|
echo bar/u2/r1 down | runlocal ssh gitolite able dis bar/u2/r1
|
|
expect "disabling following locations with message:"
|
|
expect "bar/u2/r1 down"
|
|
expect "$TEST_BASE/bar/u2/r1.git"
|
|
runremote ls -al $TEST_BASE/bar/u2/r1.git/.gitolite.down
|
|
expect ".rw------- 1 $USER $USER .. ... .. ..:.. $TEST_BASE/bar/u2/r1.git/.gitolite.down"
|
|
|
|
name "u1 push foo"
|
|
cd ~/td/foo
|
|
mdc; mdc
|
|
runlocal git push origin master
|
|
expect_push_ok "master -> master"
|
|
|
|
name "u2 create and push bar/u2/r1i fail"
|
|
cd ~/td/r1
|
|
mdc; mdc
|
|
runlocal git push origin master
|
|
expect ABORTING
|
|
expect "bar/u2/r1 down"
|
|
expect "fatal: The remote end hung up unexpectedly"
|
|
|
|
name "INTERNAL"
|
|
done
|