[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: [PATCH 2/3] atomic-revprop: Change tests

From: Daniel Shahaf <d.s_at_daniel.shahaf.name>
Date: Mon, 20 Sep 2010 12:53:22 +0200

Jon Foster wrote on Mon, Sep 20, 2010 at 10:48:44 +0100:
> Hi,
>
> This patch changes the tests for the atomic-revprop feature, so that
> they test the error number rather than parsing the error text.
> This doesn't work with Serf or Neon yet - they're still TODO. This
> gives you a way to test Serf & Neon patches. (You might like to
> hold off on committing this until Serf and Neon are done).
>
> The patch is against the atomic-revprop branch, and requires
> Patch 1 to be applied first. It doesn't apply to trunk (I don't
> think the tests have been merged to trunk?)
>

On trunk there are only the libsvn_fs and libsvn_repos parts. The
libsvn_ra parts, and the associated Python tests, are only on the
branch.

> [[[
> Change atomic-revprop tests to look at the error number rather
> than parsing the error text.
>
> * subversion/tests/cmdline/atomic-ra-revprop-change.c:
> (main): When printing an error, check if it's SVN_ERR_BAD_OLD_VALUE
> and print a special message if it is.
>
> * subversion/tests/cmdline/prop_tests.py:
> (FAILS_WITH_BPV): Look for the special message.
>
> Patch by: Jon Foster <jon.foster_at_cabot.co.uk>
> ]]]
>

So, this is trying to capture the current ra_dav situation, where the
err->message is correct but err->apr_err isn't? (and will make the test
fail over ra_neon/ra_serf)

In other news, I've been thinking about moving the entire validation
logic to the C helper; that is, to have it get an extra argv argument
saying whether the revpropchange should pass or fail, and test by itself
that it passed/failed as expected; and the Python tests would always
expect it to exit(0). What do you think?

> Index: subversion/tests/cmdline/atomic-ra-revprop-change.c
> ===================================================================
> --- subversion/tests/cmdline/atomic-ra-revprop-change.c (revision 998620)
> +++ subversion/tests/cmdline/atomic-ra-revprop-change.c (working copy)
> @@ -226,6 +226,8 @@
> http_library, pool);
> if (err)
> {
> + if (svn_error_has_cause(err, SVN_ERR_BAD_OLD_VALUE))
> + fprintf(stderr, "atomic-ra-revprop-change failed due to incorrect old value.\n");

Or even more directly:

- if (err)
+ if (err && err->apr_err == SVN_ERR_BAD_OLD_VALUE)

> svn_handle_error2(err, stderr, FALSE, "atomic-ra-revprop-change: ");
> svn_error_clear(err);
> exit_code = EXIT_FAILURE;
Received on 2010-09-20 12:54:33 CEST

This is an archived mail posted to the Subversion Dev mailing list.