[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: FAIL: svnlook_tests.py 11: test 'svnlook * -t'

From: tsteven four <tsteven4_at_gmail.com>
Date: Thu, 28 Jul 2011 07:49:22 -0600

This appears to be a test bug that manifests itself when the tests are run
with a server and the svnlook binary being tested is not executable on the
server. This is likely to occur if the server has a different machine
architecture or operating system than the subversion code being tested, but
certainly could occur in a variety of other circumstances.

There are two occurrences of this issue in svnlook_test.py. In both cases a
hook script is created using the full path to the svnlook binary in the
subversion build under test. However, this binary may not be executable on
the server, and the hook script is executed on the server side.

One can get the test to pass by changing 'svntest.main.svnlook_binary' to
the full path to the binary on the server side in the code snippets from
svnlook_test.py below. However, this path may not be known to the test
harness, and the purpose of the test is to test the current build, not a
different build that the server may be running. So it may be more
appropriate to skip this test when the server is not using the build under
test. Note that the server may or may not be using the build under test
when the BASE_URL refers to the http(s) protocol with a host other than
localhost, e.g. the host could be the fully qualified domain name of the
localhost or an alias for this host, or another machine that is executing
the build under test.

I believe this issue was introduced when the test was added in r918211 *Tue
Mar 2 21:54:13 2010 UTC* (16 months, 3 weeks ago) by *lgo *and it was
included in 1.6.10.

Please let me know if you agree with my analysis, and what can be done about
this issue.

Thanks.

  # 1. svnlook 'changed' -t and 'dirs-changed' -t
> hook_instance = hook_template % (repr(svntest.main.svnlook_binary),
> repr([('changed', ''),
> ('dirs-changed', '')]))
> svntest.main.create_python_hook_script(pre_commit_hook,
> hook_instance)
>
> # 2. svnlook 'propget' -t, 'proplist' -t
> # 2. Change a dir and revision property
> hook_instance = hook_template % (repr(svntest.main.svnlook_binary),
> repr([('propget', 'bogus_prop /A'),
> ('propget', '--revprop
> bogus_rev_prop'),
> ('proplist', '/A'),
> ('proplist', '--revprop')]))
> svntest.main.create_python_hook_script(pre_commit_hook,
> hook_instance)
>

On Wed, Jul 27, 2011 at 3:45 PM, tsteven four <tsteven4_at_gmail.com> wrote:

> I have had failures of this test with 1.6.15 and 1.6.17 when running "make
> check BASE_URL=http://server.domain" on a client machine that is not the
> server. The server is also running the same version of subversion, but it
> supports clients with multiple operating systems and I am testing a client
> build. I would welcome any suggestions in how to resolve this issue.
>
>
> CMD: svnadmin create svn-test-work/repositories/svnlook_tests-11
> --bdb-txn-nosync <TIME = 0.241089>
> CMD: svnadmindump svn-test-work/local_tmp/repos | svnadminload
> svn-test-work/repositories/svnlook_tests-11 --ignore-uuid <TIME = 0.018928>
> CMD: svn co
> http://server.domain/svn-test-work/repositories/svnlook_tests-11svn-test-work/working_copies/svnlook_tests-11 --config-dir
> /apps/install/subversion-1.6.17-Linux_x86_64/subversion/tests/cmdline/svn-test-work/local_tmp/config
> --password rayjandom --no-auth-cache --username jrandom <TIME = 1.712330>
> A svn-test-work/working_copies/svnlook_tests-11/A
> A svn-test-work/working_copies/svnlook_tests-11/A/B
> A svn-test-work/working_copies/svnlook_tests-11/A/B/lambda
> A svn-test-work/working_copies/svnlook_tests-11/A/B/E
> A svn-test-work/working_copies/svnlook_tests-11/A/B/E/alpha
> A svn-test-work/working_copies/svnlook_tests-11/A/B/E/beta
> A svn-test-work/working_copies/svnlook_tests-11/A/B/F
> A svn-test-work/working_copies/svnlook_tests-11/A/mu
> A svn-test-work/working_copies/svnlook_tests-11/A/C
> A svn-test-work/working_copies/svnlook_tests-11/A/D
> A svn-test-work/working_copies/svnlook_tests-11/A/D/gamma
> A svn-test-work/working_copies/svnlook_tests-11/A/D/G
> A svn-test-work/working_copies/svnlook_tests-11/A/D/G/pi
> A svn-test-work/working_copies/svnlook_tests-11/A/D/G/rho
> A svn-test-work/working_copies/svnlook_tests-11/A/D/G/tau
> A svn-test-work/working_copies/svnlook_tests-11/A/D/H
> A svn-test-work/working_copies/svnlook_tests-11/A/D/H/chi
> A svn-test-work/working_copies/svnlook_tests-11/A/D/H/omega
> A svn-test-work/working_copies/svnlook_tests-11/A/D/H/psi
> A svn-test-work/working_copies/svnlook_tests-11/iota
> Checked out revision 1.
> CMD: svn ci -m "log msg" svn-test-work/working_copies/svnlook_tests-11
> --config-dir
> /apps/install/subversion-1.6.17-Linux_x86_64/subversion/tests/cmdline/svn-test-work/local_tmp/config
> --password rayjandom --no-auth-cache --username jrandom <TIME = 1.145536>
> Sending svn-test-work/working_copies/svnlook_tests-11/A/D/G/rho
> Sending svn-test-work/working_copies/svnlook_tests-11/A/mu
> Transmitting file data ..
> Committed revision 2.
> CMD: svn up svn-test-work/working_copies/svnlook_tests-11 --config-dir
> /apps/install/subversion-1.6.17-Linux_x86_64/subversion/tests/cmdline/svn-test-work/local_tmp/config
> --password rayjandom --no-auth-cache --username jrandom <TIME = 0.454238>
> At revision 2.
> wrong hook logfile content
> EXPECTED STDOUT:
> U A/D/G/rho
> U A/mu
> A/
> A/D/G/
> ACTUAL STDOUT:
> EXCEPTION: SVNLineUnequal
> Traceback (most recent call last):
> File
> "/apps/install/subversion-1.6.17-Linux_x86_64/subversion/tests/cmdline/svntest/main.py",
> line 1226, in run
> rc = self.pred.run(**kw)
> File
> "/apps/install/subversion-1.6.17-Linux_x86_64/subversion/tests/cmdline/svntest/testcase.py",
> line 121, in run
> return self.func(sandbox)
> File
> "/apps/install/subversion-1.6.17-Linux_x86_64/subversion/tests/cmdline/svnlook_tests.py",
> line 599, in test_txn_flag
> verify_logfile(logfilepath, expected_data)
> File
> "/apps/install/subversion-1.6.17-Linux_x86_64/subversion/tests/cmdline/svnlook_tests.py",
> line 549, in verify_logfile
> expected_data, actual_data)
> File
> "/apps/install/subversion-1.6.17-Linux_x86_64/subversion/tests/cmdline/svntest/verify.py",
> line 322, in compare_and_display_lines
> raise raisable
> SVNLineUnequal
> FAIL: svnlook_tests.py 11: test 'svnlook * -t'
> END: svnlook_tests.py
> ELAPSED: svnlook_tests.py 00:00:58
>
>
Received on 2011-07-28 15:49:53 CEST

This is an archived mail posted to the Subversion Users mailing list.