diff options
Diffstat (limited to 'camel/tests/README')
-rw-r--r-- | camel/tests/README | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/camel/tests/README b/camel/tests/README new file mode 100644 index 0000000000..e9262541b4 --- /dev/null +++ b/camel/tests/README @@ -0,0 +1,38 @@ + +This directory is to contain regression tests that should be run +before committing anything to camel. + +To write a new test: copy an existing one and replace the contents. + +See camel-test.h for a number of functions and macros which setup and +define the test environmet, and help provide meaningful messages when +something actually fails. + +All tests have the following options: + -v[vvvv] + verbose. more v's more verbose. 2 v's will give you + a simple test backtrace of any partially failed tests. + No v's give you a simple backtrace of any failed tests. + -q + quiet. Dont print anything, unless there is a SEGV. + +See the other files in lib/* for utility functions that help to +write the tests (object comparison, creation, etc functions). + +Tests may fail and be non-fatal. In this case, you will see "Partial +success" on the result of each test line. To get more information +about the test, run the test manually with a -v command line argument. +The more v's you have the more detail you get (upto about -vvvvv), +generally use -vv to find out which parts of a partially successful +test failed, and where. + +Note that if writing tests, non-fatal tests (bracketed by a +camel_test_nonfatal() and camel_test_fatal() pair) should only be +defined where: 1. The test in question should ideally pass, and 2. The +code has known limitations currently that stop it passing, but +otherwise works for nominal input. + +To debug tests, set a breakpoint on camel_test_fail, which will be +called for any failure, even a non-fatal one. + + Michael <notzed@helixcode.com> |