On 11 March 2015 at 14:20, Bert Huijben <bert_at_qqmail.nl> wrote:
>
>
>> -----Original Message-----
>> From: Ivan Zhakov [mailto:ivan_at_visualsvn.com]
>> Sent: woensdag 11 maart 2015 12:04
>> To: dev_at_subversion.apache.org; philip_at_apache.org; Bert Huijben
>> Subject: Re: svn commit: r1664523 -
>> /subversion/trunk/subversion/tests/cmdline/upgrade_tests.py
>>
>> On 6 March 2015 at 02:17, <philip_at_apache.org> wrote:
>> > Author: philip
>> > Date: Thu Mar 5 23:17:26 2015
>> > New Revision: 1664523
>> >
>> > URL: http://svn.apache.org/r1664523
>> > Log:
>> > * subversion/tests/cmdline/upgrade_tests.py
>> > (auto_analyze): Relocate without using the client.
>> >
>> > Modified:
>> > subversion/trunk/subversion/tests/cmdline/upgrade_tests.py
>> >
>> > Modified: subversion/trunk/subversion/tests/cmdline/upgrade_tests.py
>> > URL:
>> http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/upgra
>> de_tests.py?rev=1664523&r1=1664522&r2=1664523&view=diff
>> >
>> ================================================================
>> ==============
>> > --- subversion/trunk/subversion/tests/cmdline/upgrade_tests.py (original)
>> > +++ subversion/trunk/subversion/tests/cmdline/upgrade_tests.py Thu Mar 5
>> 23:17:26 2015
>> > @@ -1446,9 +1446,11 @@ def auto_analyze(sbox):
>> > replace_sbox_with_tarfile(sbox, 'wc-without-stat1.tar.bz2')
>> > svntest.main.run_svnadmin('setuuid', sbox.repo_dir,
>> > '52ec7e4b-e5f0-451d-829f-f05d5571b4ab')
>> > - svntest.actions.run_and_verify_svn(None, [], 'relocate',
>> > - 'file:///tmp/repos', sbox.repo_url,
>> > - sbox.wc_dir)
>> > +
>> > + # Don't use svn to do relocate as that will add the table.
>> > + val = svntest.wc.sqlite_stmt(sbox.wc_dir,
>> > + "update repository "
>> > + "set root ='" + sbox.repo_url + "'");
>> >
>> The upgrade_tests.py#36 fails on Windows (sqlite 3.8.8.2), Python 2.6.7.
>> [[[
>> Testing Debug configuration on local repository.
>> START: upgrade_tests.py
>> W: CWD: M:\svn\test_trunk\subversion\tests\cmdline
>> Traceback (most recent call last):
>> File "C:\Ivan\SVN\trunk\subversion\tests\cmdline\svntest\main.py",
>> line 1744, in run
>> rc = self.pred.run(sandbox)
>> File "C:\Ivan\SVN\trunk\subversion\tests\cmdline\svntest\testcase.py",
>> line 178, in run
>> result = self.func(sandbox)
>> File "C:\Ivan\SVN\trunk\subversion\tests\cmdline\upgrade_tests.py",
>> line 1453, in auto_analyze
>> "set root ='" + sbox.repo_url + "'");
>> File "C:\Ivan\SVN\trunk\subversion\tests\cmdline\svntest\wc.py",
>> line 1044, in sqlite_exec
>> c.execute(stmt)
>> DatabaseError: malformed database schema
>> (nodes_update_checksum_trigger) - near "OLD": syntax error
>> FAIL: upgrade_tests.py 36: automatic SQLite ANALYZE
>> END: upgrade_tests.py
>> ELAPSED: upgrade_tests.py 0:00:00.758000
>> ]]]
>
> This is caused by the Sqlite that is linked into your python version...
> (Unrelated to your separate sqlite version, which you quoted)
>
It's very likely that Python compiled to different version of sqlite.
But how it supposed to work? Is not sqlite compatible between
different versions? What is the minimum requirements? How packagers
should deal with such test failures?
>> I'm also noted that wc.db in wc-without-stat1.tar.bz2 contains
>> sqlite_stat1 table:
>> [[[
>> sqlite> select * from sqlite_stat1;
>> NODES|sqlite_autoindex_NODES_1|8000 8000 2 1
>> NODES|I_NODES_PARENT|8000 8000 10 2 1
>> NODES|I_NODES_MOVED|8000 8000 1 1
>> ACTUAL_NODE|sqlite_autoindex_ACTUAL_NODE_1|8000 8000 1
>> ACTUAL_NODE|I_ACTUAL_PARENT|8000 8000 10 1
>> LOCK|sqlite_autoindex_LOCK_1|100 100 1
>> WC_LOCK|sqlite_autoindex_WC_LOCK_1|100 100 1
>> ]]]
>>
>> As far I understand that it should not be there, otherwise I don't
>> understand what test is supposed to test.
>
> I understand your review points, but why does this cause you to issue a veto?
> There are other known test failures in 1.9.x
>
> None of these points are about the actual patch/change... just about the test philip added.
>
I consider test failures on a stabilization branch to be unacceptable.
I am also find test the actually doesn't test what is supposed to test
as false sense of security. I'm ok if you think that we don't need
test for this case, but we should not pretend that we have test which
actually doesn't test anything.
--
Ivan Zhakov
Received on 2015-03-11 13:04:31 CET