mariadb/unittest
ParadoxV5 b668a960cd MDEV-21978 Add %sQ, %sB, %uE & %sT to my_vsnprintf
This is the first part of
MDEV-21978 make my_vsnprintf to use gcc-compatible format extensions,
which adds these alternatives to the MySQL extensions.
There’s also the escapes `%sS` & `%uU` for any hippies needing them.
These suffixes are compatible with the C standard and
therefore as well as `printf` tools such as GCC checks.

The old extension formats (e.g., `%M`) are now effectively deprecated,
although they’re left intact for now. For a more sequential
MDEV-21978 process, a separate commit will delete them after we migrate
all `my_vsnprintf` usages to the new preferred syntax. The service’s
major version bumped nonetheless for the new significance of suffixes.

[Breaking] This commit may fail
* on places needing the aforementioned escapes
* because of the major version bump

Reviewed-by: Andrew Hutchings <andrew@mariadb.org>
Reviewed-by: Brandon Nesterenko <brandon.nesterenko@mariadb.com>
2025-02-11 20:32:55 +01:00
..
client MDEV-34740 mariadb-import: optimize index and constraint creation 2025-01-24 13:15:05 +01:00
embedded Merge branch '11.3' into 11.4 2024-02-15 13:53:21 +01:00
examples Cleanup Whitespace in unittest/ directory 2024-07-25 00:28:02 +10:00
json_lib Merge 11.7 into main 2025-01-09 13:46:06 +02:00
my_decimal Cleanup Whitespace in unittest/ directory 2024-07-25 00:28:02 +10:00
mysys MDEV-21978 Add %sQ, %sB, %uE & %sT to my_vsnprintf 2025-02-11 20:32:55 +01:00
mytap MDEV-34740 mariadb-import: optimize index and constraint creation 2025-01-24 13:15:05 +01:00
sql Merge 11.4 into 11.7 2025-01-09 09:41:38 +02:00
strings Cleanup Whitespace in unittest/ directory 2024-07-25 00:28:02 +10:00
README.txt Merge romeo.(none):/home/bkroot/mysql-5.1-new-rpl 2006-10-20 22:56:03 +02:00
unit.pl Cleanup Whitespace in unittest/ directory 2024-07-25 00:28:02 +10: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.