On Mon, Feb 7, 2011 at 1:49 PM, Philip Martin
<philip.martin_at_wandisco.com> wrote:
> Philip Martin <philip.martin_at_wandisco.com> writes:
>
>> hwright_at_apache.org writes:
>>
>>> Author: hwright
>>> Date: Sat Feb 5 02:17:32 2011
>>> New Revision: 1067380
>>>
>>> URL: http://svn.apache.org/viewvc?rev=1067380&view=rev
>>> Log:
>>> Use Python decorators to denote XFail, Skip, SkipUnless and Wimp tests. Also,
>>> add Issue decorators where appropriate.
>>
>> authz_tests.py defines two tests: wc_wc_copy and wc_wc_copy_revert, and
>> the second test calls the first:
>>
>> @Skip(svntest.main.is_ra_type_file)
>> def wc_wc_copy(sbox):
>> "wc-to-wc copy with absent nodes"
>> ...
>>
>> @Skip(svntest.main.is_ra_type_file)
>> def wc_wc_copy_revert(sbox):
>> "wc-to-wc copy with absent nodes and then revert"
>>
>> wc_wc_copy(sbox)
>> ...
>>
>> and this now fails with:
>>
>> File "/home/pm/sw/subversion/src/subversion/tests/cmdline/authz_tests.py", lin
>> e 1049, in wc_wc_copy_revert
>> wc_wc_copy(sbox)
>> AttributeError: _Skip instance has no __call__ method
>
> Is this right?
>
> Index: subversion/tests/cmdline/svntest/testcase.py
> ===================================================================
> --- subversion/tests/cmdline/svntest/testcase.py (revision 1067926)
> +++ subversion/tests/cmdline/svntest/testcase.py (working copy)
> @@ -259,6 +259,8 @@
> raise svntest.Skip
> return self._delegate.run(sandbox)
>
> + def __call__(self, *args):
> + return self.run(*args)
>
> class _SkipUnless(_Skip):
> """A test that will be skipped if its conditional is false."""
I haven't tested it, but the Right solution feels like we should make
the tests not call each other. Either they should be combined into
one test, or the common code should be factored out into a helper
method. What benefit does having the called test give, if the *exact*
same code is being tested elsewhere?
-Hyrum
Received on 2011-02-07 16:17:04 CET