Re: svn commit: r1897133 - /subversion/trunk/subversion/tests/cmdline/log_tests.py

2022-01-25 Thread Daniel Sahlberg
Den tis 25 jan. 2022 kl 15:40 skrev Daniel Shahaf :

> Daniel Sahlberg wrote on Tue, 25 Jan 2022 13:29 +00:00:
> > Oh. That is interesting, I never thought about running the checks on svn
> > and dav. Is there a way to flag the test as "only xfails on local", and
> can
> > someone help me do this? I'm a bit short on time right now.
>
> r1897457.
>

Thanks!

/Daniel


Re: svn commit: r1897133 - /subversion/trunk/subversion/tests/cmdline/log_tests.py

2022-01-25 Thread Daniel Shahaf
Daniel Sahlberg wrote on Tue, 25 Jan 2022 13:29 +00:00:
> Oh. That is interesting, I never thought about running the checks on svn
> and dav. Is there a way to flag the test as "only xfails on local", and can
> someone help me do this? I'm a bit short on time right now.

r1897457.

Cheers,

Daniel


Re: svn commit: r1897133 - /subversion/trunk/subversion/tests/cmdline/log_tests.py

2022-01-25 Thread Daniel Shahaf
Julian Foad wrote on Tue, 25 Jan 2022 13:15 +00:00:
> On a trunk WC (updated today) I get:
>
>   File 
> "/home/julianfoad/src/subversion-d/subversion/tests/cmdline/svntest/main.py", 
> line 619, in 
> assert all(isinstance(arg, (str, unicode, int)) for arg in varargs)
> NameError: name 'unicode' is not defined
>
> This is on Ubuntu 21.10 with Python 3.9. Is the 'unicode' class name too
> old or too new for this Python?

Yes:

$ python2 -c 'print(type(""), type(b""), type(u""))' 
(, , )
$ python3 -c 'print(type(""), type(b""), type(u""))' 
  

So, I think changing the check to «isinstance(arg, (type(b""),
type(u""), int))» would work on both py2 and py3.  We can't just remove
«unicode» from there because that'd break svnrdump_tests under py2.

Incidentally, Python 2 has separate «int» and «long» types (e.g, 2**63
evaluates to a «long») whereas Python 3 has only «int», but that's easy
to handle one way or another.

Thanks for the confirmation elsethread.

Cheers,

Daniel


Re: svn commit: r1897133 - /subversion/trunk/subversion/tests/cmdline/log_tests.py

2022-01-25 Thread Daniel Sahlberg
Den tis 25 jan. 2022 kl 14:21 skrev Julian Foad :

