Merge branch 'test-suite-revamp' into pu

This commit is contained in:
Sitaram Chamarty 2011-10-11 15:04:16 +05:30
commit 36dfb85e1b
27 changed files with 293 additions and 476 deletions

View file

@ -1,10 +1,14 @@
## notes on the testing setup
**WARNING: PLEASE use a dedicated user for doing this**. Various files and
directories get overwritten and it's much simpler this way.
In this document:
* <a href="#_terminology">terminology</a>
* <a href="#_notes_and_background">notes and background</a>
* <a href="#_quick_instructions_for_running_the_test_suite">quick instructions for running the test suite</a>
* <a href="#_playing_with_gitolite">playing with gitolite</a>
* <a href="#_testing_gitolite">testing gitolite</a>
* <a href="#_instructions_for_adding_new_tests">instructions for adding new tests</a>
<a name="_terminology"></a>
@ -18,67 +22,83 @@ In this document:
### notes and background
* all testing is done on one machine, using 2 userids
All testing is done on one **brand new** userid. We use ssh host alias tricks
to simulate multiple gitolite users within this, so `ssh gitolite info` gets
you different results than `ssh u1 info`.
* test driver exits on the *first* failed test; no fancy counting here.
(PW).
The test suite is mainly meant for testing **the core (access control)
functionality**. It doesn't test anything else, like say the install or
upgrade operations. Other big features NOT covered by the test suite are
mirroring, smart http, and password-based access.
* installs are done using "gl-easy-install". As such, this test suite is
mainly meant for testing **the core (access control) functionality**, and
will not help you test the install/upgrade parts themselves. Those are a
lot more difficult to test in an automated fashion, but luckily they also
change infrequently and can easily be tested manually when they do.
Errors in those are much more visible too. (PW).
Note that the test driver has evolved as new scripts were added; you will see
that older scripts are a little less sophisticated.
* the test driver has evolved as new scripts were added; you will see that
older scripts are a little less sophisticated.
<a name="_playing_with_gitolite"></a>
<a name="_quick_instructions_for_running_the_test_suite"></a>
### playing with gitolite
### quick instructions for running the test suite
(Please heed the warning at the top of this document and use a dedicated user
for this).
* create two brand new user IDs: tester and gitolite-test
* these are hard-coded, sorry. (PW)
* give them some passwords
* allow ssh into gitolite-test in `/etc/ssh/sshd_config`; preferably use
a line like `AllowUsers gitolite-test@127.0.0.1` so that no one can
ssh in from outside
Playing with gitolite is easy.
* prepare/push a bare clone of gitolite itself on /tmp so that the "tester"
userid can grab it painlessly
* Create a userid (doesn't matter what it's called; we'll pretend it's
"gl-test" in this document).
cd your-gitolite-working-repo
git clone --bare $PWD /tmp/gitolite # first time
git push -f --all /tmp/gitolite # subsequent times
* Make sure sshd allows incoming ssh to this userid at least from localhost.
(Out of scope for this document: sshd config, 'AllowUsers', etc...)
* "su" to "tester" and clone/fetch the gitolite source:
* Now log in as this user (doesn't matter how), and run the following
commands:
cd $HOME; git clone /tmp/gitolite # first time
cd gitolite; git fetch origin # subsequent times
cd $HOME # if not already in $HOME
git clone git://github.com/sitaramc/gitolite
gitolite/t/install
* checkout and "install" the branch you want to test (install from "tester"
userid to "gitolite-test" userid). Example, if you want to test "pu"
branch:
This installs the "testbed" in the userid you chose. No other user is
affected in any way.
git checkout -t origin/pu # if needed
git checkout -f pu; git reset --hard origin/pu # subsequent times
cd t # THIS IS IMPORTANT (patches welcome, or will be fixed eventually!)
./install-gitolite
This is what you get when you do this:
* run all or some of the tests
* A gitolite user called "tester", tied to an ssh host alias called
"gitolite". This user has RW+ rights to the admin repo; running `ssh
gitolite info` should get you the expected results.
./test-driver.sh
# or
./test-driver.sh t51
* Six gitolite users called "u1" through "u6", all done through ssh host
aliases. Running `ssh u1 info` etc. should show you only the "testing"
repo accessible to them.
* you can also run them through "prove", although to make it work easier
with prove, I ended up making the "subtest" numbers be the actual test
numbers, making it look like I have over 2000 tests, when in reality I
have about 600:
* A clone of the admin repo in `~/gitolite-admin`, created by `git clone
gitolite:gitolite-admin`. If you `cd ~/gitolite-admin`, you will see the
keys for the users mentioned above (tester, u1, ..., u6).
prove ./test-driver.sh
# or
prove ./test-driver.sh :: t51
* The rest of a gitolite installation, such as the rc file in `~/.gitolite.rc` etc.
Don't forget that the client and the server are all on the same user on the
same machine.
And don't forget, too, that we are simulating 7 gitolite users using ssh keys!
(How? Maybe `~/.ssh/config` will give you a hint). You can now use those 7
users in any way you please in the config file and test out different user's
access simply using a different URL. For example, `git clone u1:testing` and
`git clone u2:testing` may give you different results depending on what rights
you gave users "u1" and "u2" in your config.
<a name="_testing_gitolite"></a>
### testing gitolite
First, do what the "playing with gitolite" section says. That is a
pre-requisite.
Once that is done, run this command (still in `$HOME` of the gl-test userid):
prove gitolite/t/test-driver.sh
(note: to make it work easier with prove, I ended up making the "subtest"
numbers be the actual test numbers, making it look like I have over 2000
tests, when in reality I have about 600)
<a name="_instructions_for_adding_new_tests"></a>

View file

@ -1,22 +0,0 @@
#!/bin/bash
export TESTDIR=$PWD
[[ -f /tmp/$1.tar ]] || { echo need tar file 2>&1; exit 1; }
# blank out the client side
rm -rf ~/gitolite-admin
# make sure we have the u1-u6 keys and the config to refer to them
cp $TESTDIR/keys/config ~/.ssh
cp $TESTDIR/keys/u[1-6]* ~/.ssh
chmod 755 ~/.ssh ~/.ssh/config ~/.ssh/*pub
chmod 600 ~/.ssh/u?
# blank out the server side
echo the next command MAY ask for a password
ssh gitolite-test@localhost rm -rf .ssh .gitolite .gitolite.rc repositories gitolite-install
echo the next command SHOULD ask for a password
ssh-copy-id -i ~/.ssh/id_rsa gitolite-test@localhost
echo the next command should NOT ask for a password
cd ~/gitolite

64
t/install Executable file
View file

@ -0,0 +1,64 @@
#!/bin/bash
# note: all the /tmp and /tmp/glrb stuff is for testing with a non-default
# REPO_BASE. I don't use it a lot so expect some glitches. Just ignore it if
# you're trying to understand this code...
# ----
die() { echo "$@"; exit 1; }
cd ${0%/*}
git rev-parse --show-toplevel || die should run t/install from a clone of gitolite
export TESTDIR=$PWD
cd $HOME
# prepare and save local ssh
mkdir -p .ssh; chmod go-w .ssh
echo -n generating keys...
for i in tester u1 u2 u3 u4 u5 u6
do
ssh-keygen -q -N "" -f .ssh/$i
done
echo done
sed -e "s/gitolite-test/$USER/" < $TESTDIR/keys/config > .ssh/config
chmod go-w .ssh/config
tar cf .ssh.save .ssh
# blank out the client side
rm -rf gitolite-admin .ssh
tar xf .ssh.save
# blank out the server side
rm -rf .gitolite .gitolite.rc repositories /tmp/glrb bin share
# set up our identity (impacts some tests; don't change this!)
git config --global user.name "gitolite tester"
git config --global user.email "tester@example.com"
# install it
cd gitolite
git describe --tags --long HEAD > conf/VERSION
# in case it is dirty
src/gl-system-install
cd $HOME
gl-setup -q .ssh/tester.pub
# add 6 keys
rm -rf ~/gitolite-admin
git clone gitolite:gitolite-admin
cd gitolite-admin
cp ~/.ssh/u*.pub keydir
git add keydir; git commit -m 'added 6 keys'
git push
# make the rollback.tar files on both sides
cd $HOME
tar cf client-rollback.tar gitolite-admin
mkdir -p repositories /tmp/glrb
tar cf server-rollback.tar .ssh .gitolite .gitolite.rc repositories bin share
tar -C /tmp -cf $HOME/server-rollback2.tar glrb

View file

@ -1,55 +0,0 @@
#!/bin/bash
export TESTDIR=$PWD
# prepare local ssh
mkdir -p $HOME/.ssh; chmod go-rx $HOME/.ssh
[ -f "$HOME/.ssh/id_rsa" ] || ssh-keygen -q -N "" -t rsa -f $HOME/.ssh/id_rsa
# blank out the client side
rm -rf ~/gitolite-admin
# make sure we have the u1-u6 keys and the config to refer to them
cp $TESTDIR/keys/config ~/.ssh
cp $TESTDIR/keys/u[1-6]* ~/.ssh
chmod 755 ~/.ssh ~/.ssh/config ~/.ssh/*pub
chmod 600 ~/.ssh/u?
# blank out the server side
echo the next command MAY ask for a password
ssh gitolite-test@localhost rm -rf .ssh .gitolite .gitolite.rc repositories /tmp/glrb bin share
echo the next command SHOULD ask for a password
ssh-copy-id -i ~/.ssh/id_rsa gitolite-test@localhost
echo the next command should NOT ask for a password
scp ~/.ssh/tester.pub gitolite-test@localhost:
# install it
echo installing whatever is here now...
# ../src/gl-easy-install -q gitolite-test localhost tester
cat <<EOF | ssh gitolite-test@localhost
cd gitolite
git describe --tags --long HEAD > conf/VERSION
src/gl-system-install
cd
gl-setup -q tester.pub
EOF
echo =============================
echo
echo
echo
# add 6 keys
rm -rf ~/gitolite-admin
cd
git clone gitolite:gitolite-admin
cd ~/gitolite-admin
cp $TESTDIR/keys/u*pub keydir
git add keydir; git commit -m 'added 6 keys'
git push
# make the rollback.tar files on both sides
cd
tar cf rollback.tar gitolite-admin
ssh gitolite-test@localhost mkdir -p repositories /tmp/glrb
ssh gitolite-test@localhost tar cf rollback.tar .ssh .gitolite .gitolite.rc repositories bin share
ssh gitolite-test@localhost tar -C /tmp -cf \$HOME/rollback2.tar glrb

View file

@ -1,27 +0,0 @@
-----BEGIN RSA PRIVATE KEY-----
MIIEoAIBAAKCAQEAnqiW8xCSfg/JO7acBvarVghAyM2Xw2ZzwaQN5xOg/XOSt2wV
5wsT32hmPg/v8NqXcjKXMyI76ZO4U9To9yDvs6xKC9NwFmV6prjf6IC2gryykg2L
BvWKIrcr/tNBnKgDAs7SDtf1EEN5Byf0mTcy9c9eVMsxvwm3oXqXKCm1YkKeaWOE
d0xuRMRAVHlfon4M67r/heDZho9QLwvyDhorefhoLGOzrUbsXbcTHAEkt+m56swz
7d7yZVSXckqrQ+KyY6cVjm1kdBvO7B34TpjMYubv4a3WPC98QUAFSRir3+HW43JF
U/ty4Z7pCbpDBPctvg1fdCzIx1sg54zE6MZGnQIBIwKCAQBoQubaPhcfo/lEf1CW
3Jx6XTHjCsLQ3Oz7l7FdVgq1LrDe70GX1BRfnGBx7TdGgQRvnZaPUQLMsYfCD5HG
+GMBCtGSviUWCCwHKQgrEsEUFZnq8vT18c/Nq5HwmXRCX8d2366cCkH0vp/9Y2Y4
zICS51s/CS9Rp0zJM01jiR9sc+LG9cz7pI8nk7jaCjhzV/229mQC5/1TxDqgdafH
/27cdtA0sqbG7lvL6k5qCYM+C96pOjmqap7x6YSMlUbcCKL1HLWzLsqMBjbgtm2M
jHB3Kv3aDk5Mf2Lj1G4Bauw/NCedoQ+bj4LCXfYIR5BKNSAmDigZitBMRHOInBEl
O7drAoGBAM9BTk9KYtS3yXmz/GVoNpgTZ1IFF90hjAhkPN5iFqOKL/f43U9Gn5gK
9wJp68FJbpB7V8qH2shI8S0jv3AJicH8MG3RHA2FSMjUTy4nKBP835OKxgl49J87
OZNigS8BFbWKm5o0Wlm17H4GH6sEKgt4dFOelHmxO0H/4L1r0GGZAoGBAMP5UUAH
BXHLMD4GxnfNieegg7EjUbKMf6CqHAk44wCgS0mgjMrIoMiiAnf6djeKf1wrJvBB
S6eK3qu7ZUnVQKqDKZM9WAxyyZExKHx+FXFt51R6YrnJQVzMuA1Im7xSGJcmL30c
pVIwcVjKe5sKT8TUCRGYdyhfSGa+vok5K7elAoGATPr/1E7UQGGFWRb3WN2QnuKi
uBCFNOCTGQ9JzvE7m9Q9s+AXr7slVbruCDX4ev4Efs66NUhnNHLdPKbgtJXUFNoD
W/02Tiow+iL41qDUXzIJ5lgdq782ScWKafFjLrdCk+MGmFyWllmDucfCnpsljzte
aDOWO9QdUwdE2KRjV3MCgYAyZK5+LbDxYCJZF69gopEs7sLHJlbWJCDRitQCXxXM
9gS7KUjGbhq3P5o8G9VBe2KUCxikLgwjxJ+ogKUEW2hmXD3kCHW6DuNf2XDPjiLF
ZWde3aRbqMeqJgNxIUyeI70uLmP7mabanr4PhIYvLomKYmi7Ybg9lNgaa5AUqE0R
9wKBgB8LYjinisX8pGaSfGpxEHQu/giH9SqUyXoDyk/SkqmhmayB341P+x3Zdlrx
xBVYsxdQRbxbiO2CdihPDbiT4wXS+p9mReOJeb/QluzGpPuloSkx87uW1kcErZ/m
vr8opZ6ITlSSQeigwabVpkthDzNgQbEeHblbX0F9io56vX8w
-----END RSA PRIVATE KEY-----

View file

@ -1 +0,0 @@
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAnqiW8xCSfg/JO7acBvarVghAyM2Xw2ZzwaQN5xOg/XOSt2wV5wsT32hmPg/v8NqXcjKXMyI76ZO4U9To9yDvs6xKC9NwFmV6prjf6IC2gryykg2LBvWKIrcr/tNBnKgDAs7SDtf1EEN5Byf0mTcy9c9eVMsxvwm3oXqXKCm1YkKeaWOEd0xuRMRAVHlfon4M67r/heDZho9QLwvyDhorefhoLGOzrUbsXbcTHAEkt+m56swz7d7yZVSXckqrQ+KyY6cVjm1kdBvO7B34TpjMYubv4a3WPC98QUAFSRir3+HW43JFU/ty4Z7pCbpDBPctvg1fdCzIx1sg54zE6MZGnQ== tester@sita-wd.atc.tcs.com

View file

@ -1,27 +0,0 @@
-----BEGIN RSA PRIVATE KEY-----
MIIEowIBAAKCAQEA9NNn9rpF3+1reKJxfqQcjmugWkvN4VZfi6Uln1q6RJlohh6G
FhSTbA+puGjWy03VROa2K3TUxKKtPHMCFIOVpnNN3e4kAJbW1P/DbeYL5/kYo0tc
uNexFch2/4FrcykBoxZvTGUH1hJNIANjcAs+u+rzbwyiH5iQKIukfe7de2LrJEyw
/n05yAkMVfc2E97ge6X7rwGOpKaqMyy5S5Wjr6YxD54CAybdys9XWbwZYFx9s14j
PFK0frtXE7qFmR+hch9rgEro3jvIqLkQpO2u/ZfcoHllRDTqXZVGRGfrfZ8UHYsn
32+iApLFFdKcPkTtJokmq++b61NoQVQfk54yvQIBIwKCAQBM8fwaV8zRWT8IqBUK
i1lultqgCTITns2SSdifzA6n2HFOuSLTvVLncqMOElIio27pxNoq6jQ9zLoaUAf3
0ZVu08gD68IsEiZC8UwMmMHp0fHM68yvHzenwqkOeSHFG4Qr8RuqS6NgiWiySjUx
16YAi6uX7gcRPpO0+LAKUmLdoiGLjF/bpMAyhfvB/EzAQESoscEhGywwboJfMJGK
FlKdazqYlYy4txjw53bUbuN/lsQYToAbe68zIVTBkKVZlBrBeOp1FPPoNXtaOuWx
tXsaiQIBXbJY9AaI9wCJsK9pRU92k23gyBENNHC/hPvyK0JWpkRhd9rsl79BG/xh
dJ6LAoGBAP6RSyKtjbwb6tuZWMpGeY87WnM2JXmuNRwR2n3KnM5VOsgLgyTKx11Y
9+B51b0yx3hVKJ6xbs4pjq/MLgAGXgfzh0VBJUjxiVKfHc0qhrUg1KAmGbhczYkE
69/oQP7d0vsgC7gR3xr0QMI8v9tZ9UDsPrzqOKZ4162YlNAmOv19AoGBAPY0FF1Q
QF/0FsnfB0kMmNPhuNwmy3EWhkxmzvgPa/0Ic1F7s2NJu9P+9vzHnM4jQPKFO75h
/USD8SU8wEjqGOdFi8fh4vTyk+2Na3/n37f8sjYY77tAvAa8Ix7Ul6c5knk+ZIaN
/K3kThB3sXCzOmTJfzMXOZn2DULZlM9Okw5BAoGBAKdJiSVqvDnJM+9kxVG5SJFS
46rLz3vY4RJyId2iZws/UoN1R400zCdmWb9mAXxUkbV5yjxl+FuXpuiNfVB5NnpA
8n33nCieuVONIjZdxjyDSeWVYVvlNpveqaHEgnuZFZ21+RKPZrnw91sR+muS4v7H
IenbvtPLwO5rlP3P+uEXAoGBAOgieZnPUqOc/4sivbnnTkQd93B8WWqgNXs8XL3/
6XmLn+29xmTtv7lA2j7K1axqYc64ImML7suSWGTwIwLrWU8Vr63U+o8t2+6bSBmC
2j/CXuKMikLWoqdDrBXBIUXl0z8dkfs1apVTmg+Gy99J5pmKyGNfCmyXiNihQync
XsRLAoGBAN50w7bf+lGJ0KDoMIAGRqLJpm0NLd980R7j+yR49g8N/RjKrXz8zFuo
7NJztYXT1oBNv9HuO7Aq0z7gGQiNbjarGVgblqZi3RN7IE8/Cs4Ev50BLVWM1WTN
x4yFgK1OC3FfJaY6rn8u9y0dygTFvKrQx68gO+RgAIb4t/ZUoySW
-----END RSA PRIVATE KEY-----

View file

@ -1 +0,0 @@
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA9NNn9rpF3+1reKJxfqQcjmugWkvN4VZfi6Uln1q6RJlohh6GFhSTbA+puGjWy03VROa2K3TUxKKtPHMCFIOVpnNN3e4kAJbW1P/DbeYL5/kYo0tcuNexFch2/4FrcykBoxZvTGUH1hJNIANjcAs+u+rzbwyiH5iQKIukfe7de2LrJEyw/n05yAkMVfc2E97ge6X7rwGOpKaqMyy5S5Wjr6YxD54CAybdys9XWbwZYFx9s14jPFK0frtXE7qFmR+hch9rgEro3jvIqLkQpO2u/ZfcoHllRDTqXZVGRGfrfZ8UHYsn32+iApLFFdKcPkTtJokmq++b61NoQVQfk54yvQ== tester@sita-wd.atc.tcs.com

View file

@ -1,27 +0,0 @@
-----BEGIN RSA PRIVATE KEY-----
MIIEogIBAAKCAQEAs7YceedkXYoPDinUWKISRv48DbcAdIgw+bm/EBwsHcBHxr8L
bX6jNTRQifp7aiCNeoW7U+sqDsJ9r4CqDWagXg/o2uhYDbdizz3Gpiwslqi0tvu+
e3/0J327wTB81v2pZ8j6DILR+kN+S8LXUHzUsFus8XHK3SvyWqlxqRBOpkP3tqB5
Grfjuwn9IJJcvqcqkjXJcDuij9RE7EHmWGEv6c4MtS5mTpXGy9xPnehwcGzm5fEi
sxzLts/F6YgC6p7D7ZxR0Hm6YQteIFjhFkIMqNjPu78jrEfWD84C+wmpypSjVFMW
QaH+qDeeDWRE6WUufH+Uirzm7DLvHdnsgCeGoQIBIwKCAQBhjr8AWQqZLbBmxkAS
26OFn/S2/PGeWI+dghdDQn5ZSx+mZ7W/GNxBdCu4nes5nKSS+CPdGUK3jib433JB
yf9JAVKFdtC2/ScCycOcCVoIpLnfrTuE3w+DJv+GIaLbG/zgkaxP7z7Jr5xVA17x
LdKLn3sj+/HIhZIxN2mWSq5aQT4GElmiyXTcOLr/WyFZwhlwCAWPFlSxnqUEq+fi
qgPOxmI+w4a+GnrulqDYEpGvY8g0Z87yJHr8oROOhPRVWp/km3fodA4gBanwzK7P
8bvYtcMxOdK6cD85zgGbuaI+IB0jP9NQijBr6a8I8Mxj2VUHk9VtGrv+HcUZ39g/
V99PAoGBAOTWbNbEmcgfJutlqEBgbl36g4hkpYazSQZlcp1IkHP4V9kk1+Zyibsq
9HtQ4JCT0CEJ7pdXNnfeRbG1jgnovWTqFGxHyPDqwYtHuQ6qMKLVQA/qqBxbp4AN
sPQqy2SdMPcr5Hb9di3WX/ztlMiZlk8Nd73DSQXum0+2j3PEuxO3AoGBAMkK6WkB
02zC2OGuoI4XMZBClgDpDqhEgfOZJtPMl4yCCMH0TKKYzcrb7U2xh1o7Nc5TDWx1
bTtlfE5+SGzQcFNr4sVIRspjuKdFd53figJR3iJbdp4UImhGyf5gif9cocdTSeQb
mQvVKSjL+PZUgeR8BPzIk3k29P5thbR8oihnAoGBAJzqzkogaXNIj7dbppKLRF2z
GF2G1+dWXfXB6DFWVGzHjLIn5IDDkaTqQT6d29DaYtTTnEqE8iZPRbuvsdrovGJ0
oEo/2j7M3HzDd5UG/MdtqEVttRrCgXxhKOHxdYbSMDR13n16mi4PV8NhFZDeWHC4
xyMJkSijnbMA12VTs3s7AoGBAInbmL0IkPofNaIRWCbrVS+4oV+1wOhpfa5aY8Rv
CNVgewinhQHH3ZJq692BDFshSXeJaEpfJlSdXI2YbC1burzcQ7p6tDMCjT+AF4Iy
4kq7y4VGCDHh67U32veSp8UMUa1AbS6z1qkHMiqaftTMO8/gA2uCOT0s/8RoW672
YJC7AoGAbpYmmhMp/hITKqLxFmzN+mK0lt8Ulgqo+xhoPycRXGJ0LcQntwL28Bvv
gKU4L0YockExwedM4Xjgvos0bj8vtAmFsVqWTiVOMIr1hMwPj79cyMgOILO5fJ2T
2s2dafFQiysUddn9RlDpcm18/Nn3CYOc5ZZvMtqMWe8nFwjklLE=
-----END RSA PRIVATE KEY-----

View file

@ -1 +0,0 @@
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAs7YceedkXYoPDinUWKISRv48DbcAdIgw+bm/EBwsHcBHxr8LbX6jNTRQifp7aiCNeoW7U+sqDsJ9r4CqDWagXg/o2uhYDbdizz3Gpiwslqi0tvu+e3/0J327wTB81v2pZ8j6DILR+kN+S8LXUHzUsFus8XHK3SvyWqlxqRBOpkP3tqB5Grfjuwn9IJJcvqcqkjXJcDuij9RE7EHmWGEv6c4MtS5mTpXGy9xPnehwcGzm5fEisxzLts/F6YgC6p7D7ZxR0Hm6YQteIFjhFkIMqNjPu78jrEfWD84C+wmpypSjVFMWQaH+qDeeDWRE6WUufH+Uirzm7DLvHdnsgCeGoQ== tester@sita-wd.atc.tcs.com

View file

@ -1,27 +0,0 @@
-----BEGIN RSA PRIVATE KEY-----
MIIEogIBAAKCAQEAyjyPl0ARSBYZTuZtkPJH+3wqruonGvchQpR+RgUjJKbPJqgv
dbuqaiTUMHnEDzTPWM54IBP78OdGntcDxhUCgZKC9k2IZg0aT/EvwcavZswBrw/3
GSJ22pr5VR/zBLoLBK1oQedJY1rMIo3LeqreyRo7gFnvSGX1s2VsmkrLhz687HM+
64GII0RtoFj2wZ2ZL5ssT++Nt8mLypdwOHEiIZjtrqK5UtEvUrVvGVN0vICyqB/1
mftzo9zjEj3BoBIQieOKLZOraHgsvUwdpYD52ASD3kAS5tiJbvpG9D81E5Zkfk4P
xDaKeRF5IFivxbM2MCztcGtJi5hRw9eU0evXrQIBIwKCAQAXHN0122+wd43dIaYf
MaHTmSlzE3Iu96wHm/Eskt9x5y2eBJe1rwwpY0tzQR24mFI2CPfJJtr29dwvaQe+
3dRmlGa9ECzYdoaqDO+D3DFNk6hrx09wljl4EbYYW2w7DfKhcudX/Sz1aXZqWVkV
VVtKLuI6je91/QYjIYjBLR6THOiXZRePbzY2/zMktm35v625b5k3CS1BKbd8jAfY
zUf70ceOgFZlLT55ab1tAEQaMFI/UhJTl9oTKnnZF9ULc0HBqHo6/pbaxZ1rrlb7
D0H/Wbqf/INtdpMI32OVRSdtyYo9GezBBLc1VkcSmA+o2eOUQe6jldt71welXSFX
fsPbAoGBAP2Xql6WyGvKVzksZOHL1Huh0x01UPSIdSIjnA5zQe1euZbCKUZDN939
xPM8Xtno4nSMtLF6wbFS8iWJI1Ecp121rzG5dNSIvFYNjaXma44PlU70smrfGPTt
v2LKeXKiaZAaPo8b+qwhdfqgGyuCRqSsD6d5dEf3skGf6rRnoyRXAoGBAMwoFFIt
rAH3tDTyt9Kse+13N5J5Dk01J2QlMh0cKv7nc8TNln8aTW6uk0JjMkbud25xXSPD
yQ4pNxNdiehfOjN1sirv6y7lerVBiP6qT+pOHhPxrCoJ8g3zmDzPqKlwiVrNbKkP
UptE6JCdivs9+goy3F3fl8EYTI08/fyss4GbAoGBAKalfpXuDq070usOi2/PFppj
BxMxqjpLCyUQFhgf2t3QiJZFE88WOqfSpf7tKGNP5UVGhV6vwRzBeo2x5AIaJNcu
P+153w9SimRvTnRVlyLXClh06kY61eLIHq6iT879A4qU50gZs1sr7nF/J8wiaO/e
yHVecPwXzOlL1L+x0ZuJAoGARf8c6Pm3USG6IMg/BmcF6wRNkU4TiC97OEdEYcCD
xRwnsTCLXscwfbgyfSlTEQFNhPOq57DXOA4hgvt/vWJ6WslEZn4kv58iwc1TioOJ
HSIY8OUlFbpEXI4IT10j4lJ4PGOwOfaf+riKQDYDw9q8IMD7GN7yM5NNckDMHB30
ZvMCgYEAstjuwtdD5qNQaGL4dCplVHmfBohXpZayhAQN3ziY/yScIziM9uBCGcKv
E8toH0EgJBp06+dWZ/2mzgByEhlqKwfbGd1Z33ed3zzQNl7NAMzqKHOtN7KPeNLx
5mzEOwryf9WqPGpjAnFyIYF/ZTN9JgHWUqTI1jVW4lefOw2Ji8w=
-----END RSA PRIVATE KEY-----

View file

@ -1 +0,0 @@
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAyjyPl0ARSBYZTuZtkPJH+3wqruonGvchQpR+RgUjJKbPJqgvdbuqaiTUMHnEDzTPWM54IBP78OdGntcDxhUCgZKC9k2IZg0aT/EvwcavZswBrw/3GSJ22pr5VR/zBLoLBK1oQedJY1rMIo3LeqreyRo7gFnvSGX1s2VsmkrLhz687HM+64GII0RtoFj2wZ2ZL5ssT++Nt8mLypdwOHEiIZjtrqK5UtEvUrVvGVN0vICyqB/1mftzo9zjEj3BoBIQieOKLZOraHgsvUwdpYD52ASD3kAS5tiJbvpG9D81E5Zkfk4PxDaKeRF5IFivxbM2MCztcGtJi5hRw9eU0evXrQ== tester@sita-wd.atc.tcs.com

View file

@ -1,27 +0,0 @@
-----BEGIN RSA PRIVATE KEY-----
MIIEoQIBAAKCAQEAonPym8U2ElyMBPVtk5rLqz44QG9pSTTpOj8AmqBRpy9W0B6C
4yuYf4oVNJMD3GEq6Y65uhmSmN/Nqi99++TtwrNPCRYwXHHa2ZUwHT6ow6Izkrnn
nzkkPBgpBOKmn/M8z7xlsQhmEBuKlUgYOrdnfRnkvOTTuF4Fq4jSpagOnLjpPlxr
KZ6vcdvVjZ3kWtZEI+HowS1IKxZsI0UbP/FzSUFrlxLAedrPFBUiUfdl/VPOMs7t
AjHFUMepq4vzjQlupuJEhaB24nCQFlV5gLQjrGgRs3gs6AJRCYMtE5edsllG1hJV
ro2UGiH8pvOOso4LYKbyiHuUjuToRlUNjpqRqQIBIwKCAQBTjBZevTHATNpLsWuN
vVLNGK83FLnN4LJ1ugBPhaZV+xa0LPLbOv34cuZVjW+zKqha26/5TvrviQqvS5/g
oZ7ZKQQTTT1xXyAYINbqd/8Fhp4uM7jyzO4QRvCGK2uit5ueCR5bC6I0K2vXvq1g
Boz+glhhJTmvRkwPEyqBFJnM8JBAxp57WEjC0tK6Cw8soKEgfwe6dUouRRdEA6q7
+Z86azz8YkenUM8o/j6IRshJGBBpOfF1c6NY1M9CLebSKIocg9jxBqdMZHnzpqSW
qxjibSUGQWU/7o45TRAefdpQR6+HLR1mGxvxtU94/AH94MjmUv827Nd6OhMyynh5
s0cjAoGBAMwm96LBouDUsmhThbK27a3B0CnlkS1FYkwuNbudWoS+kGPktu3S/rqe
i8Czn6mQEKaEvY0ECcnPaSN9Nno7G26TrrUGjIAjWFTKWJ4HognuLj0eBf+OLfrg
WgcXZJtK4vk8hY26DsleIO8DEg/Vkg0x9EozEI4Qbg3IRbvroiHzAoGBAMu14pQ/
QevNAUVCHyJbWutNjIUp8O42ZqubegVt+Kq1iy2OuSrhhg/et3ZABv4YBiQ2y1/S
qq+p+Z3YUY3Vu54xFr7/v+pVOGqc437+xWlbSSkJSFpBErNkaKMWPkuu6uoStQ7K
ZoYtIIFVE+zEqneLSincZZxmIl/UMErvOEjzAoGAF1TpGeo+gBhO51oAprXSBTq4
tFTAIm5UYHpPSKRE2/iFh8JeDI0kbRlvDrVxVTUJN5okSqFgNFI35sx7QStTl5vZ
c8Y78WMgCbC5q6kZ1T/KxSgAr332oFQni8gowUpjFSt8+kEmQuYvpkl+aDWqSqaf
k3OM3QkxJiWET/2sISMCgYBLqfUSfeVI9F+OwMm8TdFQFX1WCEOLrc5c/zvzY1xc
qdSb5I3rWxSJjTzUJmj/SsBz2daCrVVXMIFJQbfkOXGSh0L2fD/388R/Xtgn2vjd
/VWwKATuUq8ssEQfUWeYdCteQXZzNTwF84EaGEk6r3KELGwA63YyxtmRTtAb1TIp
uQKBgQC60e8R2YqZ6ylmPygjOAMw3rsEyDYrEtMqIKZIgrjAvEnrhyif9LS2a1aF
6Hg3IJmeTVt6ql5iDYK3nfnv/rSLs2vAdGwD082Lasx/bk8kDro0fSVylI50g1/U
BRzkoHBZb6mKKJfFNzDr0Py790lmsp3DYIYPxoouvSgDvcKJZw==
-----END RSA PRIVATE KEY-----

View file

@ -1 +0,0 @@
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAonPym8U2ElyMBPVtk5rLqz44QG9pSTTpOj8AmqBRpy9W0B6C4yuYf4oVNJMD3GEq6Y65uhmSmN/Nqi99++TtwrNPCRYwXHHa2ZUwHT6ow6IzkrnnnzkkPBgpBOKmn/M8z7xlsQhmEBuKlUgYOrdnfRnkvOTTuF4Fq4jSpagOnLjpPlxrKZ6vcdvVjZ3kWtZEI+HowS1IKxZsI0UbP/FzSUFrlxLAedrPFBUiUfdl/VPOMs7tAjHFUMepq4vzjQlupuJEhaB24nCQFlV5gLQjrGgRs3gs6AJRCYMtE5edsllG1hJVro2UGiH8pvOOso4LYKbyiHuUjuToRlUNjpqRqQ== tester@sita-wd.atc.tcs.com

View file

@ -1,27 +0,0 @@
-----BEGIN RSA PRIVATE KEY-----
MIIEogIBAAKCAQEApqmFYqqjj1pPRGICRIIYLTF9JoLz+oU5nf+jei7WVxlE4Z7T
AtUn/8ldZiJb8+OKtX0h/P6cuxcs3ZclAeICC5DYZ+zfgb0blIrz3n7x4EC8Ti/w
PhIL3OjmoUIl3PqvxE9QmwIMG5TfIIOkvGBZAGB2YiyusohLqqJ26m/SY29yzpf8
zqu2aJLV+rYeDPGgkOFVFaTAYxTWDUZAqFEuBZm1Nhs413dOa2oBDT+DY/TnY7D0
TDbhai3/nX1v0Mx3F96aGKxPfQsiQs8bniAZa+F5NO5F67avq0YtKF24JmP8zCm1
WQ2I/CqjtxbBKJNPKZAE25VnJi7+BRStFAwXIwIBIwKCAQEAihduhPPJWYVXnw9g
9u9zHiGw1sRGfx3t6VAoXexLMjmCN0kVPNyAOlZjVKAgTbyI34TwRqcUJf1CbnXr
dpaxPMh4yyNaGwpnTzFNuFqN5bH7HDZZWABS+N47b6vWOsEVSuKh34VafUDWIkEw
uVclLDKrO2bZ5GJNUt5ih7u880xgibWN6sm6UdO5SL/Y+0imWwipGDFERBBexBT9
xZwFTilSb9Eo+WxfLJQhqRnbhPQvH107oId4v5oxw5FvQSM7JSF2hyTLbz7pXMIb
sjolhxIikhok3S991xPRl62Q38rl6RitzsrN1/UVl24qN0CUmu3qGqO7YRix4m1h
K3FS6wKBgQDSpqRGEy41eUlmwNhXz8K0pSJkYB3j3OgaxlorDebrE5GVT0o4SKaB
qyx4z0XjARrrQxU91OoCtotsdIkjYtKArQzgqv4Wrc6MoulTdpmSCxGtwxgvSTSv
YOEsywDomS6c/hwziTciRyPAD6eUxOle93qmX2lMsvMNcwiHoYn60QKBgQDKipQu
w2+OaThAKK+dDejlWpEtdQTH7WhsNvYPdvSU0X36M7oVuhA2k0Qh0v26wmPU6RmI
/C3IjpkHptrXz+ns1BNE3DsxoUAa4H/tWUBaFhIu9ni+AX2mNSnFnXmt8d9kzzZX
xJsEWBzkE/ve9NeVHtLrq3gmpcXcFteVsNYHswKBgAwJhbrchkwy0P6OrUbYrApS
lEBAAbU/0r+zkB+3psuat9ylcfSWb+onCdsEh6aSWU9FqXE/XdRE8gYyi35dax1L
t5fPQbgnMF/Oy4EcuFF8+bIoZ8gwEaOfIs9cDq40o5PxQ3CowVJqdxJKCZN492SD
K5R6ewuydEnpUPHOt21rAoGAEVxV2B9hVVl52Z0WXes/2SUFISdJjXq/zsLh5BGC
rauOdIgXQ7Dc0XpWTArFSoWwyRtLVOJqUwToi6CWakUFbBItiY84RhUiwHmkkK/g
8cdgpPCOAahbOiHQYWVE8acEhPvRdTy81HyUwxen3+kZyvQDc0k2LzLH0QlFrb6z
Qn0CgYEAmQqc19g5dEpHfbdOPeSrgdf3urcyt6ot1jL9i6B2U6akfvp5GFhGoAs/
C6q6mplU0by/bmMtYyRhY+7tux2Wz5yaMDwUU5/jnECtt8W7gDi5Y6vaRTIc/2n/
j53jeI8PJgKNHeF+tbILdUUHDsTLvx/PWVkae1SzDRY8swbIxyI=
-----END RSA PRIVATE KEY-----

View file

@ -1 +0,0 @@
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEApqmFYqqjj1pPRGICRIIYLTF9JoLz+oU5nf+jei7WVxlE4Z7TAtUn/8ldZiJb8+OKtX0h/P6cuxcs3ZclAeICC5DYZ+zfgb0blIrz3n7x4EC8Ti/wPhIL3OjmoUIl3PqvxE9QmwIMG5TfIIOkvGBZAGB2YiyusohLqqJ26m/SY29yzpf8zqu2aJLV+rYeDPGgkOFVFaTAYxTWDUZAqFEuBZm1Nhs413dOa2oBDT+DY/TnY7D0TDbhai3/nX1v0Mx3F96aGKxPfQsiQs8bniAZa+F5NO5F67avq0YtKF24JmP8zCm1WQ2I/CqjtxbBKJNPKZAE25VnJi7+BRStFAwXIw== tester@sita-wd.atc.tcs.com

View file

@ -1,11 +1,8 @@
#!/bin/bash
export TESTDIR=$PWD
cd
cd $HOME
rm -rf gitolite-admin td
tar xf rollback.tar
tar xf client-rollback.tar
mkdir td
scp -q $TESTDIR/rollback.server gitolite-test@localhost:rollback || { echo scp failed; exit 1; }
ssh gitolite-test@localhost ./rollback $GQT
$TESTDIR/rollback.server

View file

@ -1,15 +1,6 @@
#!/bin/bash
cd
cd $HOME
rm -rf .ssh .gitolite .gitolite.rc repositories gitolite-install /tmp/glrb bin share
tar xf rollback.tar
( cd /tmp; tar xf ~/rollback2.tar )
# if arg1 is a directory, we have to overwrite sources from there (see commit
# message for details)
if [ -d "$1" ]
then
cd .gitolite
/bin/cp -a $1/{src,hooks} .
cd
fi
tar xf server-rollback.tar
( cd /tmp; tar xf ~/server-rollback2.tar )

View file

@ -1,7 +1,7 @@
# vim: syn=sh:
has_export_ok() {
runremote ls -al $TEST_BASE_FULL/$1.git/git-daemon-export-ok
expect "gitolite-test gitolite-test .* $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() {

View file

@ -44,7 +44,7 @@ cannot_push() {
has_export_ok() {
runremote ls -al $TEST_BASE_FULL/$1.git/git-daemon-export-ok
expect "gitolite-test gitolite-test .* $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() {

View file

@ -17,7 +17,7 @@ do
name "daemon access for testing repo"
runremote ls -al $TEST_BASE/testing.git/git-daemon-export-ok
[ "$ais" = "0" ] && expect "ls: cannot access $TEST_BASE/testing.git/git-daemon-export-ok: No such file or directory"
[ "$ais" = "1" ] && expect "gitolite-test gitolite-test .* $TEST_BASE/testing.git/git-daemon-export-ok"
[ "$ais" = "1" ] && expect "$USER $USER .* $TEST_BASE/testing.git/git-daemon-export-ok"
name "INTERNAL"
echo "
@ -33,8 +33,8 @@ do
runremote ls -al $TEST_BASE/bar.git/git-daemon-export-ok
expect "ls: cannot access $TEST_BASE/bar.git/git-daemon-export-ok: No such file or directory"
runremote ls -al projects.list
[ "$ais" = "0" ] && expect "gitolite-test gitolite-test 0 .* projects.list"
[ "$ais" = "1" ] && expect "gitolite-test gitolite-test 12 .* projects.list"
[ "$ais" = "0" ] && expect "$USER $USER 0 .* projects.list"
[ "$ais" = "1" ] && expect "$USER $USER 12 .* projects.list"
runremote cat projects.list
[ "$ais" = "0" ] && notexpect "testing.git"
[ "$ais" = "1" ] && expect "testing.git"
@ -44,10 +44,10 @@ do
R = daemon
" | ugc
runremote ls -al $TEST_BASE/bar.git/git-daemon-export-ok
expect "gitolite-test gitolite-test .* $TEST_BASE/bar.git/git-daemon-export-ok"
expect "$USER $USER .* $TEST_BASE/bar.git/git-daemon-export-ok"
runremote ls -al projects.list
[ "$ais" = "0" ] && expect "gitolite-test gitolite-test 0 .* projects.list"
[ "$ais" = "1" ] && expect "gitolite-test gitolite-test 12 .* projects.list"
[ "$ais" = "0" ] && expect "$USER $USER 0 .* projects.list"
[ "$ais" = "1" ] && expect "$USER $USER 12 .* projects.list"
name "add foo with gitweb access"
echo "
@ -62,8 +62,8 @@ do
" | ugc
expect_push_ok "master -> master"
runremote ls -al projects.list
[ "$ais" = "0" ] && expect "gitolite-test gitolite-test 8 .* projects.list"
[ "$ais" = "1" ] && expect "gitolite-test gitolite-test 20 .* projects.list"
[ "$ais" = "0" ] && expect "$USER $USER 8 .* projects.list"
[ "$ais" = "1" ] && expect "$USER $USER 20 .* projects.list"
runremote cat projects.list
[ "$ais" = "0" ] && notexpect "testing.git"
[ "$ais" = "1" ] && expect "testing.git"
@ -76,8 +76,8 @@ do
" | ugc
expect_push_ok "master -> master"
runremote ls -al projects.list
[ "$ais" = "0" ] && expect "gitolite-test gitolite-test 16 .* projects.list"
[ "$ais" = "1" ] && expect "gitolite-test gitolite-test 28 .* projects.list"
[ "$ais" = "0" ] && expect "$USER $USER 16 .* projects.list"
[ "$ais" = "1" ] && expect "$USER $USER 28 .* projects.list"
runremote cat projects.list
[ "$ais" = "0" ] && notexpect "testing.git"
[ "$ais" = "1" ] && expect "testing.git"
@ -95,8 +95,8 @@ do
expect_push_ok "master -> master"
expect "remote: Initialized empty Git repository in $TEST_BASE_FULL/baz.git/"
runremote ls -al projects.list
[ "$ais" = "0" ] && expect "gitolite-test gitolite-test 24 .* projects.list"
[ "$ais" = "1" ] && expect "gitolite-test gitolite-test 36 .* projects.list"
[ "$ais" = "0" ] && expect "$USER $USER 24 .* projects.list"
[ "$ais" = "1" ] && expect "$USER $USER 36 .* projects.list"
runremote cat projects.list
[ "$ais" = "0" ] && notexpect "testing.git"
[ "$ais" = "1" ] && expect "testing.git"
@ -104,7 +104,7 @@ do
expect "bar.git"
expect "baz.git"
runremote ls -al $TEST_BASE/baz.git/description
expect "gitolite-test gitolite-test 17 .* $TEST_BASE/baz.git/description"
expect "$USER $USER 17 .* $TEST_BASE/baz.git/description"
runremote cat $TEST_BASE/baz.git/description
expect "this is repo baz"
@ -114,7 +114,7 @@ do
" | ugc
expect_push_ok "master -> master"
runremote ls -al projects.list
expect "gitolite-test gitolite-test 36 .* projects.list"
expect "$USER $USER 36 .* projects.list"
runremote cat projects.list
expect "testing.git"
expect "foo.git"
@ -124,7 +124,7 @@ do
expect "\[gitweb\]"
expect "owner = sitaram"
runremote ls -al $TEST_BASE/testing.git/description
expect "gitolite-test gitolite-test 25 .* $TEST_BASE/testing.git/description"
expect "$USER $USER 25 .* $TEST_BASE/testing.git/description"
runremote cat $TEST_BASE/testing.git/description
expect "this is the testing repo"

View file

@ -27,8 +27,8 @@ do
runremote ls -al $TEST_BASE/bar/u1/try1.git/git-daemon-export-ok
expect "ls: cannot access $TEST_BASE/bar/u1/try1.git/git-daemon-export-ok: No such file or directory"
runremote ls -al projects.list
[ "$ais" = "0" ] && expect "gitolite-test gitolite-test 0 .* projects.list"
[ "$ais" = "1" ] && expect "gitolite-test gitolite-test 12 .* projects.list"
[ "$ais" = "0" ] && expect "$USER $USER 0 .* projects.list"
[ "$ais" = "1" ] && expect "$USER $USER 12 .* projects.list"
runremote cat projects.list
[ "$ais" = "0" ] && notexpect "testing.git"
[ "$ais" = "1" ] && expect "testing.git"
@ -39,18 +39,18 @@ do
R = daemon
" | ugc
runremote ls -al $TEST_BASE/bar/u1/try1.git/git-daemon-export-ok
expect "gitolite-test gitolite-test .* $TEST_BASE/bar/u1/try1.git/git-daemon-export-ok"
expect "$USER $USER .* $TEST_BASE/bar/u1/try1.git/git-daemon-export-ok"
runremote ls -al projects.list
[ "$ais" = "0" ] && expect "gitolite-test gitolite-test 0 .* projects.list"
[ "$ais" = "1" ] && expect "gitolite-test gitolite-test 12 .* projects.list"
[ "$ais" = "0" ] && expect "$USER $USER 0 .* projects.list"
[ "$ais" = "1" ] && expect "$USER $USER 12 .* projects.list"
name "add one more repo"
runlocal git ls-remote u1:bar/u1/try2
runremote ls -al $TEST_BASE/bar/u1/try2.git/git-daemon-export-ok
expect "gitolite-test gitolite-test .* $TEST_BASE/bar/u1/try2.git/git-daemon-export-ok"
expect "$USER $USER .* $TEST_BASE/bar/u1/try2.git/git-daemon-export-ok"
runremote ls -al projects.list
[ "$ais" = "0" ] && expect "gitolite-test gitolite-test 0 .* projects.list"
[ "$ais" = "1" ] && expect "gitolite-test gitolite-test 12 .* projects.list"
[ "$ais" = "0" ] && expect "$USER $USER 0 .* projects.list"
[ "$ais" = "1" ] && expect "$USER $USER 12 .* projects.list"
runremote cat projects.list
[ "$ais" = "0" ] && notexpect "testing.git"
[ "$ais" = "1" ] && expect "testing.git"
@ -63,8 +63,8 @@ do
bar/u1/try3 = \"this is bar/u1/try3\"
" | ugc
runremote ls -al projects.list
[ "$ais" = "0" ] && expect "gitolite-test gitolite-test 16 .* projects.list"
[ "$ais" = "1" ] && expect "gitolite-test gitolite-test 28 .* projects.list"
[ "$ais" = "0" ] && expect "$USER $USER 16 .* projects.list"
[ "$ais" = "1" ] && expect "$USER $USER 28 .* projects.list"
runremote cat projects.list
[ "$ais" = "0" ] && notexpect "testing.git"
[ "$ais" = "1" ] && expect "testing.git"
@ -77,10 +77,10 @@ do
name "add try3 project"
runlocal git ls-remote u1:bar/u1/try3
runremote ls -al $TEST_BASE/bar/u1/try3.git/git-daemon-export-ok
expect "gitolite-test gitolite-test .* $TEST_BASE/bar/u1/try3.git/git-daemon-export-ok"
expect "$USER $USER .* $TEST_BASE/bar/u1/try3.git/git-daemon-export-ok"
runremote ls -al projects.list
[ "$ais" = "0" ] && expect "gitolite-test gitolite-test 16 .* projects.list"
[ "$ais" = "1" ] && expect "gitolite-test gitolite-test 28 .* projects.list"
[ "$ais" = "0" ] && expect "$USER $USER 16 .* projects.list"
[ "$ais" = "1" ] && expect "$USER $USER 28 .* projects.list"
runremote cat projects.list
[ "$ais" = "0" ] && notexpect "testing.git"
[ "$ais" = "1" ] && expect "testing.git"
@ -96,10 +96,10 @@ do
echo "
" | ugc
runremote ls -al $TEST_BASE/bar/u1/try3.git/git-daemon-export-ok
expect "gitolite-test gitolite-test .* $TEST_BASE/bar/u1/try3.git/git-daemon-export-ok"
expect "$USER $USER .* $TEST_BASE/bar/u1/try3.git/git-daemon-export-ok"
runremote ls -al projects.list
[ "$ais" = "0" ] && expect "gitolite-test gitolite-test 32 .* projects.list"
[ "$ais" = "1" ] && expect "gitolite-test gitolite-test 44 .* projects.list"
[ "$ais" = "0" ] && expect "$USER $USER 32 .* projects.list"
[ "$ais" = "1" ] && expect "$USER $USER 44 .* projects.list"
runremote cat projects.list
[ "$ais" = "0" ] && notexpect "testing.git"
[ "$ais" = "1" ] && expect "testing.git"
@ -119,8 +119,8 @@ do
expect "\[gitweb\]"
expect "owner = owner2"
runremote ls -al projects.list
[ "$ais" = "0" ] && expect "gitolite-test gitolite-test 48 .* projects.list"
[ "$ais" = "1" ] && expect "gitolite-test gitolite-test 60 .* projects.list"
[ "$ais" = "0" ] && expect "$USER $USER 48 .* projects.list"
[ "$ais" = "1" ] && expect "$USER $USER 60 .* projects.list"
runremote cat projects.list
expect "bar/u1/try2.git"
@ -131,8 +131,8 @@ do
" | ugc
expect_push_ok "master -> master"
runremote ls -al projects.list
[ "$ais" = "0" ] && expect "gitolite-test gitolite-test 48 .* projects.list"
[ "$ais" = "1" ] && expect "gitolite-test gitolite-test 60 .* projects.list"
[ "$ais" = "0" ] && expect "$USER $USER 48 .* projects.list"
[ "$ais" = "1" ] && expect "$USER $USER 60 .* projects.list"
runremote cat projects.list
[ "$ais" = "0" ] && notexpect "testing.git"
[ "$ais" = "1" ] && expect "testing.git"
@ -143,8 +143,8 @@ do
name "add try4 project"
runlocal git ls-remote u1:bar/u1/try4
runremote ls -al projects.list
[ "$ais" = "0" ] && expect "gitolite-test gitolite-test 64 .* projects.list"
[ "$ais" = "1" ] && expect "gitolite-test gitolite-test 76 .* projects.list"
[ "$ais" = "0" ] && expect "$USER $USER 64 .* projects.list"
[ "$ais" = "1" ] && expect "$USER $USER 76 .* projects.list"
runremote cat projects.list
[ "$ais" = "0" ] && notexpect "testing.git"
[ "$ais" = "1" ] && expect "testing.git"
@ -188,8 +188,8 @@ do
runremote ls -al $TEST_BASE/bar/u1/try1.git/git-daemon-export-ok
expect "ls: cannot access $TEST_BASE/bar/u1/try1.git/git-daemon-export-ok: No such file or directory"
runremote ls -al projects.list
[ "$ais" = "0" ] && expect "gitolite-test gitolite-test 0 .* projects.list"
[ "$ais" = "1" ] && expect "gitolite-test gitolite-test 12 .* projects.list"
[ "$ais" = "0" ] && expect "$USER $USER 0 .* projects.list"
[ "$ais" = "1" ] && expect "$USER $USER 12 .* projects.list"
runremote cat projects.list
[ "$ais" = "0" ] && notexpect "testing.git"
[ "$ais" = "1" ] && expect "testing.git"
@ -200,18 +200,18 @@ do
R = daemon
" | ugc
runremote ls -al $TEST_BASE/bar/u1/try1.git/git-daemon-export-ok
expect "gitolite-test gitolite-test .* $TEST_BASE/bar/u1/try1.git/git-daemon-export-ok"
expect "$USER $USER .* $TEST_BASE/bar/u1/try1.git/git-daemon-export-ok"
runremote ls -al projects.list
[ "$ais" = "0" ] && expect "gitolite-test gitolite-test 0 .* projects.list"
[ "$ais" = "1" ] && expect "gitolite-test gitolite-test 12 .* projects.list"
[ "$ais" = "0" ] && expect "$USER $USER 0 .* projects.list"
[ "$ais" = "1" ] && expect "$USER $USER 12 .* projects.list"
name "add one more repo"
runlocal git ls-remote u1:bar/u1/try2
runremote ls -al $TEST_BASE/bar/u1/try2.git/git-daemon-export-ok
expect "gitolite-test gitolite-test .* $TEST_BASE/bar/u1/try2.git/git-daemon-export-ok"
expect "$USER $USER .* $TEST_BASE/bar/u1/try2.git/git-daemon-export-ok"
runremote ls -al projects.list
[ "$ais" = "0" ] && expect "gitolite-test gitolite-test 0 .* projects.list"
[ "$ais" = "1" ] && expect "gitolite-test gitolite-test 12 .* projects.list"
[ "$ais" = "0" ] && expect "$USER $USER 0 .* projects.list"
[ "$ais" = "1" ] && expect "$USER $USER 12 .* projects.list"
runremote cat projects.list
[ "$ais" = "0" ] && notexpect "testing.git"
[ "$ais" = "1" ] && expect "testing.git"
@ -224,8 +224,8 @@ do
bar/u1/try3 = \"this is bar/u1/try3\"
" | ugc
runremote ls -al projects.list
[ "$ais" = "0" ] && expect "gitolite-test gitolite-test 20 .* projects.list"
[ "$ais" = "1" ] && expect "gitolite-test gitolite-test 32 .* projects.list"
[ "$ais" = "0" ] && expect "$USER $USER 20 .* projects.list"
[ "$ais" = "1" ] && expect "$USER $USER 32 .* projects.list"
runremote cat projects.list
[ "$ais" = "0" ] && notexpect "testing.git"
[ "$ais" = "1" ] && expect "testing.git"
@ -241,10 +241,10 @@ do
name "add try3 project"
runlocal git ls-remote u1:bar/u1/try3
runremote ls -al $TEST_BASE/bar/u1/try3.git/git-daemon-export-ok
expect "gitolite-test gitolite-test .* $TEST_BASE/bar/u1/try3.git/git-daemon-export-ok"
expect "$USER $USER .* $TEST_BASE/bar/u1/try3.git/git-daemon-export-ok"
runremote ls -al projects.list
[ "$ais" = "0" ] && expect "gitolite-test gitolite-test 20 .* projects.list"
[ "$ais" = "1" ] && expect "gitolite-test gitolite-test 32 .* projects.list"
[ "$ais" = "0" ] && expect "$USER $USER 20 .* projects.list"
[ "$ais" = "1" ] && expect "$USER $USER 32 .* projects.list"
runremote cat projects.list
[ "$ais" = "0" ] && notexpect "testing.git"
[ "$ais" = "1" ] && expect "testing.git"
@ -263,10 +263,10 @@ do
echo "
" | ugc
runremote ls -al $TEST_BASE/bar/u1/try3.git/git-daemon-export-ok
expect "gitolite-test gitolite-test .* $TEST_BASE/bar/u1/try3.git/git-daemon-export-ok"
expect "$USER $USER .* $TEST_BASE/bar/u1/try3.git/git-daemon-export-ok"
runremote ls -al projects.list
[ "$ais" = "0" ] && expect "gitolite-test gitolite-test 40 .* projects.list"
[ "$ais" = "1" ] && expect "gitolite-test gitolite-test 52 .* projects.list"
[ "$ais" = "0" ] && expect "$USER $USER 40 .* projects.list"
[ "$ais" = "1" ] && expect "$USER $USER 52 .* projects.list"
runremote cat projects.list
[ "$ais" = "0" ] && notexpect "testing.git"
[ "$ais" = "1" ] && expect "testing.git"
@ -289,8 +289,8 @@ do
expect "\[gitweb\]"
expect "owner = owner2"
runremote ls -al projects.list
[ "$ais" = "0" ] && expect "gitolite-test gitolite-test 60 .* projects.list"
[ "$ais" = "1" ] && expect "gitolite-test gitolite-test 72 .* projects.list"
[ "$ais" = "0" ] && expect "$USER $USER 60 .* projects.list"
[ "$ais" = "1" ] && expect "$USER $USER 72 .* projects.list"
runremote cat projects.list
expect "bar%2Fu1%2Ftry2.git"
@ -301,8 +301,8 @@ do
" | ugc
expect_push_ok "master -> master"
runremote ls -al projects.list
[ "$ais" = "0" ] && expect "gitolite-test gitolite-test 60 .* projects.list"
[ "$ais" = "1" ] && expect "gitolite-test gitolite-test 72 .* projects.list"
[ "$ais" = "0" ] && expect "$USER $USER 60 .* projects.list"
[ "$ais" = "1" ] && expect "$USER $USER 72 .* projects.list"
runremote cat projects.list
[ "$ais" = "0" ] && notexpect "testing.git"
[ "$ais" = "1" ] && expect "testing.git"
@ -313,8 +313,8 @@ do
name "add try4 project"
runlocal git ls-remote u1:bar/u1/try4
runremote ls -al projects.list
[ "$ais" = "0" ] && expect "gitolite-test gitolite-test 80 .* projects.list"
[ "$ais" = "1" ] && expect "gitolite-test gitolite-test 92 .* projects.list"
[ "$ais" = "0" ] && expect "$USER $USER 80 .* projects.list"
[ "$ais" = "1" ] && expect "$USER $USER 92 .* projects.list"
runremote cat projects.list
[ "$ais" = "0" ] && notexpect "testing.git"
[ "$ais" = "1" ] && expect "testing.git"

View file

@ -28,8 +28,8 @@ do
runremote ls -al $TEST_BASE/bar/u1/try1.git/git-daemon-export-ok
expect "ls: cannot access $TEST_BASE/bar/u1/try1.git/git-daemon-export-ok: No such file or directory"
runremote ls -al projects.list
[ "$ais" = "0" ] && expect "gitolite-test gitolite-test 0 .* projects.list"
[ "$ais" = "1" ] && expect "gitolite-test gitolite-test 12 .* projects.list"
[ "$ais" = "0" ] && expect "$USER $USER 0 .* projects.list"
[ "$ais" = "1" ] && expect "$USER $USER 12 .* projects.list"
runremote cat projects.list
notexpect "bar/u1/try1.git"
@ -37,8 +37,8 @@ do
runremote ls -al $TEST_BASE/bar/u1/try2.git/git-daemon-export-ok
expect "ls: cannot access $TEST_BASE/bar/u1/try2.git/git-daemon-export-ok: No such file or directory"
runremote ls -al projects.list
[ "$ais" = "0" ] && expect "gitolite-test gitolite-test 0 .* projects.list"
[ "$ais" = "1" ] && expect "gitolite-test gitolite-test 12 .* projects.list"
[ "$ais" = "0" ] && expect "$USER $USER 0 .* projects.list"
[ "$ais" = "1" ] && expect "$USER $USER 12 .* projects.list"
runremote cat projects.list
notexpect "bar/u1/try2.git"
@ -47,10 +47,10 @@ do
expect "READERS daemon"
runremote ls -al $TEST_BASE/bar/u1/try1.git/git-daemon-export-ok
expect "gitolite-test gitolite-test .* $TEST_BASE/bar/u1/try1.git/git-daemon-export-ok"
expect "$USER $USER .* $TEST_BASE/bar/u1/try1.git/git-daemon-export-ok"
runremote ls -al projects.list
[ "$ais" = "0" ] && expect "gitolite-test gitolite-test 0 .* projects.list"
[ "$ais" = "1" ] && expect "gitolite-test gitolite-test 12 .* projects.list"
[ "$ais" = "0" ] && expect "$USER $USER 0 .* projects.list"
[ "$ais" = "1" ] && expect "$USER $USER 12 .* projects.list"
runremote cat projects.list
notexpect "bar/u1/try1.git"
@ -61,8 +61,8 @@ do
runremote ls -al $TEST_BASE/bar/u1/try2.git/git-daemon-export-ok
expect "ls: cannot access $TEST_BASE/bar/u1/try2.git/git-daemon-export-ok: No such file or directory"
runremote ls -al projects.list
[ "$ais" = "0" ] && expect "gitolite-test gitolite-test 16 .* projects.list"
[ "$ais" = "1" ] && expect "gitolite-test gitolite-test 28 .* projects.list"
[ "$ais" = "0" ] && expect "$USER $USER 16 .* projects.list"
[ "$ais" = "1" ] && expect "$USER $USER 28 .* projects.list"
runremote cat projects.list
expect "bar/u1/try2.git"
@ -71,10 +71,10 @@ do
name "add default daemon access"
runlocal git ls-remote u1:bar/u1/try3
runremote ls -al $TEST_BASE/bar/u1/try3.git/git-daemon-export-ok
expect "gitolite-test gitolite-test .* $TEST_BASE/bar/u1/try3.git/git-daemon-export-ok"
expect "$USER $USER .* $TEST_BASE/bar/u1/try3.git/git-daemon-export-ok"
runremote ls -al projects.list
[ "$ais" = "0" ] && expect "gitolite-test gitolite-test 16 .* projects.list"
[ "$ais" = "1" ] && expect "gitolite-test gitolite-test 28 .* projects.list"
[ "$ais" = "0" ] && expect "$USER $USER 16 .* projects.list"
[ "$ais" = "1" ] && expect "$USER $USER 28 .* projects.list"
runremote cat projects.list
notexpect "bar/u1/try3.git"
@ -85,8 +85,8 @@ do
runremote ls -al $TEST_BASE/bar/u1/try4.git/git-daemon-export-ok
expect "ls: cannot access $TEST_BASE/bar/u1/try4.git/git-daemon-export-ok: No such file or directory"
runremote ls -al projects.list
[ "$ais" = "0" ] && expect "gitolite-test gitolite-test 32 .* projects.list"
[ "$ais" = "1" ] && expect "gitolite-test gitolite-test 44 .* projects.list"
[ "$ais" = "0" ] && expect "$USER $USER 32 .* projects.list"
[ "$ais" = "1" ] && expect "$USER $USER 44 .* projects.list"
runremote cat projects.list
expect "bar/u1/try4.git"
@ -95,10 +95,10 @@ do
runlocal git ls-remote u1:bar/u1/try5
runremote ls -al $TEST_BASE/bar/u1/try5.git/git-daemon-export-ok
expect "gitolite-test gitolite-test .* $TEST_BASE/bar/u1/try5.git/git-daemon-export-ok"
expect "$USER $USER .* $TEST_BASE/bar/u1/try5.git/git-daemon-export-ok"
runremote ls -al projects.list
[ "$ais" = "0" ] && expect "gitolite-test gitolite-test 48 .* projects.list"
[ "$ais" = "1" ] && expect "gitolite-test gitolite-test 60 .* projects.list"
[ "$ais" = "0" ] && expect "$USER $USER 48 .* projects.list"
[ "$ais" = "1" ] && expect "$USER $USER 60 .* projects.list"
runremote cat projects.list
expect "bar/u1/try5.git"
@ -107,10 +107,10 @@ do
runlocal git ls-remote u1:bar/u1/try6
runremote ls -al $TEST_BASE/bar/u1/try6.git/git-daemon-export-ok
expect "gitolite-test gitolite-test .* $TEST_BASE/bar/u1/try6.git/git-daemon-export-ok"
expect "$USER $USER .* $TEST_BASE/bar/u1/try6.git/git-daemon-export-ok"
runremote ls -al projects.list
[ "$ais" = "0" ] && expect "gitolite-test gitolite-test 64 .* projects.list"
[ "$ais" = "1" ] && expect "gitolite-test gitolite-test 76 .* projects.list"
[ "$ais" = "0" ] && expect "$USER $USER 64 .* projects.list"
[ "$ais" = "1" ] && expect "$USER $USER 76 .* projects.list"
runremote cat projects.list
expect "bar/u1/try6.git"
@ -121,8 +121,8 @@ do
runremote ls -al $TEST_BASE/bar/u1/try6.git/git-daemon-export-ok
expect "ls: cannot access $TEST_BASE/bar/u1/try6.git/git-daemon-export-ok: No such file or directory"
runremote ls -al projects.list
[ "$ais" = "0" ] && expect "gitolite-test gitolite-test 48 .* projects.list"
[ "$ais" = "1" ] && expect "gitolite-test gitolite-test 60 .* projects.list"
[ "$ais" = "0" ] && expect "$USER $USER 48 .* projects.list"
[ "$ais" = "1" ] && expect "$USER $USER 60 .* projects.list"
runremote cat projects.list
notexpect "bar/u1/try6.git"
@ -132,10 +132,10 @@ do
runlocal git ls-remote u1:bar/u1/try7
runremote ls -al $TEST_BASE/bar/u1/try7.git/git-daemon-export-ok
[ "$ais" = "0" ] && expect "ls: cannot access $TEST_BASE/bar/u1/try7.git/git-daemon-export-ok: No such file or directory"
[ "$ais" = "1" ] && expect "gitolite-test gitolite-test .* $TEST_BASE/bar/u1/try7.git/git-daemon-export-ok"
[ "$ais" = "1" ] && expect "$USER $USER .* $TEST_BASE/bar/u1/try7.git/git-daemon-export-ok"
runremote ls -al projects.list
[ "$ais" = "0" ] && expect "gitolite-test gitolite-test 48 .* projects.list"
[ "$ais" = "1" ] && expect "gitolite-test gitolite-test 76 .* projects.list"
[ "$ais" = "0" ] && expect "$USER $USER 48 .* projects.list"
[ "$ais" = "1" ] && expect "$USER $USER 76 .* projects.list"
runremote cat projects.list
[ "$ais" = "0" ] && notexpect "bar/u1/try7.git"
[ "$ais" = "1" ] && expect "bar/u1/try7.git"
@ -145,10 +145,10 @@ do
runlocal git ls-remote u1:bar/u1/try8
runremote ls -al $TEST_BASE/bar/u1/try8.git/git-daemon-export-ok
expect "gitolite-test gitolite-test .* $TEST_BASE/bar/u1/try8.git/git-daemon-export-ok"
expect "$USER $USER .* $TEST_BASE/bar/u1/try8.git/git-daemon-export-ok"
runremote ls -al projects.list
[ "$ais" = "0" ] && expect "gitolite-test gitolite-test 48 .* projects.list"
[ "$ais" = "1" ] && expect "gitolite-test gitolite-test 76 .* projects.list"
[ "$ais" = "0" ] && expect "$USER $USER 48 .* projects.list"
[ "$ais" = "1" ] && expect "$USER $USER 76 .* projects.list"
runremote cat projects.list
notexpect "bar/u1/try8.git"
@ -159,8 +159,8 @@ do
runremote ls -al $TEST_BASE/bar/u1/try9.git/git-daemon-export-ok
expect "ls: cannot access $TEST_BASE/bar/u1/try9.git/git-daemon-export-ok: No such file or directory"
runremote ls -al projects.list
[ "$ais" = "0" ] && expect "gitolite-test gitolite-test 64 .* projects.list"
[ "$ais" = "1" ] && expect "gitolite-test gitolite-test 92 .* projects.list"
[ "$ais" = "0" ] && expect "$USER $USER 64 .* projects.list"
[ "$ais" = "1" ] && expect "$USER $USER 92 .* projects.list"
runremote cat projects.list
expect "bar/u1/try9.git"
@ -199,8 +199,8 @@ do
runremote ls -al $TEST_BASE/bar/u1/try1.git/git-daemon-export-ok
expect "ls: cannot access $TEST_BASE/bar/u1/try1.git/git-daemon-export-ok: No such file or directory"
runremote ls -al projects.list
[ "$ais" = "0" ] && expect "gitolite-test gitolite-test 0 .* projects.list"
[ "$ais" = "1" ] && expect "gitolite-test gitolite-test 12 .* projects.list"
[ "$ais" = "0" ] && expect "$USER $USER 0 .* projects.list"
[ "$ais" = "1" ] && expect "$USER $USER 12 .* projects.list"
runremote cat projects.list
notexpect "bar/u1/try1.git"
@ -208,8 +208,8 @@ do
runremote ls -al $TEST_BASE/bar/u1/try2.git/git-daemon-export-ok
expect "ls: cannot access $TEST_BASE/bar/u1/try2.git/git-daemon-export-ok: No such file or directory"
runremote ls -al projects.list
[ "$ais" = "0" ] && expect "gitolite-test gitolite-test 0 .* projects.list"
[ "$ais" = "1" ] && expect "gitolite-test gitolite-test 12 .* projects.list"
[ "$ais" = "0" ] && expect "$USER $USER 0 .* projects.list"
[ "$ais" = "1" ] && expect "$USER $USER 12 .* projects.list"
runremote cat projects.list
notexpect "bar/u1/try2.git"
@ -218,10 +218,10 @@ do
expect "READERS daemon"
runremote ls -al $TEST_BASE/bar/u1/try1.git/git-daemon-export-ok
expect "gitolite-test gitolite-test .* $TEST_BASE/bar/u1/try1.git/git-daemon-export-ok"
expect "$USER $USER .* $TEST_BASE/bar/u1/try1.git/git-daemon-export-ok"
runremote ls -al projects.list
[ "$ais" = "0" ] && expect "gitolite-test gitolite-test 0 .* projects.list"
[ "$ais" = "1" ] && expect "gitolite-test gitolite-test 12 .* projects.list"
[ "$ais" = "0" ] && expect "$USER $USER 0 .* projects.list"
[ "$ais" = "1" ] && expect "$USER $USER 12 .* projects.list"
runremote cat projects.list
notexpect "bar/u1/try1.git"
@ -232,8 +232,8 @@ do
runremote ls -al $TEST_BASE/bar/u1/try2.git/git-daemon-export-ok
expect "ls: cannot access $TEST_BASE/bar/u1/try2.git/git-daemon-export-ok: No such file or directory"
runremote ls -al projects.list
[ "$ais" = "0" ] && expect "gitolite-test gitolite-test 20 .* projects.list"
[ "$ais" = "1" ] && expect "gitolite-test gitolite-test 32 .* projects.list"
[ "$ais" = "0" ] && expect "$USER $USER 20 .* projects.list"
[ "$ais" = "1" ] && expect "$USER $USER 32 .* projects.list"
runremote cat projects.list
expect "bar%2Fu1%2Ftry2.git"
@ -242,10 +242,10 @@ do
name "add default daemon access"
runlocal git ls-remote u1:bar/u1/try3
runremote ls -al $TEST_BASE/bar/u1/try3.git/git-daemon-export-ok
expect "gitolite-test gitolite-test .* $TEST_BASE/bar/u1/try3.git/git-daemon-export-ok"
expect "$USER $USER .* $TEST_BASE/bar/u1/try3.git/git-daemon-export-ok"
runremote ls -al projects.list
[ "$ais" = "0" ] && expect "gitolite-test gitolite-test 20 .* projects.list"
[ "$ais" = "1" ] && expect "gitolite-test gitolite-test 32 .* projects.list"
[ "$ais" = "0" ] && expect "$USER $USER 20 .* projects.list"
[ "$ais" = "1" ] && expect "$USER $USER 32 .* projects.list"
runremote cat projects.list
notexpect "bar%2Fu1%2Ftry3.git"
@ -256,8 +256,8 @@ do
runremote ls -al $TEST_BASE/bar/u1/try4.git/git-daemon-export-ok
expect "ls: cannot access $TEST_BASE/bar/u1/try4.git/git-daemon-export-ok: No such file or directory"
runremote ls -al projects.list
[ "$ais" = "0" ] && expect "gitolite-test gitolite-test 40 .* projects.list"
[ "$ais" = "1" ] && expect "gitolite-test gitolite-test 52 .* projects.list"
[ "$ais" = "0" ] && expect "$USER $USER 40 .* projects.list"
[ "$ais" = "1" ] && expect "$USER $USER 52 .* projects.list"
runremote cat projects.list
expect "bar%2Fu1%2Ftry4.git"
@ -266,10 +266,10 @@ do
runlocal git ls-remote u1:bar/u1/try5
runremote ls -al $TEST_BASE/bar/u1/try5.git/git-daemon-export-ok
expect "gitolite-test gitolite-test .* $TEST_BASE/bar/u1/try5.git/git-daemon-export-ok"
expect "$USER $USER .* $TEST_BASE/bar/u1/try5.git/git-daemon-export-ok"
runremote ls -al projects.list
[ "$ais" = "0" ] && expect "gitolite-test gitolite-test 60 .* projects.list"
[ "$ais" = "1" ] && expect "gitolite-test gitolite-test 72 .* projects.list"
[ "$ais" = "0" ] && expect "$USER $USER 60 .* projects.list"
[ "$ais" = "1" ] && expect "$USER $USER 72 .* projects.list"
runremote cat projects.list
expect "bar%2Fu1%2Ftry5.git"
@ -278,10 +278,10 @@ do
runlocal git ls-remote u1:bar/u1/try6
runremote ls -al $TEST_BASE/bar/u1/try6.git/git-daemon-export-ok
expect "gitolite-test gitolite-test .* $TEST_BASE/bar/u1/try6.git/git-daemon-export-ok"
expect "$USER $USER .* $TEST_BASE/bar/u1/try6.git/git-daemon-export-ok"
runremote ls -al projects.list
[ "$ais" = "0" ] && expect "gitolite-test gitolite-test 80 .* projects.list"
[ "$ais" = "1" ] && expect "gitolite-test gitolite-test 92 .* projects.list"
[ "$ais" = "0" ] && expect "$USER $USER 80 .* projects.list"
[ "$ais" = "1" ] && expect "$USER $USER 92 .* projects.list"
runremote cat projects.list
expect "bar%2Fu1%2Ftry6.git"
@ -292,8 +292,8 @@ do
runremote ls -al $TEST_BASE/bar/u1/try6.git/git-daemon-export-ok
expect "ls: cannot access $TEST_BASE/bar/u1/try6.git/git-daemon-export-ok: No such file or directory"
runremote ls -al projects.list
[ "$ais" = "0" ] && expect "gitolite-test gitolite-test 60 .* projects.list"
[ "$ais" = "1" ] && expect "gitolite-test gitolite-test 72 .* projects.list"
[ "$ais" = "0" ] && expect "$USER $USER 60 .* projects.list"
[ "$ais" = "1" ] && expect "$USER $USER 72 .* projects.list"
runremote cat projects.list
notexpect "bar%2Fu1%2Ftry6.git"
@ -303,10 +303,10 @@ do
runlocal git ls-remote u1:bar/u1/try7
runremote ls -al $TEST_BASE/bar/u1/try7.git/git-daemon-export-ok
[ "$ais" = "0" ] && expect "ls: cannot access $TEST_BASE/bar/u1/try7.git/git-daemon-export-ok: No such file or directory"
[ "$ais" = "1" ] && expect "gitolite-test gitolite-test .* $TEST_BASE/bar/u1/try7.git/git-daemon-export-ok"
[ "$ais" = "1" ] && expect "$USER $USER .* $TEST_BASE/bar/u1/try7.git/git-daemon-export-ok"
runremote ls -al projects.list
[ "$ais" = "0" ] && expect "gitolite-test gitolite-test 60 .* projects.list"
[ "$ais" = "1" ] && expect "gitolite-test gitolite-test 92 .* projects.list"
[ "$ais" = "0" ] && expect "$USER $USER 60 .* projects.list"
[ "$ais" = "1" ] && expect "$USER $USER 92 .* projects.list"
runremote cat projects.list
notexpect "bar/u1/try7.git"
notexpect "bar/u1/try7.git"
@ -318,10 +318,10 @@ do
runlocal git ls-remote u1:bar/u1/try8
runremote ls -al $TEST_BASE/bar/u1/try8.git/git-daemon-export-ok
expect "gitolite-test gitolite-test .* $TEST_BASE/bar/u1/try8.git/git-daemon-export-ok"
expect "$USER $USER .* $TEST_BASE/bar/u1/try8.git/git-daemon-export-ok"
runremote ls -al projects.list
[ "$ais" = "0" ] && expect "gitolite-test gitolite-test 60 .* projects.list"
[ "$ais" = "1" ] && expect "gitolite-test gitolite-test 92 .* projects.list"
[ "$ais" = "0" ] && expect "$USER $USER 60 .* projects.list"
[ "$ais" = "1" ] && expect "$USER $USER 92 .* projects.list"
runremote cat projects.list
notexpect "bar%2Fu1%2Ftry8.git"
@ -332,8 +332,8 @@ do
runremote ls -al $TEST_BASE/bar/u1/try9.git/git-daemon-export-ok
expect "ls: cannot access $TEST_BASE/bar/u1/try9.git/git-daemon-export-ok: No such file or directory"
runremote ls -al projects.list
[ "$ais" = "0" ] && expect "gitolite-test gitolite-test 80 .* projects.list"
[ "$ais" = "1" ] && expect "gitolite-test gitolite-test 112 .* projects.list"
[ "$ais" = "0" ] && expect "$USER $USER 80 .* projects.list"
[ "$ais" = "1" ] && expect "$USER $USER 112 .* projects.list"
runremote cat projects.list
expect "bar%2Fu1%2Ftry9.git"

View file

@ -6,10 +6,10 @@ do
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
rm -rf $ADC_PATH
mkdir $ADC_PATH || die "mkdir $ADC_PATH failed"
cp ../contrib/adc/* $ADC_PATH
echo "\$GL_ADC_PATH = '$ADC_PATH';" | addrc
runremote rm -f .gitolite.down
# ----------
@ -59,9 +59,9 @@ do
expect "disabling following locations with message:"
expect "first line"
expect "^second line"
expect "/home/gitolite-test"
expect "/home/$USER"
runremote ls -al .gitolite.down
expect "^.rw------- 1 gitolite-test gitolite-test .. ... .. ..:.. .gitolite.down"
expect "^.rw------- 1 $USER $USER .. ... .. ..:.. .gitolite.down"
name "u1 push foo fail"
cd ~/td/foo
@ -85,7 +85,7 @@ do
runlocal ssh gitolite able en
expect "give me '@all' or some reponame"
runlocal ssh gitolite able en @all
expect "removed ./home/gitolite-test/.gitolite.down."
expect "removed ./home/$USER/.gitolite.down."
runremote ls -al .gitolite.down
expect "ls: cannot access .gitolite.down: No such file or directory"
@ -109,7 +109,7 @@ do
expect "foo down"
expect "$TEST_BASE/foo.git"
runremote ls -al $TEST_BASE/foo.git/.gitolite.down
expect ".rw------- 1 gitolite-test gitolite-test .* ..:.. $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
@ -137,7 +137,7 @@ do
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 gitolite-test gitolite-test .. ... .. ..:.. $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

View file

@ -6,10 +6,10 @@ do
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
rm -rf $ADC_PATH
mkdir $ADC_PATH || die "mkdir $ADC_PATH failed"
cp ../contrib/adc/* $ADC_PATH
echo "\$GL_ADC_PATH = '$ADC_PATH';" | addrc
runremote rm -f .gitolite.down
# ----------
@ -57,7 +57,7 @@ do
cd ~/td
runlocal ssh u2 fork r1 child/u2/myr1
runremote ls -al $TEST_BASE/child/u2/myr1.git/gl-forked-from
expect "gitolite-test gitolite-test 3 .* $TEST_BASE/child/u2/myr1.git/gl-forked-from"
expect "$USER $USER 3 .* $TEST_BASE/child/u2/myr1.git/gl-forked-from"
runremote cat $TEST_BASE/child/u2/myr1.git/gl-forked-from
expect r1
runlocal git clone u2:child/u2/myr1

View file

@ -1,35 +1,44 @@
#!/bin/bash
# some defines
export ADC_PATH="$HOME/glt-adc"
# are we in the right place
cd ${0%/*}
git rev-parse --show-toplevel || die should run t/test-driver.sh from a clone of gitolite
export TESTDIR=$PWD
# see some sample tests for how to use these functions; there is no
# documentation
# REPO_BASE has 2 manifestations in the output of various commands
export TEST_BASE=$(perl -e 'do "../conf/example.gitolite.rc"; print $REPO_BASE')
export TEST_BASE=$(gl-query-rc REPO_BASE)
[ -z "$TEST_BASE" ] && { echo TEST_BASE not set >&2; exit 1; }
TEST_BASE_FULL=$TEST_BASE
[ "$TEST_BASE" = "repositories" ] && TEST_BASE_FULL=/home/gitolite-test/repositories
[ "$TEST_BASE" = "repositories" ] && TEST_BASE_FULL=/home/$USER/repositories
testnum=0
# remote local command
runlocal() { "$@" > ~/1 2> ~/2; }
# remote run command
runremote() { ssh gitolite-test@localhost "$@" > ~/1 2> ~/2; }
runremote() ( cd $HOME; "$@" > ~/1 2> ~/2; )
# remote list repositories
listrepos() { ssh gitolite-test@localhost "cd $TEST_BASE; find . -type d -name '*.git'" | sort > ~/1 2> ~/2; }
listrepos() ( cd $HOME; cd $TEST_BASE; find . -type d -name '*.git' | sort > ~/1 2> ~/2; )
# remote cat compiled pm
catconf() { ssh gitolite-test@localhost cat .gitolite/conf/gitolite.conf-compiled.pm > ~/1 2> ~/2; }
catconf() ( cat ~/.gitolite/conf/gitolite.conf-compiled.pm > ~/1 2> ~/2; )
catconfs() {
(
ssh gitolite-test@localhost cat .gitolite/conf/gitolite.conf-compiled.pm
ssh gitolite-test@localhost "cd $TEST_BASE; find . -name gl-conf | sort"
ssh gitolite-test@localhost "cd $TEST_BASE; find . -name gl-conf | sort | xargs cat"
cd $HOME
cat .gitolite/conf/gitolite.conf-compiled.pm
cd $TEST_BASE; find . -name gl-conf | sort
cd $TEST_BASE; find . -name gl-conf | sort | xargs cat
) > ~/1 2> ~/2
}
# remote cat ~/.gitolite.rc
catrc() { ssh gitolite-test@localhost cat .gitolite.rc > ~/1 2> ~/2; }
catrc() ( cat ~/.gitolite.rc > ~/1 2> ~/2; )
# tail gitolite logfile
taillog() { ssh gitolite-test@localhost tail $1 .gitolite/logs/gitolite-????-??.log > ~/1 2> ~/2; }
taillog() ( cd $HOME; tail $1 .gitolite/logs/gitolite-????-??.log > ~/1 2> ~/2; )
hl() { # highlight function
normal=`tput sgr0`
red=`tput sgr0; tput setaf 1; tput bold`
@ -47,16 +56,12 @@ hl() { # highlight function
capture() { cf=$1; shift; "$@" >& $TESTDIR/$cf; }
editrc() {
scp gitolite-test@localhost:.gitolite.rc ~/junk >/dev/null
perl -pi -e "print STDERR if not /^#/ and /$1\b/ and s/=.*/= $2;/" ~/junk 2> >(sed -e 's/^/# /')
scp ~/junk gitolite-test@localhost:.gitolite.rc >/dev/null
perl -pi -e "print STDERR if not /^#/ and /$1\b/ and s/=.*/= $2;/" ~/.gitolite.rc 2> >(sed -e 's/^/# /')
}
addrc() {
ssh gitolite-test@localhost cat .gitolite.rc < /dev/null > ~/junk
tee -a ~/junk
echo '1;' >> ~/junk
scp ~/junk gitolite-test@localhost:.gitolite.rc >/dev/null
tee -a ~/.gitolite.rc
echo '1;' >> ~/.gitolite.rc
}
ugc ()

View file

@ -1,15 +0,0 @@
#!/bin/bash
export TESTDIR=$PWD
rm -rf ~/junk.ga
mv ~/gitolite-admin ~/junk.ga
# install it
src/gl-easy-install -q gitolite-test localhost tester
# make the rollback.tar files on both sides
cd
tar cf rollback.tar gitolite-admin
ssh gitolite-test@localhost tar cf rollback.tar .ssh .gitolite .gitolite.rc repositories gitolite-install
ssh gitolite-test@localhost tar -C /tmp -cf \$HOME/rollback2.tar glrb