Commit a14de3b2 authored by unknown's avatar unknown
Browse files

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.
parent 4f99f11e
Loading
Loading
Loading
Loading
+14 −11
Original line number Diff line number Diff line

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
not currently exist, and 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
  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
--------------------
@@ -29,5 +34,3 @@ directory and add the following to the Makefile.am in that directory

  noinst_PROGRAMS = ... foo.t
  foo_t_c_SOURCES = foo.t.c

+8 −13
Original line number Diff line number Diff line
@@ -24,15 +24,7 @@
#include <my_global.h>
#include <my_bitmap.h>

static void bitmap_print(MY_BITMAP *map)
{
  uint32 *to= map->bitmap, *end= map->last_word_ptr;
  while (to <= end)
  {
    fprintf(stderr,"0x%x ", *to++);
  }
  fprintf(stderr,"\n");    
}
#include <string.h>

uint get_rand_bit(uint bitsize)
{
@@ -85,7 +77,8 @@ bool test_flip_bit(MY_BITMAP *map, uint bitsize)
  return TRUE;
}

bool test_operators(MY_BITMAP *map, uint bitsize)
bool test_operators(MY_BITMAP *map __attribute__((unused)),
                    uint bitsize __attribute__((unused)))
{
  return FALSE;
}
@@ -266,7 +259,7 @@ bool test_count_bits_set(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;
  for (i=0; i < no_loops; i++)
  {
@@ -385,8 +378,10 @@ bool do_test(uint bitsize)
int main()
{
  int i;
  plan(4095);
  for (i= 1; i < 4096; i++)
  int const min_size = 1;
  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);
  return exit_status();
}
+2 −1
Original line number Diff line number Diff line
@@ -100,7 +100,8 @@ sub run_cmd (@) {
        # we are replacing the straps under the feet of Test::Harness,
        # we need to do some basic initializations in the new straps.
        $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;
    }