Author: pburba Date: Thu Jun 9 18:53:13 2011 New Revision: 1134037 URL: http://svn.apache.org/viewvc?rev=1134037&view=rev Log: Fix some C-test failures with BDB backend.
* subversion/tests/libsvn_wc/utils.c (create_repos_and_wc): BDB 4.4+ allows only a single environment handle to be open per process, so create the test repository with a subpool then destroy the subpool so the repository's underlying filesystem is closed. This avoids any attempt to open a second environment handle within the same process when we later checkout a WC from the test repos. This solves the failures I reported here http://svn.haxx.se/dev/archive-2011-06/0211.shtml Modified: subversion/trunk/subversion/tests/libsvn_wc/utils.c Modified: subversion/trunk/subversion/tests/libsvn_wc/utils.c URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/libsvn_wc/utils.c?rev=1134037&r1=1134036&r2=1134037&view=diff ============================================================================== --- subversion/trunk/subversion/tests/libsvn_wc/utils.c (original) +++ subversion/trunk/subversion/tests/libsvn_wc/utils.c Thu Jun 9 18:53:13 2011 @@ -22,6 +22,7 @@ #include "svn_error.h" #include "svn_client.h" +#include "svn_pools.h" #include "utils.h" @@ -66,8 +67,16 @@ create_repos_and_wc(const char **repos_u { svn_repos_t *repos; - SVN_ERR(svn_test__create_repos(&repos, repos_path, opts, pool)); + /* Use a subpool to create the repository and then destroy the subpool + so the repository's underlying filesystem is closed. If opts->fs_type + is BDB this prevents any attempt to open a second environment handle + within the same process when we checkout the WC below. BDB 4.4+ allows + only a single environment handle to be open per process. */ + apr_pool_t *subpool = svn_pool_create(pool); + + SVN_ERR(svn_test__create_repos(&repos, repos_path, opts, subpool)); SVN_ERR(svn_uri_get_file_url_from_dirent(repos_url, repos_path, pool)); + svn_pool_destroy(subpool); } /* Create a WC. Set *WC_ABSPATH to its path. */