Current Trajectory
==================
-Now that we've finished the 0.31 release, we're working on 0.32, and
+Now that we've finished the 0.32 release, we're working on 0.33, and
although we're not certain which new features will be included, we're
considering:
- Support for alternate remote storage APIs.
+ - Discontinuing Python 2 work, excepting perhaps some bugfixes.
+
If you have the time and inclination, please help review patches
posted to the list, or post your own. (See "ways to help" below.)
More specific ways to help
==========================
-Testing -- yes please.
+Testing -- yes please.
With respect to patches, bup development is handled via the mailing
list, and all patches should be sent to the list for review (see
Testing
=======
-You can run the test suite much more quickly via "make -j test" (as
-compared to "make test"), at the expense of slightly more confusing
-output (interleaved parallel test output), and inaccurate intermediate
-success/failure counts, but the final counts displayed should be
-correct.
+Individual tests can be run via
-Individual non-Python tests can be run via
+ ./pytest TEST
- ./wvtest run test/ext/TEST
+For example:
-and if you'd like to see all of the test output, you can omit the
-wvtest run wrapper: `test/ext/TEST`. Individual Python tests can be
-run via
+ ./pytest test/int/test_git.py
+ ./pytest test/ext/test-ftp
- ./pytest test/int/test_something.py
+If you have the xdist module installed, then you can specify its `-n`
+option to run the tests in parallel (e.g. `./pytest -nauto ...`), or
+you can specify `-j` to make, which will be translated to xdist with
+`-j` becoming `-nauto` and `-jN` becoming `-nN`.
Internal tests that test bup's code directly are located in test/int,
and external tests that test bup from the outside, typically by
running the executable, are located in test/ext.
+Currently, all pytests must be located in either test/ext or test/int.
+Internal test filenames must match test_*.py, and external tests must
+be located in text/ext and their filenames must match test-* (see
+test/ext/conftest.py for the handling of the latter). Any paths
+matching those criteria will be automatically collected by pytest.
Some aspects of the environment are automatically restored after each
test via fixtures in conftest.py, including the state of the
In particular, we've been paying at least some attention to the bits
regarding Acked-by:, Reported-by:, Tested-by: and Reviewed-by:.
+
+<!--
+Local Variables:
+mode: markdown
+End:
+-->