summaryrefslogtreecommitdiff
path: root/src/lib/tests/bitmap_test.c
diff options
context:
space:
mode:
authordimitri staessens <[email protected]>2017-04-01 12:31:05 +0000
committerSander Vrijders <[email protected]>2017-04-01 12:31:05 +0000
commit2725780520d0e2c6a2c49ac8e2124b5088cbe1bb (patch)
tree833a7f4133fb3f3f8d746343cff6fb9fc40f7829 /src/lib/tests/bitmap_test.c
parentd9f3619d791fef7d79127556304a4aa4f1cda50a (diff)
parentc72634b5d921bc06d8e06afb2a60a05a1acb7ee2 (diff)
downloadouroboros-2725780520d0e2c6a2c49ac8e2124b5088cbe1bb.tar.gz
ouroboros-2725780520d0e2c6a2c49ac8e2124b5088cbe1bb.zip
Merged in dstaesse/ouroboros/be-irmd-threadpool (pull request #448)
Be irmd threadpool
Diffstat (limited to 'src/lib/tests/bitmap_test.c')
-rw-r--r--src/lib/tests/bitmap_test.c35
1 files changed, 26 insertions, 9 deletions
diff --git a/src/lib/tests/bitmap_test.c b/src/lib/tests/bitmap_test.c
index 7480600e..e438f217 100644
--- a/src/lib/tests/bitmap_test.c
+++ b/src/lib/tests/bitmap_test.c
@@ -23,6 +23,7 @@
#include "bitmap.c"
#include <time.h>
#include <stdlib.h>
+#include <stdio.h>
#define BITMAP_SIZE 200
@@ -41,40 +42,56 @@ int bitmap_test(int argc, char ** argv)
srand(time(NULL));
bmp = bmp_create(bits, offset);
- if (bmp == NULL)
+ if (bmp == NULL) {
+ printf("Failed to create bmp.\n");
return -1;
+ }
- if (bmp_destroy(bmp))
- return -1;
+ bmp_destroy(bmp);
bmp = bmp_create(bits, offset);
- if (bmp == NULL)
+ if (bmp == NULL) {
+ printf("Failed to re-create bmp.\n");
return -1;
+ }
for (i = offset; i < BITMAP_SIZE + 5 + offset; i++) {
id = bmp_allocate(bmp);
if (!bmp_is_id_valid(bmp, id))
continue;
- if (id != i)
+ if (!bmp_is_id_used(bmp, id)) {
+ printf("ID not marked in use.\n");
+ bmp_destroy(bmp);
return -1;
+ }
+
+ if (id != i) {
+ printf("Wrong ID returned.\n");
+ bmp_destroy(bmp);
+ return -1;
+ }
}
for (i = 0; i < BITMAP_SIZE + 5; i++) {
r = (ssize_t) (rand() % BITMAP_SIZE) + offset;
- if (bmp_release(bmp, r))
+ if (bmp_release(bmp, r)) {
+ printf("Failed to release ID.\n");
return -1;
+ }
id = bmp_allocate(bmp);
if (!bmp_is_id_valid(bmp, id))
continue;
- if (id != r)
+ if (id != r) {
+ printf("Wrong prev ID returned.\n");
+ bmp_destroy(bmp);
return -1;
+ }
}
- if (bmp_destroy(bmp))
- return -1;
+ bmp_destroy(bmp);
return 0;
}