Commits

eduardo schettino committed 35a892f

update docs.

Comments (0)

Files changed (3)

 0.2.0
 =========
 
-
+- support for xdist --dist=load
+- added option --list-dependencies
+- added option --list-outdated
+- fix bug. correctly detect when a test fails
+- rename option --watch-pkg to --watch-path
 
 0.1.0 (*2011-04-25*)
 ====================
 What is an "incremental test runner" ?
 =======================================
 
+The idea is to execute your tests faster by executing not all of them
+but only the "required" ones.
+
 When talking about build-tools it is common to refer to the terms:
 
  * initial (full) build - all files are compiled
  * no-op build - no files are compiled (none changed since last execution)
 
 So an "incremental test runner" will only re-execute tests that were affected
-by changes in the source code since last test execution.
+by changes in the source code since last successful execution.
 
 
 How it works ?
 
 `pytest-incremental` is a `pytest <http://pytest.org/>`_ plugin. So if you can run your test suite with pytest you can use `pytest-incremental`.
 
+Note that pytest has support to run standart unittest's and nose's tests. So even if you dont use pytest as a test framework you might be able to use it as a test runner.
+
 The plugin will analyse your python source files and through its imports define the dependencies of the modules. `doit <http://python-doit.sourceforge.net>`_ is used to keep track of the dependencies and save results. The plugin will modify how pytest collect your tests. pytest do the rest of the job of actually running the tests and reporting the results.
 
 
   $ py.test --incremental --watch-pkg my_lib tests/test_foo.py
 
 
+dependencies
+--------------
+
+You can check what are the actual dependencies detected by running the command::
+
+ $ py.test --list-dependencies
+
+
+You can also check what are the outdated tests without executing them::
+
+ $ py.test --list-outdated
+
 
 
 Limitations

pytest_incremental.py

                            (if pkg not specified)
     * pytest_collection_modifyitems (get_outdated): run doit and remove
              up-to-date tests from test items
-    * pytest_runloop: print info on up-to-date (not excuted) on terminal
+    * pytest_runtestloop: print info on up-to-date (not excuted) on terminal
     * pytest_runtest_makereport: collect result from individual tests
+    * pytest_testnodedown: (xdist) send result from slave to master
     * pytest_sessionfinish (set_success): save successful tasks in doit db
     """
 
 
 
     def _load_tasks(self, test_files):
+        """load this file as dodo file to collect tasks"""
         constants(self.py_files, list(test_files))
         dodo = loader.load_task_generators(sys.modules[__name__])
         return dodo['task_list']
 
 
     def _check_cmd_options(self, config):
+        """sanity checking"""
         if not self.pkg_folders:
             if not (len(config.args) == 1 and
                     config.args[0] == os.getcwd()):