summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorJonathan Bradley <jcb@pikum.xyz>2024-12-05 15:05:04 -0500
committerJonathan Bradley <jcb@pikum.xyz>2024-12-05 15:06:10 -0500
commit74bf6a57c3c852d8b5237f2b5920556c63da1d79 (patch)
tree0379d5f64a6e09127cc137941d6452f2fbb0f98e /test
parent42d967bb6a674fe025a2ad8455bc49a8b93b9d20 (diff)
pkarr: first-pass
Diffstat (limited to 'test')
-rw-r--r--test/pkarr.c51
-rw-r--r--test/pkarr.cpp51
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;
+}