On 12/8/18 3:57 AM, Yasuhito FUTATSUKI wrote:
> On 12/6/18 5:06 PM, Yasuhito FUTATSUKI wrote:
> Jun Omae kindly reviewed and rewrote my patch to move code to check object
> type into svn_swig_py_make_stream() in swigutil_py.c to minimize expansion
> of typemap, and added test for parse_fns3_invalid_set_fulltext() in
> swigutil_py.c which is affected by modification of
> svn_swig_py_make_stream().
> (https://github.com/jun66j5/subversion/commits/improve_swig_py_stream_IF)
> I also add few modification after it, so I repost modified patch.
>
Most of the patch is fine. Besides some minor code formatting tweaks,
there's only one bit I really changed when committing (as r1848577):
> --- a/subversion/bindings/swig/python/tests/repository.py
> +++ b/subversion/bindings/swig/python/tests/repository.py
> @@ -231,6 +231,26 @@ class SubversionRepositoryTestCase(unittest.TestCase):
> # the comparison list gets too long.
> self.assertEqual(dsp.ops[:len(expected_list)], expected_list)
>
> + def test_parse_fns3_invalid_set_fulltext(self):
> + self.cancel_calls = 0
> + def is_cancelled():
> + self.cancel_calls += 1
> + return None
These mechanics around cancellation aren't necessary, and I'm guessing
were just copied from other test functions nearby. I've removed them.
> + class DumpStreamParserSubclass(DumpStreamParser):
> + def set_fulltext(self, node_baton):
> + DumpStreamParser.set_fulltext(self, node_baton)
> + return 42
> + dump_path = os.path.join(os.path.dirname(sys.argv[0]),
> + "trac/versioncontrol/tests/svnrepos.dump")
> + stream = open(dump_path)
> + try:
> + dsp = DumpStreamParserSubclass()
> + ptr, baton = repos.make_parse_fns3(dsp)
> + self.assertRaises(TypeError, repos.parse_dumpstream3,
> + stream, ptr, baton, False, is_cancelled)
...and of course, changed is_cancelled to None here.
Received on 2018-12-10 14:38:32 CET