chevah/brink — pull request #7 by adiroiban (2013-06-08 09:52:32+00:00)
Title: [#1420] Implement independent tests.

Problem description
===================

This is a meta ticket since it affects the buildmaster and all repos.

Right now we have the following problems:

* we are running lint tests on all machines, even if running brink on a single system should be enough.
* we would like to also run automated tests on documentation, and we don't want to run it on all machines.

There is also an unrelated problem, but I think that we can solve it here... or at least discuss it:

* paver.sh script is always executed from 'BRINK_REPO/paver.sh' . This means that all repositories depend on the existance and revision of brink repo.

Changes description
===================

A dedicated 'OS agnostic' paver test task was created. This means, that now we have the following 2 test categories

* agnostic - runs only on a single slave. OS indepdente
* theist - runs on each slave. OS dependent

To support the buildslaves, we have the following paver tasks

* deps_agnostic
* test_agnoscit
* deps_theist
* test_theist

The old 'paver deps` task was updated to install everything and there is no need to run `paver deps_build`. I hope that this will get rid of errors generated by not running paver deps_build

-------

Buildmaster was updated for all repos (except server) to use the paver.sh script from the repo.

This means that all builds will fail, and at first branch landing on master you will neeed to add paver.sh script.

This will create some code duplication, but it should give us an independent repo.

The main problem with dependent repo, is that if today we will have to create a fix for a very old server version (1.6) the latest paver.sh from brink. will not be compatible with pavement.py script from Server 1.6.
When paver.sh is distributed with the server repo, going to a specific revision will get access to right version for all files.

Three is a separate ticket to solve this for server repo.

How to try and test the changes
===============================

reviewers @alibotean @bnickname @lgheorghiu

Let me know if changes make sense.

If everything is OK I will document the new buildmaster rules and also update each repo.

-------

Only this brink branch is configured to be used with the new buildmaster rules.

Run all tests
```
paver test_remote all
```

Run os independent tests
```
paver test_remote agnostic --wait
```