Commit e02acbb3c6076cc9acbcf8de7a258eee406b2921

Carlos Martín Nieto 2016-03-17T17:25:49

Merge pull request #3695 from ethomson/contributing CONTRIBUTING: document the optional tests

diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 71fad63..28a1435 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -94,7 +94,7 @@ the change, but pass with your changes.
 In addition to new tests, please ensure that your changes do not cause
 any other test failures.  Running the entire test suite is helpful
 before you submit a pull request.  When you build libgit2, the test
-suite will also be built.  You can run all tests by simply running
+suite will also be built.  You can run most of the tests by simply running
 the resultant `libgit2_clar` binary.  If you want to run a specific
 unit test, you can name it with the `-s` option.  For example:
 
@@ -105,6 +105,21 @@ worktree status tests:
 
     libgit2_clar -sstatus::worktree
 
+The default test run is fairly exhaustive, but it will exclude some
+unit tests by default: in particular, those that talk to network
+servers and the tests that manipulate the filesystem in onerous
+ways (and may need to have special privileges to run).  To run the
+network tests:
+
+    libgit2_clar -ionline
+
+In addition, various tests may be enabled by environment variables,
+like the ones that write exceptionally large repositories or manipulate
+the filesystem structure in unexpected ways.  These tests *may be
+dangerous* to run on a normal machine and may harm your filesystem.  It's
+not recommended that you run these; instead, the continuous integration
+servers will run these (in a sandbox).
+
 ## Porting Code From Other Open-Source Projects
 
 `libgit2` is licensed under the terms of the GPL v2 with a linking