subversion-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From rhuij...@apache.org
Subject svn commit: r1520065 - /subversion/trunk/subversion/tests/cmdline/authz_tests.py
Date Wed, 04 Sep 2013 16:41:07 GMT
Author: rhuijben
Date: Wed Sep  4 16:41:07 2013
New Revision: 1520065

URL: http://svn.apache.org/r1520065
Log:
Add reproduction recipe for a way to trigger the assertion on line 3043 of
update_editor.c. This error has been reported quite a few times on the users
list. E.g. in http://svn.haxx.se/users/archive-2012-08/0288.shtml
(But also today in the 'Problem' thread)

* subversion/tests/cmdline/authz_tests.py
  (authz_file_external_to_authz): New testcase that reproduces an assertion
    in the update editor.
  (test_list): Add authz_file_external_to_authz.

Modified:
    subversion/trunk/subversion/tests/cmdline/authz_tests.py

Modified: subversion/trunk/subversion/tests/cmdline/authz_tests.py
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/authz_tests.py?rev=1520065&r1=1520064&r2=1520065&view=diff
==============================================================================
--- subversion/trunk/subversion/tests/cmdline/authz_tests.py (original)
+++ subversion/trunk/subversion/tests/cmdline/authz_tests.py Wed Sep  4 16:41:07 2013
@@ -1551,6 +1551,45 @@ def log_diff_dontdothat(sbox):
                                       'log', ddt_url,
                                       '-c', 1, '--diff')
 
+@XFail()
+@Skip(svntest.main.is_ra_type_file)
+def authz_file_external_to_authz(sbox):
+  "replace file external with authz node"
+
+  sbox.build()
+  wc_dir = sbox.wc_dir
+  repo_url = sbox.repo_url
+
+  write_authz_file(sbox, {"/": "* = rw"})
+  write_restrictive_svnserve_conf(sbox.repo_dir)
+
+  sbox.simple_propset('svn:externals', 'Z ' + repo_url + '/iota', '')
+
+  expected_status = svntest.actions.get_virginal_state(wc_dir, 1)
+  expected_status.tweak('', status=' M')
+  expected_status.add({
+    'Z' : Item(status='  ', wc_rev='1', switched='X'),
+  })
+  svntest.actions.run_and_verify_update(wc_dir,
+                                        None, None, expected_status)
+
+  svntest.actions.run_and_verify_svn(None, None, [],
+                                     'cp', repo_url + '/A',
+                                           repo_url + '/Z',
+                                      '-m', 'Add Z')
+
+  write_authz_file(sbox, {"/": "* = rw", "/Z": "* = "})
+
+  expected_status.tweak(wc_rev=2)
+
+  # ### Currently this asserts with
+  # ### svn: E235000: In file 'update_editor.c' line 3043: assertion failed (status != svn_wc__db_status_normal)
+
+  # ### The assumed status expects that the file external is still there,
+  # ### but there are many other valid ways to fix this issue.
+  svntest.actions.run_and_verify_update(wc_dir,
+                                        None, None, expected_status)
+
 
 ########################################################################
 # Run the tests
@@ -1585,6 +1624,7 @@ test_list = [ None,
               authz_svnserve_groups,
               authz_del_from_subdir,
               log_diff_dontdothat,
+              authz_file_external_to_authz,
              ]
 serial_only = True
 



Mime
View raw message