diff options
| author | dimitri staessens <dimitri.staessens@ugent.be> | 2017-05-24 13:15:38 +0000 | 
|---|---|---|
| committer | Sander Vrijders <sander.vrijders@ugent.be> | 2017-05-24 13:15:38 +0000 | 
| commit | f986d188898f8b7cd6db3442d29728ca78dad76e (patch) | |
| tree | 03ffb3b0b75affb94eba78408c161dba0494f94a /src/lib/tests | |
| parent | be49633c7069c2a2273add8c1dd0425a8f25dd1e (diff) | |
| parent | a3ede18c5d3e652e9d0bade4b28193e666198574 (diff) | |
| download | ouroboros-f986d188898f8b7cd6db3442d29728ca78dad76e.tar.gz ouroboros-f986d188898f8b7cd6db3442d29728ca78dad76e.zip | |
Merged in dstaesse/ouroboros/be-lib-bitmap (pull request #511)
lib: Fix bug in bitmap
Diffstat (limited to 'src/lib/tests')
| -rw-r--r-- | src/lib/tests/bitmap_test.c | 15 | 
1 files changed, 13 insertions, 2 deletions
| diff --git a/src/lib/tests/bitmap_test.c b/src/lib/tests/bitmap_test.c index e438f217..4f58de3b 100644 --- a/src/lib/tests/bitmap_test.c +++ b/src/lib/tests/bitmap_test.c @@ -30,7 +30,7 @@  int bitmap_test(int argc, char ** argv)  {          struct bmp * bmp; -        size_t bits = BITMAP_SIZE; +        ssize_t bits = BITMAP_SIZE;          ssize_t id;          int i;          ssize_t r; @@ -57,8 +57,19 @@ int bitmap_test(int argc, char ** argv)          for (i = offset; i < BITMAP_SIZE + 5 + offset; i++) {                  id = bmp_allocate(bmp); -                if (!bmp_is_id_valid(bmp, id)) +                if (!bmp_is_id_valid(bmp, id)) { +                        if (i < BITMAP_SIZE + offset) { +                                printf("Failed valid ID %d (%zd).\n", i, id); +                                bmp_destroy(bmp); +                                return -1; +                        } +                        if (id >= offset && id < bits + offset) { +                                printf("Valid ID %zd returned invalid.\n", id); +                                bmp_destroy(bmp); +                                return -1; +                        }                          continue; +                }                  if (!bmp_is_id_used(bmp, id)) {                          printf("ID not marked in use.\n"); | 
