You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by pb...@apache.org on 2012/08/22 19:47:46 UTC
svn commit: r1376157 [3/3] - in /subversion/branches/inheritable-props: ./
build/ build/ac-macros/ build/generator/ build/generator/templates/
contrib/client-side/emacs/ subversion/include/ subversion/libsvn_diff/
subversion/libsvn_fs/ subversion/libsv...
Modified: subversion/branches/inheritable-props/subversion/tests/cmdline/commit_tests.py
URL: http://svn.apache.org/viewvc/subversion/branches/inheritable-props/subversion/tests/cmdline/commit_tests.py?rev=1376157&r1=1376156&r2=1376157&view=diff
==============================================================================
--- subversion/branches/inheritable-props/subversion/tests/cmdline/commit_tests.py (original)
+++ subversion/branches/inheritable-props/subversion/tests/cmdline/commit_tests.py Wed Aug 22 17:47:44 2012
@@ -2940,7 +2940,47 @@ def commit_moved_dir_with_nested_mod_in_
'Last Changed Rev' : '2',
}
svntest.actions.run_and_verify_info([expected], E_copied)
-
+
+#----------------------------------------------------------------------
+def init_commit_hook_test(sbox):
+ "init-commit hook failure case testing"
+
+ sbox.build()
+
+ # Get paths to the working copy and repository
+ wc_dir = sbox.wc_dir
+ repo_dir = sbox.repo_dir
+
+ # Create a hook that outputs a message to stderr and returns exit code 1
+ # Include a non-XML-safe message as history shows there've been
+ # problems with such in hooks (see issue #3553).
+ error_msg = "Text with <angle brackets> & ampersand"
+ svntest.actions.create_failing_hook(repo_dir, "init-commit", error_msg)
+
+ # Modify iota just so there is something to commit.
+ iota_path = sbox.ospath('iota')
+ svntest.main.file_append(iota_path, "More stuff in iota")
+
+ # Commit, expect error code 1
+ exit_code, actual_stdout, actual_stderr = svntest.main.run_svn(
+ 1, 'ci', '--quiet', '-m', 'log msg', wc_dir)
+
+ # No stdout expected
+ svntest.verify.compare_and_display_lines('Init-commit hook test',
+ 'STDOUT', [], actual_stdout)
+
+ # Compare only the last two lines of stderr since the preceding ones
+ # contain source code file and line numbers.
+ if len(actual_stderr) > 2:
+ actual_stderr = actual_stderr[-2:]
+ expected_stderr = [ "svn: E165001: " +
+ svntest.actions.hook_failure_message('init-commit'),
+ error_msg + "\n",
+ ]
+ svntest.verify.compare_and_display_lines('Init-commit hook test',
+ 'STDERR',
+ expected_stderr, actual_stderr)
+
########################################################################
# Run the tests
@@ -3013,6 +3053,7 @@ test_list = [ None,
commit_add_subadd,
commit_danglers,
commit_moved_dir_with_nested_mod_in_subdir,
+ init_commit_hook_test,
]
if __name__ == '__main__':
Modified: subversion/branches/inheritable-props/subversion/tests/cmdline/svntest/actions.py
URL: http://svn.apache.org/viewvc/subversion/branches/inheritable-props/subversion/tests/cmdline/svntest/actions.py?rev=1376157&r1=1376156&r2=1376157&view=diff
==============================================================================
--- subversion/branches/inheritable-props/subversion/tests/cmdline/svntest/actions.py (original)
+++ subversion/branches/inheritable-props/subversion/tests/cmdline/svntest/actions.py Wed Aug 22 17:47:44 2012
@@ -1921,7 +1921,7 @@ def hook_failure_message(hook_name):
if svntest.main.options.server_minor_version < 5:
return "'%s' hook failed with error output:\n" % hook_name
else:
- if hook_name in ["start-commit", "pre-commit"]:
+ if hook_name in ["start-commit", "pre-commit", "init-commit"]:
action = "Commit"
elif hook_name == "pre-revprop-change":
action = "Revprop change"