Author: danielsh
Date: Fri Apr 12 21:43:20 2013
New Revision: 1467481
URL: http://svn.apache.org/r1467481
Log:
Two semi-related changes: tweak the stack traces, again, and rely on that tweak
to make it easier for the Python tests to recognise the new format.
* subversion/libsvn_subr/error.c
(print_error): Add a comma at the end of bare file:lineno lines.
* subversion/tests/cmdline/merge_automatic_tests.py
(subtree_to_and_fro),
* subversion/tests/cmdline/merge_reintegrate_tests.py
(run_reintegrate_expect_error),
* subversion/tests/cmdline/merge_tests.py
(merge_with_os_deleted_subtrees):
Factor out common code into...
* subversion/tests/cmdline/svntest/main.py
(stack_trace_regexp): .. this new module-global. In addition, extend the
regular expression to catch the bare file:lineno lines.
Modified:
subversion/trunk/subversion/libsvn_subr/error.c
subversion/trunk/subversion/tests/cmdline/merge_automatic_tests.py
subversion/trunk/subversion/tests/cmdline/merge_reintegrate_tests.py
subversion/trunk/subversion/tests/cmdline/merge_tests.py
subversion/trunk/subversion/tests/cmdline/svntest/main.py
Modified: subversion/trunk/subversion/libsvn_subr/error.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_subr/error.c?rev=1467481&r1=1467480&r2=1467481&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_subr/error.c (original)
+++ subversion/trunk/subversion/libsvn_subr/error.c Fri Apr 12 21:43:20 2013
@@ -487,7 +487,7 @@ print_error(svn_error_t *err, FILE *stre
const char *symbolic_name;
if (svn_error__is_tracing_link(err))
/* Skip it; the error code will be printed by the real link. */
- svn_error_clear(svn_cmdline_fprintf(stream, err->pool, "\n"));
+ svn_error_clear(svn_cmdline_fprintf(stream, err->pool, ",\n"));
else if ((symbolic_name = svn_error_symbolic_name(err->apr_err)))
svn_error_clear(svn_cmdline_fprintf(stream, err->pool,
": (apr_err=%s)\n", symbolic_name));
Modified: subversion/trunk/subversion/tests/cmdline/merge_automatic_tests.py
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/merge_automatic_tests.py?rev=1467481&r1=1467480&r2=1467481&view=diff
==============================================================================
--- subversion/trunk/subversion/tests/cmdline/merge_automatic_tests.py
(original)
+++ subversion/trunk/subversion/tests/cmdline/merge_automatic_tests.py Fri Apr
12 21:43:20 2013
@@ -837,7 +837,7 @@ def subtree_to_and_fro(sbox):
"|( A_COPY\n)"
"|( Missing ranges: /A:5\n)"
"|(\n)"
- "|(.*apr_err.*)", # In case of debug build
+ "|" + svntest.main.stack_trace_regexp,
None,
True) # Match *all* lines of stdout
Modified: subversion/trunk/subversion/tests/cmdline/merge_reintegrate_tests.py
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/merge_reintegrate_tests.py?rev=1467481&r1=1467480&r2=1467481&view=diff
==============================================================================
--- subversion/trunk/subversion/tests/cmdline/merge_reintegrate_tests.py
(original)
+++ subversion/trunk/subversion/tests/cmdline/merge_reintegrate_tests.py Fri
Apr 12 21:43:20 2013
@@ -63,7 +63,7 @@ def run_reintegrate_expect_error(src_url
unless stdout and stderr both match and the exit code is non-zero.
Every line of stderr must match the regex EXPECTED_STDERR.
"""
- expected_stderr += "|(.*apr_err.*)" # In case of debug build
+ expected_stderr += "|" + svntest.main.stack_trace_regexp
# The actions.run_and_verify_* methods are happy if one line of the error
# matches the regex, but we want to check that every line matches.
Modified: subversion/trunk/subversion/tests/cmdline/merge_tests.py
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/merge_tests.py?rev=1467481&r1=1467480&r2=1467481&view=diff
==============================================================================
--- subversion/trunk/subversion/tests/cmdline/merge_tests.py (original)
+++ subversion/trunk/subversion/tests/cmdline/merge_tests.py Fri Apr 12
21:43:20 2013
@@ -16268,7 +16268,7 @@ def merge_with_os_deleted_subtrees(sbox)
err_re = "svn: E195016: Merge tracking not allowed with missing subtrees; "
+ \
"try restoring these items first:" + \
"|(\n)" + \
- "|(.*apr_err.*\n)" # In case of debug build
+ "|" + svntest.main.stack_trace_regexp
# Case 1: Infinite depth merge into infinite depth WC target.
# Every missing subtree under the target should be reported as missing.
Modified: subversion/trunk/subversion/tests/cmdline/svntest/main.py
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/svntest/main.py?rev=1467481&r1=1467480&r2=1467481&view=diff
==============================================================================
--- subversion/trunk/subversion/tests/cmdline/svntest/main.py (original)
+++ subversion/trunk/subversion/tests/cmdline/svntest/main.py Fri Apr 12
21:43:20 2013
@@ -135,6 +135,8 @@ wc_passwd = 'rayjandom'
# scenarios
wc_author2 = 'jconstant' # use the same password as wc_author
+stack_trace_regexp = r'(?:.*subversion[\\//].*\.c:[0-9]*,$|.*apr_err=.*)'
+
# Set C locale for command line programs
os.environ['LC_ALL'] = 'C'