mariadb/unittest
J. Neuschäfer 175208a284 Improve crc32 test data
Previously, the buffer used to check that long CRC32 produce the right
results, was initialized with the same value repeated in every byte.
This is subobtimal as it can't detect bugs in which a 8-byte SIMD unit
of data is loaded and processed in the wrong endianness.

Improve the test by initializing the buffer with a pattern that does not
repeat along power-of-two boundaries. 251 was picked as the highest
prime number that fits in a byte.
2025-10-02 15:44:34 +03:00
..
embedded MDEV-33091 pcre2 headers aren't found on Solaris 2024-09-05 12:14:06 +10:00
examples Update FSF Address 2019-05-11 21:29:06 +03:00
json_lib MDEV-35585 unit.json_normalize crashes on mac 2024-12-09 11:42:45 +02:00
my_decimal MDEV-18531 : Use WolfSSL instead of YaSSL as "bundled" SSL/encryption library 2019-05-22 13:48:25 +02:00
mysys Improve crc32 test data 2025-10-02 15:44:34 +03:00
mytap MDEV-25602 get rid of __WIN__ in favor of standard _WIN32 2021-06-06 13:21:03 +02:00
sql Merge 10.6 into 10.11 2025-08-08 14:15:04 +03:00
strings Merge branch '10.6' into 10.11 2023-12-18 11:19:04 +01:00
README.txt Merge romeo.(none):/home/bkroot/mysql-5.1-new-rpl 2006-10-20 22:56:03 +02:00
unit.pl mtr: use env for perl 2020-06-23 03:24:46 +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
-------------

The generated documentation is temporarily placed at:

      http://www.kindahl.net/mytap/doc/

I will move it to a better place once I figure out where and how.