]> arthur.barton.de Git - bup.git/blobdiff - HACKING
main: always put BUP_FORCE_TTY into the environment
[bup.git] / HACKING
diff --git a/HACKING b/HACKING
index d2edcc16ab05aa895ac14290d50db50b8356f07f..372bc732a5188e164e0b33f2d7a8a390e7d3d6d7 100644 (file)
--- a/HACKING
+++ b/HACKING
@@ -19,22 +19,27 @@ via email.
 Current Trajectory
 ==================
 
 Current Trajectory
 ==================
 
-Now that we've finished the 0.26 release, we're working on 0.27, and
-although we're not certain which new features will be included, here
-are some possible candidates:
-
-  - Support for transferring saves between repositories and rewriting
-    branches.
+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:
 
   - Better VFS performance for large repositories (i.e. fuse, ls,
     web...).
 
 
   - Better VFS performance for large repositories (i.e. fuse, ls,
     web...).
 
-  - Incremental indexing via inotify.
+  - Better VFS caching.
 
 
-  - Support for rm/gc.
+  - Index improvements.
+
+  - Incremental indexing via inotify.
 
   - Smarter (and quieter) handling of cross-filesystem metadata.
 
 
   - Smarter (and quieter) handling of cross-filesystem metadata.
 
+  - Encryption.
+
+  - 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.)
 
 If you have the time and inclination, please help review patches
 posted to the list, or post your own.  (See "ways to help" below.)
 
@@ -42,7 +47,7 @@ posted to the list, or post your own.  (See "ways to help" below.)
 More specific ways to help
 ==========================
 
 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
 
 With respect to patches, bup development is handled via the mailing
 list, and all patches should be sent to the list for review (see
@@ -54,13 +59,45 @@ incorporating it into master, so reviews are an important way to help.
 We also love a good "Tested-by:" -- the more the merrier.
 
 
 We also love a good "Tested-by:" -- the more the merrier.
 
 
+Testing
+=======
+
+Individual tests can be run via
+
+    ./pytest TEST
+
+For example:
+
+    ./pytest test/int/test_git.py
+    ./pytest test/ext/test-ftp
+
+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
+environment variables and the working directory; the latter is reset
+to the top of the source tree.
+
 Submitting patches
 ==================
 
 As mentioned, all patches should be posted to the mailing list for
 review, and must be "signed off" by the author before official
 inclusion (see ./SIGNED-OFF-BY).  You can create a "signed off" set of
 Submitting patches
 ==================
 
 As mentioned, all patches should be posted to the mailing list for
 review, and must be "signed off" by the author before official
 inclusion (see ./SIGNED-OFF-BY).  You can create a "signed off" set of
-patches in ./pending, ready for submission to the list, like this:
+patches in ./patches, ready for submission to the list, like this:
 
     git format-patch -s -o patches origin/master
 
 
     git format-patch -s -o patches origin/master
 
@@ -91,7 +128,7 @@ Of course, unless your machine is set up to handle outgoing mail
 locally, you may need to configure git to be able to send mail.  See
 git-send-email(1) for further details.
 
 locally, you may need to configure git to be able to send mail.  See
 git-send-email(1) for further details.
 
-Oh, and we do have a ./CODING-STYLE, hobgoblins and all, though don't
+Oh, and we do have a ./CODINGSTYLE, hobgoblins and all, though don't
 let that scare you off.  We're not all that fierce.
 
 
 let that scare you off.  We're not all that fierce.
 
 
@@ -105,3 +142,9 @@ ideas here aren't altogether terrible:
 
 In particular, we've been paying at least some attention to the bits
 regarding Acked-by:, Reported-by:, Tested-by: and Reviewed-by:.
 
 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:
+-->