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.

Reply via email to