Source

trac-ticketlinks / TESTING-README

Diff from to

TESTING-README

 }}}
 This is particularly useful when a test fails and you want to explore the environment to debug the problem.
 
+ == Test Coverage ==
+You can now determine statement coverage of unittests and functional tests.  But you'll have to run them separately for now.
+
+`figleaf` will need to be on your `PATH`.  Set the `FIGLEAF` environment variable to the figleaf command.
+
+Create a figleaf-exclude file with filename patterns to exclude.  For example:
+{{{
+/usr/lib/python.*/.*.py
+.*.html
+}}}
+
+Then run the tests something like this:
+{{{
+export FIGLEAF=figleaf
+figleaf ./trac/test.py -v --skip-functional-tests
+mv .figleaf .figleaf.unittests
+python trac/tests/functional/testcases.py -v
+mv .figleaf .figleaf.functional
+figleaf2html --exclude-patterns=../figleaf-exclude .figleaf.functional .figleaf.unittests
+}}}
+Also, this is very slow; on a decent machine, 10 minutes for the functional tests is normal.
+
+To run without figleaf, be sure to unset `FIGLEAF`.
+
 --------------------------------------------------------------------------------
 == TROUBLESHOOTING: ==
 
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.