]> arthur.barton.de Git - bup.git/blobdiff - HACKING
Migrate the remaining (standalone) test/ext tests to pytest
[bup.git] / HACKING
diff --git a/HACKING b/HACKING
index 6dc10b19aa95319b5ef804e7757fa03b3924e19f..31f48a556336b133af5cfc46fa2ed0526ec97336 100644 (file)
--- a/HACKING
+++ b/HACKING
@@ -19,14 +19,9 @@ via email.
 Current Trajectory
 ==================
 
 Current Trajectory
 ==================
 
-Now that we've finished the 0.30 release, we're working on 0.31, and
-although we're not certain which new features will be included, here
-are likely candidates:
-
-  - Accommodation for the upcoming demise of Python 2, most likely via
-    support for Python 3.
-
-and these are also under consideration:
+Now that we've finished the 0.31 release, we're working on 0.32, 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...).
@@ -39,6 +34,10 @@ and these are also under consideration:
 
   - Smarter (and quieter) handling of cross-filesystem metadata.
 
 
   - Smarter (and quieter) handling of cross-filesystem metadata.
 
+  - Encryption.
+
+  - Support for alternate remote storage APIs.
+
 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.)
 
@@ -61,20 +60,29 @@ We also love a good "Tested-by:" -- the more the merrier.
 Testing
 =======
 
 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
+
+    ./pytest TEST
+
+For example:
+
+    ./pytest test/int/test_git.py
+    ./pytest test/ext/test-ftp
 
 
-Individual non-Python tests can be run via "./wvtest run t/TEST" and
-if you'd like to see all of the test output, you can omit the wvtest
-run wrapper: "t/TEST"
+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.
 
 
-Individual Python tests can be run via "./wvtest run ./wvtest.py
-lib/bup/t/TEST", and as above, you can see all the output by omitting
-the wvtest run wrapper like this: "./wvtest.py lib/bup/t/TEST"
+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
 ==================
 
 Submitting patches
 ==================