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

Re: svn commit: r30281 - in trunk/subversion: libsvn_ra_serf tests/cmdline

From: David Glasser <glasser_at_davidglasser.net>
Date: Fri, 4 Apr 2008 11:19:27 -0700

This test fails for me under RA-local, when my working copy is checked
out via HTTPS.

CMD: svn mergeinfo
file:///opt/svn/checkouts/in-memory-cache/subversion/tests/cmdline/svn-test-work/repositories/mergeinfo_tests-4/iota
--config-dir /opt/svn/checkouts/in-memory-cache/subversion/tests/cmdline/svn-test-work/local_tmp/config
--password rayjandom --no-auth-cache --username jrandom <TIME =
0.318293>

EXPECTED STDERR (regexp):
.*File not found.*iota.*|.*iota.*path not found.*
ACTUAL STDERR:
Error validating server certificate for 'https://svn.collab.net:443':
 - The certificate is not issued by a trusted authority. Use the
   fingerprint to validate the certificate manually!
Certificate information:
 - Hostname: svn.collab.net
 - Valid: from Sep 24 22:01:07 2007 GMT until Sep 23 22:01:07 2011 GMT
 - Issuer: svn, CollabNet, Brisbane, California, US
 - Fingerprint: aa:5b:74:b1:e2:7f:38:b3:2b:c2:b1:60:6e:01:bb:f5:7c:37:98:46
(R)eject or accept (t)emporarily?
subversion/libsvn_ra_neon/util.c:601: (apr_err=175002)
svn: OPTIONS of
'https://svn.collab.net/repos/svn/branches/in-memory-cache/subversion/tests/cmdline':
Server certificate verification failed: issuer is not trusted
(https://svn.collab.net)
EXCEPTION: SVNUnmatchedError
Traceback (most recent call last):
  File "/opt/svn/checkouts/in-memory-cache/subversion/tests/cmdline/svntest/main.py",
line 1066, in run
    rc = apply(self.pred.run, (), kw)
  File "/opt/svn/checkouts/in-memory-cache/subversion/tests/cmdline/svntest/testcase.py",
line 121, in run
    return self.func(sandbox)
  File "/opt/svn/checkouts/in-memory-cache/subversion/tests/cmdline/mergeinfo_tests.py",
line 116, in mergeinfo_on_unknown_url
    "mergeinfo", url)
  File "/opt/svn/checkouts/in-memory-cache/subversion/tests/cmdline/svntest/actions.py",
line 211, in run_and_verify_svn
    expected_exit, *varargs)
  File "/opt/svn/checkouts/in-memory-cache/subversion/tests/cmdline/svntest/actions.py",
line 248, in run_and_verify_svn2
    verify.verify_outputs(message, out, err, expected_stdout, expected_stderr)
  File "/opt/svn/checkouts/in-memory-cache/subversion/tests/cmdline/svntest/verify.py",
line 331, in verify_outputs
    compare_and_display_lines(message, label, expected, actual, raisable)
  File "/opt/svn/checkouts/in-memory-cache/subversion/tests/cmdline/svntest/verify.py",
line 303, in compare_and_display_lines
    raise raisable
SVNUnmatchedError
FAIL: mergeinfo_tests.py 4: mergeinfo of an unknown url should return error

Technically this is a failure on the in-memory-cache branch, not
trunk, but I'd be shocked if it isn't in trunk as well.

The problem here is that the URL you specified is being parsed as the
source URL (is that what you intended), and the target is being parsed
from the WC. I guess you should specify both?

--dave

