[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

[PATCH] Fix tests to not clear parent pool each time.

From: Justin Erenkrantz <jerenkrantz_at_ebuilt.com>
Date: 2001-12-14 22:49:13 CET

Sander,

Can you take a look at this? cmpilato and I found that the tests
("make check") weren't working right with the new APR pool code -
getting aborts when trying to get the error_pool and not finding it.

I think it could be related to the fact that we are resetting the
root pool each time in svn_test_main.c - this invalidates the error
pool (which is created as a *child* of the root pool). HOWEVER,
cmpilato pointed out the code in svn_pool_clear that should get
around this. Perhaps it isn't working as we expected.

Gotta run. This patch works for me, but may not ideal. I'll
be in IRC later tonight. -- justin

Index: subversion/tests/svn_tests_main.c
===================================================================
--- subversion/tests/.svn/text-base/svn_tests_main.c.svn-base Mon Dec 10 01:50:38 2001
+++ subversion/tests/svn_tests_main.c Fri Dec 14 13:36:47 2001
@@ -117,7 +117,7 @@
   int test_num;
   int i;
   int got_error = 0;
- apr_pool_t *pool;
+ apr_pool_t *pool, *tpool;
   int ran_a_test = 0;
 
   /* How many tests are there? */
@@ -132,6 +132,7 @@
 
   /* set up the global pool */
   pool = svn_pool_create (NULL);
+ tpool = svn_pool_create(pool);
 
   /* Strip off any leading path components from the program name. */
   prog_name = strrchr (argv[0], '/');
@@ -161,11 +162,11 @@
           /* run all tests with MSG_ONLY set to TRUE */
           for (i = 1; i <= array_size; i++)
             {
- if (do_test_num (prog_name, i, TRUE, pool))
+ if (do_test_num (prog_name, i, TRUE, tpool))
                 got_error = 1;
               
               /* Clear the per-function pool */
- svn_pool_clear (pool);
+ svn_pool_clear (tpool);
             }
         }
       else
@@ -176,11 +177,11 @@
                 {
                   ran_a_test = 1;
                   test_num = atoi (argv[i]);
- if (do_test_num (prog_name, test_num, FALSE, pool))
+ if (do_test_num (prog_name, test_num, FALSE, tpool))
                     got_error = 1;
                   
                   /* Clear the per-function pool */
- svn_pool_clear (pool);
+ svn_pool_clear (tpool);
                 }
               else if (argv[i][0] != '-')
                 {
@@ -196,11 +197,11 @@
       /* just run all tests */
       for (i = 1; i <= array_size; i++)
         {
- if (do_test_num (prog_name, i, FALSE, pool))
+ if (do_test_num (prog_name, i, FALSE, tpool))
             got_error = 1;
 
           /* Clear the per-function pool */
- svn_pool_clear (pool);
+ svn_pool_clear (tpool);
         }
     }
 

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Sat Oct 21 14:36:53 2006

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.