>
>
> On Jan 25 2022, at 1:15 pm, Julian Foad  wrote:
>
> > Daniel Shahaf wrote:
> >> dsahlb...@apache.org wrote on Sun, 16 Jan 2022 19:19 +00:00:
> >>> Add a test for issue #4856, "invalid xml file produced by: svn log
> --xml
> >>> --use-merge-history".
> >>
> >> The new test XFails for me over ra_local but XPasses over
> >> svnserveautocheck and davautocheck.
> >
> > On the 'pristines-on-demand' branch I get XFAIL over all three
>
> Oops, no, that was the wrong test ('log --use-merge-history --search
> [#4711]').
>
> I DO confirm
>
> XPASS: log_tests.py 47: log --use-merge-history --xml


> with RA-svn/serf on trunk.
>

Oh. That is interesting, I never thought about running the checks on svn
and dav. Is there a way to flag the test as "only xfails on local", and can
someone help me do this? I'm a bit short on time right now.

Thanks,
Daniel Sahlberg


Re: svn commit: r1897133 - /subversion/trunk/subversion/tests/cmdline/log_tests.py

2022-01-25 Thread Julian Foad
Julian Foad wrote:
> I DO confirm
> 
> XPASS: log_tests.py 47: log --use-merge-history --xml
> 
> with RA-svn/serf on trunk.

(That's today's trunk with your 'str/unicode/...' check line removed.)


Re: svn commit: r1897133 - /subversion/trunk/subversion/tests/cmdline/log_tests.py

2022-01-25 Thread Julian Foad



On Jan 25 2022, at 1:15 pm, Julian Foad  wrote:

> Daniel Shahaf wrote:
>> dsahlb...@apache.org wrote on Sun, 16 Jan 2022 19:19 +00:00:
>>> Add a test for issue #4856, "invalid xml file produced by: svn log --xml
>>> --use-merge-history".
>> 
>> The new test XFails for me over ra_local but XPasses over
>> svnserveautocheck and davautocheck.
> 
> On the 'pristines-on-demand' branch I get XFAIL over all three

Oops, no, that was the wrong test ('log --use-merge-history --search [#4711]').

I DO confirm

XPASS: log_tests.py 47: log --use-merge-history --xml

with RA-svn/serf on trunk.

- Julian



Re: svn commit: r1897133 - /subversion/trunk/subversion/tests/cmdline/log_tests.py

2022-01-25 Thread Julian Foad
Daniel Shahaf wrote:
> dsahlb...@apache.org wrote on Sun, 16 Jan 2022 19:19 +00:00:
>> Add a test for issue #4856, "invalid xml file produced by: svn log --xml
>> --use-merge-history".
> 
> The new test XFails for me over ra_local but XPasses over
> svnserveautocheck and davautocheck.

On the 'pristines-on-demand' branch I get XFAIL over all three, with
this being the failure message in each case:

EXCEPTION: Failure: Apparently invalid XML in '\n\n\n\n\n\n\n'

On a trunk WC (updated today) I get:

  File
"/home/julianfoad/src/subversion-d/subversion/tests/cmdline/svntest/main.py",
line 619, in 
assert all(isinstance(arg, (str, unicode, int)) for arg in varargs)
NameError: name 'unicode' is not defined

This is on Ubuntu 21.10 with Python 3.9. Is the 'unicode' class name too
old or too new for this Python?

Oh... I see you added that line just today! r1897452.

- Julian



Re: svn commit: r1897133 - /subversion/trunk/subversion/tests/cmdline/log_tests.py

2022-01-25 Thread Daniel Shahaf
dsahlb...@apache.org wrote on Sun, 16 Jan 2022 19:19 +00:00:
> Add a test for issue #4856, "invalid xml file produced by: svn log --xml
> --use-merge-history".
⋮
> * subversion/tests/cmdline/log_tests.py
>   (log_xml_with_merge_history): New test.
>   (test_list): Run it.

The new test XFails for me over ra_local but XPasses over
svnserveautocheck and davautocheck.

As we have no buildbots[1], could someone confirm?

Cheers,

Daniel


[1] See the "Buildbot migration" thread and INFRA-22761; current bottom
line: waiting for Infra or someone with an apache.org account to
edit and enable the buildbot configuration.


svn commit: r1897133 - /subversion/trunk/subversion/tests/cmdline/log_tests.py

2022-01-16 Thread dsahlberg
Author: dsahlberg
Date: Sun Jan 16 19:19:36 2022
New Revision: 1897133

URL: http://svn.apache.org/viewvc?rev=1897133&view=rev
Log:
Add a test for issue #4856, "invalid xml file produced by: svn log --xml
--use-merge-history".

Based on reproduction reciept by Daniel Shahaf

* subversion/tests/cmdline/log_tests.py
  (log_xml_with_merge_history): New test.
  (test_list): Run it.

Suggested by: danielsh


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

Modified: subversion/trunk/subversion/tests/cmdline/log_tests.py
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/log_tests.py?rev=1897133&r1=1897132&r2=1897133&view=diff
==
--- subversion/trunk/subversion/tests/cmdline/log_tests.py (original)
+++ subversion/trunk/subversion/tests/cmdline/log_tests.py Sun Jan 16 19:19:36 
2022
@@ -2816,6 +2816,59 @@ def log_with_merge_history_and_search(sb
   if count(output, "A2, A2=>A3
+  svntest.main.run_svn(None, 'merge', '-c', '5', sbox.repo_url + '/A', 
sbox.ospath('A2'))
+  sbox.simple_commit(message='r6: merge A=>A2')
+  sbox.simple_update()
+  svntest.main.run_svn(None, 'merge', '-c', '6', sbox.repo_url + '/A2', 
sbox.ospath('A3'))
+  sbox.simple_commit(message='r7: merge A2=>A3')
+  sbox.simple_update()
+
+  # r8: add file in A3
+  xi_path = os.path.join(sbox.wc_dir, 'A3/xi')
+  svntest.main.file_write(xi_path, "This is the file 'A3/xi'.\n")
+  svntest.main.run_svn(None, 'add', xi_path)
+  sbox.simple_commit(message='r8: add A3/xi')
+  sbox.simple_update()
+
+  # r9: merge A3=>A4
+  svntest.main.run_svn(None, 'merge', '-r', '6:8', sbox.repo_url + '/A3', 
sbox.ospath('A4'))
+  sbox.simple_commit(message='r9: merge A3=>A4')
+  sbox.simple_update()
+
+  # Helper function
+  def count(haystack, needle):
+"""Return the number of times the string NEEDLE occurs in the string
+HAYSTACK."""
+return len(haystack.split(needle)) - 1
+
+  # Check the output is valid
+  # ### Since the test is currently XFail, we only smoke test the output.
+  # ### When fixing this test to PASS, extend this validation.
+  _, output, _ = svntest.main.run_svn(None, 'log', '--xml', '-g', '-r', '8:9',
+  sbox.ospath('A4'))
+
+  output = '\n'.join(output)
+  if count(output, "