Skip to content

Latest commit

 

History

History
 
 

t

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

instructions for running the tests

Pre-requisites

Install the following packages:

  • Manjaro (and probably Arch):

    pacman -S perl-json perl-json-xs apache
    
  • Fedora (and probably CentOS):

    dnf install -y perl-Test-Harness perl-JSON perl-JSON-XS httpd httpd-tools
    
  • others:

    (TBD)

RUNNING THE MAIN TEST SUITE

======================================
WARNING: THE TEST SUITE DELETES STUFF!
======================================

Please run the tests ONLY on a userid where it's ok to LOSE DATA.

On such a userid, clone gitolite then run this command in the clone:

GITOLITE_TEST=y prove

http://gitolite.com/gitolite/testing.html has more details. Alternatively, http://gitolite.com/gitolite/req.html#trying will help you try out gitolite if you want to play with gitolite safely.

RUNNING THE HTTP AND MIRROR TESTS

======================================
WARNING: THE TEST SUITE DELETES STUFF!
======================================

The http and mirror tests require a lot more preparation, including commands and/or scripts to be run as root, so they're not invoked when you simply run "prove" as above.

Manjaro

  1. Create 3 users: sam, frodo, and gollum (useradd -m).

  2. Assuming you're running the tests using a local user called g3, run visudo and add the following line:

    g3 ALL = (sam,frodo,gollum) NOPASSWD: ALL
    

    Test this by running this command from within g3 and making sure you get the correct results:

    sudo -u sam -i pwd
    # should print /home/sam
    # similarly make sure frodo and gollum also give correct results
    

    The mirror test will not run if this does not work. That does not mean mirroring will not work; only the test suite depends on this feature.

  3. Manjaro does not, by default, add $HOME/bin to $PATH, so you will need the following on at least sam, frodo, and gollum:

    # copy-paste this into a root terminal
    for u in frodo sam gollum; do
        grep '$HOME/bin' /home/$u/.bash_profile || echo 'export PATH="$HOME/bin:$PATH"' >> /home/$u/.bash_profile
    done
    

    Again, test this by running:

    sudo -u sam -i echo '$PATH'
    

    and making sure the output starts with /home/sam/bin: (and similarly for frodo and gollum).

  4. Take a look inside t/manjaro-root-smart-http-test-setup to make sure everything looks sane (because you have to run it as root!!), then run it as root.

  5. Now you are ready to run the last two tests:

    GITOLITE_TEST=y prove t/smart-http
    GITOLITE_TEST=y prove t/mirror-test
    

Fedora

  1. Create 3 users: sam, frodo, and gollum (useradd).

  2. Assuming you're running the tests using a local user called g3, run visudo and add the following line:

    g3 ALL = (sam,frodo,gollum) NOPASSWD: ALL
    

    Test this by running this command from within g3 and making sure you get the correct results:

    sudo -u sam -i pwd
    # should print /home/sam
    # similarly make sure frodo and gollum also give correct results
    

    The mirror test will not run if this does not work. That does not mean mirroring will not work; only the test suite depends on this feature.

  3. Take a look inside t/fedora-root-smart-http-test-setup to make sure everything looks sane (because you have to run it as root!!), then run it as root.

  4. Now you are ready to run the last two tests:

    prove t/smart-http
    prove t/mirror-test
    

vim: ft=markdown