Prabhu Gnana Sundar <prabh...@collab.net> writes: > Hi all, > > Currently, as per the issue 3781, "checkout" reads the authz file in > *case insensitive* way, whereas "commit" reads the authz file in *case > sensitive* way. > > Here is what is observed: > 1. Checkout is *case insensitive* about the repository name section > and also the path-inside-repo section. > 2. Commit is *case sensitive* about the repository name section *but > case insensitive* about the path-inside-repo section. > > Attached an XFail testcase and the log message with this mail. Please > share your views. > > > > > Thanks and regards > Prabhu > > [[[ > XFail testcase for the issue 3781 > > * subversion/tests/cmdline/authz_tests.py > (case_insensitive_authz, test_list): New XFail test for the issue 3781 > > Patch by: Prabhu Gnana Sundar <prabhugs{_AT_}collab.net> > Suggested by: Kamesh Jayachandran <kamesh{_AT_}collab.net> > > Index: subversion/tests/cmdline/authz_tests.py > =================================================================== > --- subversion/tests/cmdline/authz_tests.py (revision 1066732) > +++ subversion/tests/cmdline/authz_tests.py (working copy) > @@ -1061,6 +1061,67 @@ > [], 'ls', '-R', > sbox.repo_url) > > + > +def case_insensitive_authz(sbox): > + "authz issue #3781, check case insensitiveness" > + > + sbox.build() > + > + # test the case-insensitivity of the path inside the repo > + write_authz_file(sbox, {"/": "jrandom = r", "/A": "jrandom = r", "/a/Mu": > "jrandom = rw"}) > +
I am not sure whether this is relevant. I think for consistency lines should be of 79 characters. > + write_restrictive_svnserve_conf(sbox.repo_dir) > + > + wc_dir = sbox.wc_dir > + > + mu_path = os.path.join(wc_dir, 'A', 'mu') > + mu_url = sbox.repo_url + '/A/mu' > + svntest.main.file_append(mu_path, "hi") > + > + # Create expected output tree. > + expected_output = svntest.wc.State(wc_dir, { > + 'A/mu' : Item(verb='Sending'), > + }) > + > + # Commit the file. > + svntest.actions.run_and_verify_commit(wc_dir, > + expected_output, > + None, > + None, > + mu_path) > + svntest.actions.run_and_verify_svn2('No error', > + svntest.verify.AnyOutput, [], > + 0, 'cat', mu_url) > + > + def mixcases(repo_name): > + mixed_repo_name = '' > + for i in range(0, len(repo_name)): > + if i % 2 == 0: > + mixed_val = repo_name[i].upper() > + mixed_repo_name = mixed_repo_name + mixed_val > + else: > + mixed_val = repo_name[i].lower() > + mixed_repo_name = mixed_repo_name + mixed_val > + return mixed_repo_name > + > + mixed_case_repo_dir = mixcases(os.path.basename(sbox.repo_dir)) > + > + # test the case-insensitivity of the repo name > + write_authz_file(sbox, {}, sections = {mixed_case_repo_dir + ":/": > "jrandom = r", > + mixed_case_repo_dir + ":/A": > "jrandom = r", > + mixed_case_repo_dir + ":/A/mu": > "jrandom = rw"}) > + Line break ? > + svntest.main.file_append(mu_path, "hi") > + # Commit the file again. > + svntest.actions.run_and_verify_commit(wc_dir, > + expected_output, > + None, > + None, > + mu_path) > + svntest.actions.run_and_verify_svn2('No error', > + svntest.verify.AnyOutput, [], > + 0, 'cat', mu_url) > + > ######################################################################## > # Run the tests > > @@ -1093,6 +1154,8 @@ > Skip(wc_wc_copy_revert, svntest.main.is_ra_type_file), > Skip(authz_recursive_ls, > svntest.main.is_ra_type_file), > + XFail(Skip(case_insensitive_authz, > + svntest.main.is_ra_type_file)), > ] > serial_only = True > Thanks and Regards Noorul