summaryrefslogtreecommitdiff
path: root/lib/talloc/testsuite.c
diff options
context:
space:
mode:
authorVolker Lendecke <vl@samba.org>2013-09-06 14:52:28 -0700
committerVolker Lendecke <vl@samba.org>2013-09-08 11:34:06 +0200
commit20ad6d7aa3dc5e7db4d886202f757ac1f68287d4 (patch)
treeaffcdc7a48bdad6fe0af82e0e41755f0e3df066b /lib/talloc/testsuite.c
parenta3d9099d9a96b36df21ee0733adc5210438fe9dc (diff)
downloadsamba-20ad6d7aa3dc5e7db4d886202f757ac1f68287d4.tar.gz
samba-20ad6d7aa3dc5e7db4d886202f757ac1f68287d4.tar.bz2
samba-20ad6d7aa3dc5e7db4d886202f757ac1f68287d4.zip
talloc: Allow nested pools.
Signed-off-by: Volker Lendecke <vl@samba.org> Signed-off-by: Jeremy Allison <jra@samba.org>
Diffstat (limited to 'lib/talloc/testsuite.c')
-rw-r--r--lib/talloc/testsuite.c26
1 files changed, 26 insertions, 0 deletions
diff --git a/lib/talloc/testsuite.c b/lib/talloc/testsuite.c
index 426c31a8f2..f04f4f1cc7 100644
--- a/lib/talloc/testsuite.c
+++ b/lib/talloc/testsuite.c
@@ -1267,6 +1267,30 @@ static bool test_pool_steal(void)
return true;
}
+static bool test_pool_nest(void)
+{
+ void *p1, *p2, *p3;
+ void *e = talloc_new(NULL);
+
+ p1 = talloc_pool(NULL, 1024);
+ torture_assert("talloc_pool", p1 != NULL, "failed");
+
+ p2 = talloc_pool(p1, 500);
+ torture_assert("talloc_pool", p2 != NULL, "failed");
+
+ p3 = talloc_size(p2, 10);
+
+ talloc_steal(e, p3);
+
+ talloc_free(p2);
+
+ talloc_free(p3);
+
+ talloc_free(p1);
+
+ return true;
+}
+
static bool test_free_ref_null_context(void)
{
void *p1, *p2, *p3;
@@ -1567,6 +1591,8 @@ bool torture_local_talloc(struct torture_context *tctx)
setlinebuf(stdout);
test_reset();
+ ret &= test_pool_nest();
+ test_reset();
ret &= test_ref1();
test_reset();
ret &= test_ref2();