The Subversion cmdline regression test suite is quite comprehensive, and is
constantly run on build bots and developer machines, and in particular before
every release.
However, advanced users may wish to use it to test deployments and upgrades of
Subversion within their own infrastructure. To facilitate this, it would be nice
if the test suite could optionally work with existing repositories on remote
servers.
It has in fact been used this way by at least one corporate Subversion user (see
Frank Mazander's presentation at Subconf 2010, slides haven't been published at
this time: http://2010.subconf.de/vortraege/devk/ (German)). He made several
modifications to the test suite and was able to run the basic_tests.py suite
against an existing repository, with an existing trunk/tags/branches structure
at the top of the repository.
This approach could be generalised and made available to all users in a way that
allows them to plug the test suite into their existing infrastructure.
This task requires design work, as well as implementation.
Some points that would require consideration:
- The test suite currently always authenticates as user "jrandom" with password
"rayjandom".
- The test suite assumes a repository containing just the "Greek Tree". It
would need to handle running tests on the Greek Tree within a subdirectory of a
repository.
- The test suite assumes fixed revision numbers in many places.
- The test suite assumes exclusive access to repositories. This requirement
could be relaxed, but doing so would complicate matters regarding revision
number expectations even further.
- The test suite uses a fixed client configuration, which may need to made
configurable.
- Tests which don't make sense without local disk access (e.g. tests for
svnadmin) should be skipped by the test suite in this mode of operation.