Files
evolution/camel/tests
Not Zed a52720a921 clear nonfatal stuff.
2002-09-04  Not Zed  <NotZed@Ximian.com>

	* tests/folder/test4.c (main): clear nonfatal stuff.

	* tests/folder/test6.c (main): check inbox and 'another folder'
	because some servers do different things w/ inbox.

	* providers/imap/camel-imap-message-cache.c
	(camel_imap_message_cache_get): Dont try to open the directory
	instead of an empty "" uid.

	* providers/imap/camel-imap-folder.c (imap_get_message): we dont
	want to g_return_if_fail, we need to set an exception and always
	handle the case.
	(get_message_simple): Set an exception if we get a construct
	failure.
	(imap_refresh_info): if we're refreshing inbox, force a reselect.
	this is required for at least cryus.  CHECK doesnt work either :(

	* tests/lib/folders.c (test_folder_basic): for non-local stores,
	the folder will have an extra ref for selection, take this into
	account when checking ref leaks.
	(test_folder_message_ops): Dont try to delete folder with messages
	in it, it works generally with imap.  also, change params so we
	can test different mailbox types.
	(test_folder_message_ops): disconnect remote services before
	finishing off.  doesn't need to stricly but makes ref count
	checking more accurate.
	(test_folder_message_ops): removed explicit remote sync, imap does
	it itself now ...

	* providers/imap/camel-imap-store.c:
	(camel_imap_store_finalize): call service_disconnect, so it isn't
	called later in the finalise chain, to properly cleanup on exit.

svn path=/trunk/; revision=17962
2002-09-04 08:13:38 +00:00
..
2002-09-04 08:13:38 +00:00
2002-09-04 08:13:38 +00:00
2002-08-29 09:58:33 +00:00
2001-01-22 11:57:29 +00:00
2000-11-28 13:13:23 +00:00

This directory is to contain regression tests that should be run
before committing anything to camel.

In each subdirectory of tests there is a README containing a
one-line description of each test file.  This README must be kept
uptodate.

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.  Or set it to
camel_test_break, which will only be called for fatal errors which are
to print to the screen.

 Michael <notzed@helixcode.com>