On Fri, Apr 4, 2008 at 10:04 AM, <lgo_at_tigris.org> wrote:
> Author: lgo
> Date: Fri Apr 4 10:04:43 2008
> New Revision: 30281
>
> Log:
> ra_serf: Fix issue #3138: make get_locations and get_location_segments return
> an error when the target url isn't found in the repository. This also fixes an
> abort on exit of 'svn merge'.
>
> * subversion/libsvn_ra_serf/getlocations.c
> (svn_ra_serf__get_locations): Raise SVN_ERR_RA_DAV_PATH_NOT_FOUND error when
> the target item doesn't exist in the repository.
>
> * subversion/libsvn_ra_serf/getlocationsegments.c
> (svn_ra_serf__get_location_segments): idem.
>
> * subversion/libsvn_ra_serf/mergeinfo.c
> (svn_ra_serf__get_mergeinfo): Raise the error when the target item doesn't
> exist in the repository.
>
> * subversion/tests/cmdline/merge_tests.py
> (merge_unknown_url): New test.
> (test_list): Run the new test.
>
> * subversion/tests/cmdline/mergeinfo_tests.py
> (mergeinfo_on_unknown_url): New test.
> (test_list): Run the new test.
>
> Modified:
> trunk/subversion/libsvn_ra_serf/getlocations.c
> trunk/subversion/libsvn_ra_serf/getlocationsegments.c
> trunk/subversion/libsvn_ra_serf/mergeinfo.c
> trunk/subversion/tests/cmdline/merge_tests.py
> trunk/subversion/tests/cmdline/mergeinfo_tests.py
>
> Modified: trunk/subversion/libsvn_ra_serf/getlocations.c
> URL: http://svn.collab.net/viewvc/svn/trunk/subversion/libsvn_ra_serf/getlocations.c?pathrev=30281&r1=30280&r2=30281
> ==============================================================================
> --- trunk/subversion/libsvn_ra_serf/getlocations.c Fri Apr 4 09:51:52 2008 (r30280)
> +++ trunk/subversion/libsvn_ra_serf/getlocations.c Fri Apr 4 10:04:43 2008 (r30281)
> @@ -274,5 +274,12 @@ svn_ra_serf__get_locations(svn_ra_sessio
> SVN_ERR(parser_ctx->error);
> }
>
> + if (loc_ctx->status_code == 404)
> + {
> + return svn_error_create(SVN_ERR_RA_DAV_PATH_NOT_FOUND, NULL,
> + apr_psprintf(pool, _("'%s' path not found"),
> + req_url));
> + }
> +
> return err;
> }
>
> Modified: trunk/subversion/libsvn_ra_serf/getlocationsegments.c
> URL: http://svn.collab.net/viewvc/svn/trunk/subversion/libsvn_ra_serf/getlocationsegments.c?pathrev=30281&r1=30280&r2=30281
> ==============================================================================
> --- trunk/subversion/libsvn_ra_serf/getlocationsegments.c Fri Apr 4 09:51:52 2008 (r30280)
> +++ trunk/subversion/libsvn_ra_serf/getlocationsegments.c Fri Apr 4 10:04:43 2008 (r30281)
> @@ -224,6 +224,14 @@ svn_ra_serf__get_location_segments(svn_r
> SVN_ERR(parser_ctx->error);
> }
>
> +
> + if (gls_ctx->status_code == 404)
> + {
> + return svn_error_create(SVN_ERR_RA_DAV_PATH_NOT_FOUND, NULL,
> + apr_psprintf(pool, _("'%s' path not found"),
> + req_url));
> + }
> +
> svn_pool_destroy(gls_ctx->subpool);
>
> if (err && (err->apr_err == SVN_ERR_UNSUPPORTED_FEATURE))
>
> Modified: trunk/subversion/libsvn_ra_serf/mergeinfo.c
> URL: http://svn.collab.net/viewvc/svn/trunk/subversion/libsvn_ra_serf/mergeinfo.c?pathrev=30281&r1=30280&r2=30281
> ==============================================================================
> --- trunk/subversion/libsvn_ra_serf/mergeinfo.c Fri Apr 4 09:51:52 2008 (r30280)
> +++ trunk/subversion/libsvn_ra_serf/mergeinfo.c Fri Apr 4 10:04:43 2008 (r30281)
> @@ -290,10 +290,22 @@ svn_ra_serf__get_mergeinfo(svn_ra_sessio
> svn_error_clear(err);
> return svn_error_createf(SVN_ERR_RA_DAV_PATH_NOT_FOUND, NULL,
> _("'%s' path not found"), handler->path);
> + }
> +
> + if (parser_ctx->error)
> + {
> + svn_error_clear(err);
> + SVN_ERR(parser_ctx->error);
> }
> else
> SVN_ERR(err);
>
> + if (status_code == 404)
> + {
> + return svn_error_createf(SVN_ERR_RA_DAV_PATH_NOT_FOUND, NULL,
> + _("'%s' path not found"), handler->path);
> + }
> +
> if (mergeinfo_ctx->done)
> *catalog = mergeinfo_ctx->result_catalog;
>
>
> Modified: trunk/subversion/tests/cmdline/merge_tests.py
> URL: http://svn.collab.net/viewvc/svn/trunk/subversion/tests/cmdline/merge_tests.py?pathrev=30281&r1=30280&r2=30281
> ==============================================================================
> --- trunk/subversion/tests/cmdline/merge_tests.py Fri Apr 4 09:51:52 2008 (r30280)
> +++ trunk/subversion/tests/cmdline/merge_tests.py Fri Apr 4 10:04:43 2008 (r30281)
> @@ -10749,7 +10749,25 @@ def merge_added_subtree(sbox):
> expected_output, expected_disk,
> expected_status, expected_skip)
>
> -
> +#----------------------------------------------------------------------
> +# Issue #3138
> +def merge_unknown_url(sbox):
> + "merging an unknown url should return error"
> +
> + sbox.build()
> + wc_dir = sbox.wc_dir
> +
> + # remove a path from the repo and commit.
> + iota_path = os.path.join(wc_dir, 'iota')
> + svntest.actions.run_and_verify_svn(None, None, [], 'rm', iota_path)
> + svntest.actions.run_and_verify_svn("", None, [],
> + "ci", wc_dir, "-m", "log message")
> +
> +
> + url = sbox.repo_url + "/iota"
> + expected_err = ".*File not found.*iota.*|.*iota.*path not found.*"
> + svntest.actions.run_and_verify_svn("", None, expected_err,
> + "merge", url, wc_dir)
>
> ########################################################################
> # Run the tests
> @@ -10851,6 +10869,7 @@ test_list = [ None,
> foreign_repos,
> foreign_repos_2_url,
> XFail(merge_added_subtree),
> + merge_unknown_url,
> ]
>
> if __name__ == '__main__':
>
> Modified: trunk/subversion/tests/cmdline/mergeinfo_tests.py
> URL: http://svn.collab.net/viewvc/svn/trunk/subversion/tests/cmdline/mergeinfo_tests.py?pathrev=30281&r1=30280&r2=30281
> ==============================================================================
> --- trunk/subversion/tests/cmdline/mergeinfo_tests.py Fri Apr 4 09:51:52 2008 (r30280)
> +++ trunk/subversion/tests/cmdline/mergeinfo_tests.py Fri Apr 4 10:04:43 2008 (r30281)
> @@ -93,8 +93,27 @@ def explicit_mergeinfo_source(sbox):
>
> # Now check on a source we haven't "merged" from.
> svntest.actions.run_and_verify_mergeinfo(adjust_error_for_server_version(""),
> - [2], H2_url, H_path)
> -
> + [2], H2_url, H_path)
> +
> +#----------------------------------------------------------------------
> +# Issue #3138
> +def mergeinfo_on_unknown_url(sbox):
> + "mergeinfo of an unknown url should return error"
> +
> + sbox.build()
> + wc_dir = sbox.wc_dir
> +
> + # remove a path from the repo and commit.
> + iota_path = os.path.join(wc_dir, 'iota')
> + svntest.actions.run_and_verify_svn(None, None, [], 'rm', iota_path)
> + svntest.actions.run_and_verify_svn("", None, [],
> + "ci", wc_dir, "-m", "log message")
> +
> +
> + url = sbox.repo_url + "/iota"
> + expected_err = ".*File not found.*iota.*|.*iota.*path not found.*"
> + svntest.actions.run_and_verify_svn("", None, expected_err,
> + "mergeinfo", url)
>
> ########################################################################
> # Run the tests
> @@ -105,6 +124,7 @@ test_list = [ None,
> no_mergeinfo,
> mergeinfo,
> XFail(explicit_mergeinfo_source),
> + mergeinfo_on_unknown_url,
> ]
>
> if __name__ == '__main__':
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: svn-unsubscribe_at_subversion.tigris.org
> For additional commands, e-mail: svn-help_at_subversion.tigris.org
>
>

-- 
David Glasser | glasser@davidglasser.net | http://www.davidglasser.net/
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe_at_subversion.tigris.org
For additional commands, e-mail: dev-help_at_subversion.tigris.org
Received on 2008-04-04 20:19:41 CEST

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

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.