|
Version Control with Subversion - Contributing to Subversion - Make and Test Your Changes
Make and Test Your Changes
With the code and community policy understanding in hand,
you are ready to make your changes. It is best to try to make
smaller but related sets of changes, even tackling larger
tasks in stages, instead of making huge, sweeping
modifications. Your proposed changes will be easier to
understand (and therefore easier to review) if you disturb
the fewest lines of code possible to accomplish your task
properly. After making each set of proposed changes, your
Subversion tree should be in a state in which the software
compiles with no warnings.
Subversion has a fairly thorough
[48]
regression test suite, and your proposed changes are expected
to not cause any of those tests to fail. By running
make check
(in Unix) from the top of the
source tree, you can sanity-check your changes. The fastest
way to get your code contributions rejected (other than
failing to supply a good log message) is to submit changes
that cause failure in the test suite.
In the best-case scenario, you will have actually added
appropriate tests to that test suite which verify that your
proposed changes work as expected. In fact,
sometimes the best contribution a person can make is solely
the addition of new tests. You can write regression tests for
functionality that currently works in Subversion as a way to
protect against future changes that might trigger failure in
those areas. Also, you can write new tests that demonstrate
known failures. For this purpose, the Subversion test suite
allows you to specify that a given test is expected to fail
(called an XFAIL ), and so long as
Subversion fails in the way that was expected, a test result
of XFAIL itself is considered a success.
Ultimately, the better the test suite, the less time wasted on
diagnosing potentially obscure regression bugs.
[an error occurred while processing this directive]
|
|