[prev in list] [next in list] [prev in thread] [next in thread]
List: subversion-commits
Subject: svn commit: r1871827 - /subversion/trunk/subversion/bindings/swig/python/tests/client.py
From: futatuki () apache ! org
Date: 2019-12-19 20:51:31
Message-ID: 20191219205131.9FF0C17A010 () svn01-us-east ! apache ! org
[Download RAW message or body]
Author: futatuki
Date: Thu Dec 19 20:51:31 2019
New Revision: 1871827
URL: http://svn.apache.org/viewvc?rev=1871827&view=rev
Log:
Fix pool life time bug on test_log5_revprops test case in swig-py.
* subversion/bindings/swig/python/tests/client.py
(SubversionClientTestCase.log_entry_receiver_whole): Moved to the scope
within SubversionClientTestCase.test_log5_revprops as local function.
(SubversionClientTestCase.test_log5_revprops):
- Use local function log_entry_receiver_whole as receiver argument
instead of SubversionClientTestCase.log_entry_receiver_whole.
- Make a pool for log_entry used by child function log_entry_receiver_whole
(SubversionClientTestCase.test_log5_revprops log_entry_receiver_whole):
- Moved from SubversionClientTestCase.log_entry_receiver_whole.
- Duplicate log_entry object to bring it out of the function scope
by using pool on parent scope.
Found by: stsp
Modified:
subversion/trunk/subversion/bindings/swig/python/tests/client.py
Modified: subversion/trunk/subversion/bindings/swig/python/tests/client.py
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/swig/python/tests/client.py?rev=1871827&r1=1871826&r2=1871827&view=diff
==============================================================================
--- subversion/trunk/subversion/bindings/swig/python/tests/client.py (original)
+++ subversion/trunk/subversion/bindings/swig/python/tests/client.py Thu Dec 19 \
20:51:31 2019 @@ -58,10 +58,6 @@ class SubversionClientTestCase(unittest.
"""An implementation of svn_log_entry_receiver_t."""
self.received_revisions.append(log_entry.revision)
- def log_entry_receiver_whole(self, log_entry, pool):
- """An implementation of svn_log_entry_receiver_t, holds whole log entries."""
- self.received_log_entries.append(log_entry)
-
def setUp(self):
"""Set up authentication and client context"""
self.client_ctx = client.svn_client_create_context()
@@ -287,13 +283,19 @@ class SubversionClientTestCase(unittest.
rev_range = core.svn_opt_revision_range_t()
rev_range.start = start
rev_range.end = end
+ entry_pool = core.Pool()
+
+ def log_entry_receiver_whole(log_entry, pool):
+ """An implementation of svn_log_entry_receiver_t, holds whole log entries."""
+ self.received_log_entries.append(core.svn_log_entry_dup(log_entry,
+ entry_pool))
self.received_log_entries = []
# (Python 3: pass tuple of bytes and str mixture as revprops argment)
client.log5((directory,), start, (rev_range,), 1, True, False, False,
('svn:author', b'svn:log'),
- self.log_entry_receiver_whole, self.client_ctx)
+ log_entry_receiver_whole, self.client_ctx)
self.assertEqual(len(self.received_log_entries), 1)
revprops = self.received_log_entries[0].revprops
self.assertEqual(revprops[b'svn:log'], b"More directories.")
@@ -303,7 +305,7 @@ class SubversionClientTestCase(unittest.
with self.assertRaises(UnicodeEncodeError):
client.log5((directory,), start, (rev_range,), 1, True, False, False,
(u'svn:\udc61uthor', b'svn:log'),
- self.log_entry_receiver_whole, self.client_ctx)
+ log_entry_receiver_whole, self.client_ctx)
def test_uuid_from_url(self):
"""Test svn_client_uuid_from_url on a file:// URL"""
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic