mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
WL#3206 (Add unit tests):
More changes according to review comments. unittest/README.txt: Changes to manifest. unittest/mysys/bitmap.t.c: Removed unused functions and variables. Marked unused parameters as unused. No need to test every size up to 4096 bits, testing to 1024, but I think this is too much as well. unittest/unit.pl: Added test for version-specific function.
This commit is contained in:
@ -1,16 +1,21 @@
|
|||||||
|
|
||||||
|
Unit tests directory structure
|
||||||
|
------------------------------
|
||||||
|
|
||||||
Unit test structure
|
This is the current structure of the unit tests. More directories
|
||||||
-------------------
|
will be added over time.
|
||||||
|
|
||||||
This is the current structure of the unit tests. All directories does
|
mytap Source for the MyTAP library
|
||||||
not currently exist, and more directories will be added over time.
|
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
|
||||||
|
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)
|
||||||
|
|
||||||
+ mysys Tests for mysys components
|
|
||||||
+ examples Example unit tests
|
|
||||||
+ sql Unit tests for server code
|
|
||||||
+ rpl Unit tests for replication code
|
|
||||||
+ log Unit tests for logging
|
|
||||||
|
|
||||||
Executing unit tests
|
Executing unit tests
|
||||||
--------------------
|
--------------------
|
||||||
@ -29,5 +34,3 @@ directory and add the following to the Makefile.am in that directory
|
|||||||
|
|
||||||
noinst_PROGRAMS = ... foo.t
|
noinst_PROGRAMS = ... foo.t
|
||||||
foo_t_c_SOURCES = foo.t.c
|
foo_t_c_SOURCES = foo.t.c
|
||||||
|
|
||||||
|
|
||||||
|
@ -24,15 +24,7 @@
|
|||||||
#include <my_global.h>
|
#include <my_global.h>
|
||||||
#include <my_bitmap.h>
|
#include <my_bitmap.h>
|
||||||
|
|
||||||
static void bitmap_print(MY_BITMAP *map)
|
#include <string.h>
|
||||||
{
|
|
||||||
uint32 *to= map->bitmap, *end= map->last_word_ptr;
|
|
||||||
while (to <= end)
|
|
||||||
{
|
|
||||||
fprintf(stderr,"0x%x ", *to++);
|
|
||||||
}
|
|
||||||
fprintf(stderr,"\n");
|
|
||||||
}
|
|
||||||
|
|
||||||
uint get_rand_bit(uint bitsize)
|
uint get_rand_bit(uint bitsize)
|
||||||
{
|
{
|
||||||
@ -85,7 +77,8 @@ error2:
|
|||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool test_operators(MY_BITMAP *map, uint bitsize)
|
bool test_operators(MY_BITMAP *map __attribute__((unused)),
|
||||||
|
uint bitsize __attribute__((unused)))
|
||||||
{
|
{
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
@ -266,7 +259,7 @@ error2:
|
|||||||
|
|
||||||
bool test_get_first_bit(MY_BITMAP *map, uint bitsize)
|
bool test_get_first_bit(MY_BITMAP *map, uint bitsize)
|
||||||
{
|
{
|
||||||
uint i, j, test_bit;
|
uint i, test_bit;
|
||||||
uint no_loops= bitsize > 128 ? 128 : bitsize;
|
uint no_loops= bitsize > 128 ? 128 : bitsize;
|
||||||
for (i=0; i < no_loops; i++)
|
for (i=0; i < no_loops; i++)
|
||||||
{
|
{
|
||||||
@ -385,8 +378,10 @@ error:
|
|||||||
int main()
|
int main()
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
plan(4095);
|
int const min_size = 1;
|
||||||
for (i= 1; i < 4096; i++)
|
int const max_size = 1024;
|
||||||
|
plan(max_size - min_size);
|
||||||
|
for (i= min_size; i < max_size; i++)
|
||||||
ok(do_test(i) == 0, "bitmap size %d", i);
|
ok(do_test(i) == 0, "bitmap size %d", i);
|
||||||
return exit_status();
|
return exit_status();
|
||||||
}
|
}
|
||||||
|
@ -100,7 +100,8 @@ sub run_cmd (@) {
|
|||||||
# we are replacing the straps under the feet of Test::Harness,
|
# we are replacing the straps under the feet of Test::Harness,
|
||||||
# we need to do some basic initializations in the new straps.
|
# we need to do some basic initializations in the new straps.
|
||||||
$Test::Harness::Strap = MySQL::Straps->new;
|
$Test::Harness::Strap = MySQL::Straps->new;
|
||||||
$Test::Harness::Strap->{callback} = \&Test::Harness::strap_callback;
|
$Test::Harness::Strap->{callback} = \&Test::Harness::strap_callback
|
||||||
|
if defined &Test::Harness::strap_callback;
|
||||||
|
|
||||||
runtests @files;
|
runtests @files;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user