mariadb/unittest
unknown 6691ce30ec Maria - WL#3134 Key cache to Page cache conversion
Moving the test_pagecache_ tests from mysys to unittest/mysys.
Means fixing includes to work with the new directory, some Makefile.am
editing, replacing memset() with bfill().
test_page_cache_*.c renamed to mf_pagecache_*-t.c (-t is the standard
suffix for tests in the mytap protocol).
Also added plan() and exit_status() calls to tests.
Sanja, I put some TODOs for you at the start of mf_pagecache_*.c


unittest/mysys/test_file.h:
  Rename: mysys/test_file.h -> unittest/mysys/test_file.h
mysys/Makefile.am:
  pagecache test files move to top/unittest/mysys
mysys/mf_pagecache.c:
  my_bit.h needed to compile.
unittest/mysys/Makefile.am:
  INCLUDES is a better place for includes than AM_CPPFLAGS (the latter
  get overriden by prog_CPPFLAGS, which is not desirable here).
  Adding pagecache's test programs (moved from mysys);
  test_pagecache_* has been renamed to mf_pagecache*-t
  (-t is the required suffix for test executables in the mytap framework).
unittest/mysys/mf_pagecache_consist.c:
  fixing includes to work with the new directory.
  The test must return an exit code informing if any part failed.
  TODOs for Sanja.
unittest/mysys/mf_pagecache_single.c:
  fixing includes to work with new directory.
  adding a plan() to account for the number of tests.
  Adding exit_status() to tell how many tests failed.
  memset() was giving a compilation warning (implicit declaration etc),
  properly due to me removing stdio.h etc, so I replaced it with bfill().
  TODOs for Sanja.
unittest/mysys/test_file.c:
  moved from mysys (piece of the page cache tests) and includes fixed.
2006-11-16 22:53:53 +01:00
..
examples Adding missing file 2006-08-25 16:11:22 +02:00
mysys Maria - WL#3134 Key cache to Page cache conversion 2006-11-16 22:53:53 +01:00
mytap Various fixes to make MyTAP build on all platforms. 2006-08-29 22:23:56 +02:00
Makefile.am Merge bk-internal.mysql.com:/home/bk/mysql-maria 2006-10-13 11:43:33 +02:00
README.txt Merge mysql.com:/users/lthalmann/bkroot/mysql-5.1-new-rpl 2006-09-11 13:34:44 +02:00
unit.pl Changes to make unit tests work on OS X and AIX 2006-08-30 14:10:53 +02:00

Unit tests directory structure
------------------------------

This is the current structure of the unit tests.  More directories
will be added over time.

mytap                 Source for the MyTAP library
mysys                 Tests for mysys components
  bitmap-t.c          Unit test for MY_BITMAP
  base64-t.c          Unit test for base64 encoding functions
examples              Example unit tests.
  core-t.c            Example of raising a signal in the middle of the test
		      THIS TEST WILL STOP ALL FURTHER TESTING!
  simple-t.c          Example of a standard TAP unit test
  skip-t.c            Example where some test points are skipped
  skip_all-t.c        Example of a test where the entire test is skipped
  todo-t.c            Example where test contain test points that are TODO
  no_plan-t.c         Example of a test with no plan (avoid this)


Executing unit tests
--------------------

To make and execute all unit tests in the directory:

   make test

Observe that the tests in the examples/ directory are just various
examples of tests and are not expected to pass.


Adding unit tests
-----------------

Add a file with a name of the format "foo-t.c" to the appropriate
directory and add the following to the Makefile.am in that directory
(where ... denotes stuff already there):

  noinst_PROGRAMS = ... foo-t

Note, it's important to have "-t" at the end of the filename, otherwise the
test won't be executed by 'make test' !


Documentation
-------------

There is Doxygen-generated documentation available at:

      https://intranet.mysql.com/~mkindahl/mytap/html/