diff options
Diffstat (limited to 'test')
| -rw-r--r-- | test/pkarr.c | 51 | ||||
| -rw-r--r-- | test/pkarr.cpp | 51 |
2 files changed, 102 insertions, 0 deletions
diff --git a/test/pkarr.c b/test/pkarr.c new file mode 100644 index 0000000..d60d90c --- /dev/null +++ b/test/pkarr.c @@ -0,0 +1,51 @@ + +#include "../pkarr.h" + +void +test_spinup(struct pk_arr *arr, struct pk_membucket **bkt) +{ + memset(arr, 0, sizeof(struct pk_arr)); + *bkt = pk_bucket_create("test", 1024 * 1024, false); + arr->bkt = *bkt; +} + +void +test_teardown(struct pk_arr *arr, struct pk_membucket **bkt) +{ + pk_bucket_destroy(*bkt); + *bkt = NULL; + arr->data = NULL; +} + +int main(int argc, char *argv[]) +{ + (void)argc; + (void)argv; + struct pk_arr arr = {0}; + struct pk_membucket *bkt = {0}; + + /* template + { + test_spinup(&arr, &bkt); + + test_teardown(&arr, &bkt); + } + */ + + { + test_spinup(&arr, &bkt); + arr.stride = sizeof(uint8_t); + + uint8_t c = 255; + pk_arr_append(&arr, &c); + + if (arr.bkt == NULL) exit(1); + if (arr.data == NULL) exit(1); + if (arr.reserved == 0) exit(1); + if (arr.next != 1) exit(1); + + test_teardown(&arr, &bkt); + } + + return 0; +} diff --git a/test/pkarr.cpp b/test/pkarr.cpp new file mode 100644 index 0000000..d60d90c --- /dev/null +++ b/test/pkarr.cpp @@ -0,0 +1,51 @@ + +#include "../pkarr.h" + +void +test_spinup(struct pk_arr *arr, struct pk_membucket **bkt) +{ + memset(arr, 0, sizeof(struct pk_arr)); + *bkt = pk_bucket_create("test", 1024 * 1024, false); + arr->bkt = *bkt; +} + +void +test_teardown(struct pk_arr *arr, struct pk_membucket **bkt) +{ + pk_bucket_destroy(*bkt); + *bkt = NULL; + arr->data = NULL; +} + +int main(int argc, char *argv[]) +{ + (void)argc; + (void)argv; + struct pk_arr arr = {0}; + struct pk_membucket *bkt = {0}; + + /* template + { + test_spinup(&arr, &bkt); + + test_teardown(&arr, &bkt); + } + */ + + { + test_spinup(&arr, &bkt); + arr.stride = sizeof(uint8_t); + + uint8_t c = 255; + pk_arr_append(&arr, &c); + + if (arr.bkt == NULL) exit(1); + if (arr.data == NULL) exit(1); + if (arr.reserved == 0) exit(1); + if (arr.next != 1) exit(1); + + test_teardown(&arr, &bkt); + } + + return 0; +} |
