]> git.ozlabs.org Git - ccan/blobdiff - ccan/idtree/test/run-wrap.c
idtree: add unit test for ids around INT_MAX
[ccan] / ccan / idtree / test / run-wrap.c
diff --git a/ccan/idtree/test/run-wrap.c b/ccan/idtree/test/run-wrap.c
new file mode 100644 (file)
index 0000000..6a62323
--- /dev/null
@@ -0,0 +1,22 @@
+#include <ccan/idtree/idtree.c>
+#include <ccan/tap/tap.h>
+#include <limits.h>
+
+int main(int argc, char *argv[])
+{
+       unsigned int i;
+       struct idtree *idtree;
+
+       plan_tests(6);
+       idtree = idtree_new(NULL);
+
+       ok1(idtree_add_above(idtree, &i, INT_MAX-1, INT_MAX) == INT_MAX-1);
+       ok1(idtree_add_above(idtree, &i, INT_MAX-1, INT_MAX) == INT_MAX);
+       ok1(idtree_add_above(idtree, &i, INT_MAX-1, INT_MAX) == -1);
+
+       ok1(idtree_remove(idtree, INT_MAX-1) == true);
+       ok1(idtree_add_above(idtree, &i, INT_MAX-1, INT_MAX) == INT_MAX-1);
+       ok1(idtree_add_above(idtree, &i, INT_MAX-1, INT_MAX) == -1);
+       talloc_free(idtree);
+       exit(exit_status());
+}