Tom Bing wrote on Mon, Apr 30, 2012 at 09:55:33 -0400: > Hi Folks, > > The earlier guidance was a great help. Specifically, this info from Daniel > on Apr 28: > > > *_tests.py look by default for svn in ../../svn/svn --- i.e., build > > outputs. Are you running from a built source tree? If not, pass > > --bin=/usr/bin. > > By using --bin=, I was able to run the tests successfully against my 1.6.15 > installation.Daniel also informed me about the --help option. I suppose > that is a universal enough convention now in Subversion for this type of > script. However, as an old shell-script coder I was more used to "-h" or > just letting a script get chatty when wrong parameters are supplied. >
-h works too. (-randomletter gives an error message that, unlike for 'svn' itself, doesn't mention --help.) > Nico's posts (and Daniel's) on the subtleties of XFAIL are of interest, > because testing is probably going to be a big part of my job soon. I am > going to have to scan this thread a few more times before I fully > understand it. > In addition to the scripts (and C programs) in subversion/tests/, you may want to look at build/run_tests.py too. Feel free to ignore the WIMP stuffs on first read. > Folks, I did try to study the testing READMEs and the info at > http://subversion.apache.org/docs/community-guide/building.html before I > posted here. I have recently Googled for sites that mention both > "basic_tests.py" and "man page", but without useful results. > > If there's more in-depth documentation on basic_tests.py somewhere (besides > the script itself), I'd welcome some guidance here. > The docs we have are: - subversion/tests/README - subversion/tests/cmdline/README - --help output Other docs that might contain or point to useful info are: - README - perhaps http://subversion.apache.org/HACKING If you have concrete suggestions (or patches) regarding how to improve the tests' documentation, we'll be glad to hear them. Cheers, Daniel > Many thanks, > Tom > > On Sun, Apr 29, 2012 at 10:04 AM, Nico Kadel-Garcia <nka...@gmail.com> > wrote: > > > > > > On Sun, Apr 29, 2012 at 8:54 AM, Daniel Shahaf <d...@daniel.shahaf.name> > > wrote: > >> > >> Nico Kadel-Garcia wrote on Sun, Apr 29, 2012 at 08:48:27 -0400: > >> > On Sun, Apr 29, 2012 at 1:31 AM, Daniel Shahaf > >> > <d...@daniel.shahaf.name>wrote: > >> > > >> > > Nico Kadel-Garcia wrote on Sat, Apr 28, 2012 at 21:38:59 -0400: > >> > > > >> > > > > SKIP and XFAIL are not errors. FAIL are errors. XPASS are not > >> > > supposed > >> > > > > to happen in release tarballs, but if they do they are treated > >> > > > > like > >> > > FAIL > >> > > > > is for the purposes of success/failure. The fact that your 'make > >> > > check' > >> > > > > exits non-zero despite having neither FAIL nor XPASS is a bug. > >> > > > > > >> > > > That's what I get for just posting the last few lines. > >> > > > >> > > Recent code prints FAILs after XFAILs and SKIPs, so I can safely say > >> > > that either you didn't have any FAILs or you posted the output of an > >> > > oldish version (1.6.x perhaps?). > >> > > > >> > > >> > 1.6.18, I';m afraid. This is on RHEL 5. Let me post the whole part of > >> > the > >> > build where it does the checks: Also note, the "make_check" gut turned > >> > off > >> > in the RHEL packages long before I arrived on the schene. The Fedora 17 > >> > packages have the checks enabled, and they can pass on RHEL 6: RHEL 5 > >> > and > >> > RHEL 4 both fail. > >> > > >> > Running all tests in utf8_tests.py [55/71]...FAILURE > >> > Running all tests in changes-test [68/71]...success > >> > >> All the Python tests failed, all the C tests passed. tests.log will > >> have more information. > >> > >> (Though: did it really take one hour? it should take under 10 minutes > >> without the Python tests) > > > > > > I only measured it with the python tests. (I leave out the ruby and java > > tests on RHEL 4, for which those components do not compile without > > ridiculous amounts of extra work due to out of date system components.) > > > > > >> > >> You can run > >> % make check TESTS="`echo subversion/tests/cmdline/utf8_tests.py`" > >> or > >> % cd subversion/tests/cmdline && ./utf8_tests.py > >> to skip the C tests (and all-but-one of the Python tests). > > > > > > That one shows: > > > > subversion-1.6.18]$ make check TESTS="`echo > > subversion/tests/cmdline/utf8_tests.py`" > > Running all tests in utf8_tests.py [1/1]...success > > > > At least one test was SKIPPED, checking > > /builddir/build/BUILD/subversion-1.6.18/tests.log > > SKIP: utf8_tests.py 1: conversion of paths and logs to/from utf8 > > Summary of test results: > > 1 tests SKIPPED > > > > If I look at basic_test.py, I get a lot of errors. I've not had the time > or > > expertise with Python to go debugging these. > > > > svn: > > > 'file:///builddir/build/BUILD/subversion-1.6.18/subversion/tests/cmdline/svn-test-work/repositories/basic_tests-39.other/A/B/F' > > isn't in the same repository as > > > 'file:///builddir/build/BUILD/subversion-1.6.18/subversion/tests/cmdline/svn-test-work/repositories/basic_tests-39' > > > > Traceback (most recent call last): > > File > > > "/builddir/build/BUILD/subversion-1.6.18/subversion/tests/cmdline/svntest/main.py", > > line 1229, in run > > rc = self.pred.run(**kw) > > File > > > "/builddir/build/BUILD/subversion-1.6.18/subversion/tests/cmdline/svntest/testcase.py", > > line 121, in run > > return self.func(sandbox) > > File "./basic_tests.py", line 1975, in basic_rm_urls_multi_repos > > F_url, C_url, F2_url, C2_url) > > File > > > "/builddir/build/BUILD/subversion-1.6.18/subversion/tests/cmdline/svntest/actions.py", > > line 202, in run_and_verify_svn > > expected_exit, *varargs) > > File > > > "/builddir/build/BUILD/subversion-1.6.18/subversion/tests/cmdline/svntest/actions.py", > > line 235, in run_and_verify_svn2 > > exit_code, out, err = main.run_svn(want_err, *varargs) > > File > > > "/builddir/build/BUILD/subversion-1.6.18/subversion/tests/cmdline/svntest/main.py", > > line 579, in run_svn > > return run_command(svn_binary, error_expected, 0, > > File > > > "/builddir/build/BUILD/subversion-1.6.18/subversion/tests/cmdline/svntest/main.py", > > line 356, in run_command > > None, *varargs) > > File > > > "/builddir/build/BUILD/subversion-1.6.18/subversion/tests/cmdline/svntest/main.py", > > line 515, in run_command_stdin > > raise Failure > > Failure > > XFAIL: basic_tests.py 39: remotely remove directories from two > repositories > > EXCEPTION: SVNUnmatchedError > > > > Traceback (most recent call last): > > File > > > "/builddir/build/BUILD/subversion-1.6.18/subversion/tests/cmdline/svntest/main.py", > > line 1229, in run > > rc = self.pred.run(**kw) > > File > > > "/builddir/build/BUILD/subversion-1.6.18/subversion/tests/cmdline/svntest/testcase.py", > > line 121, in run > > return self.func(sandbox) > > File "./basic_tests.py", line 2255, in info_nonexisting_file > > raise svntest.main.SVNUnmatchedError > > SVNUnmatchedError > > FAIL: basic_tests.py 41: get info on a file not in the repo > > ERROR: dump failed: svnadmin: Can't open file > > 'svn-test-work/local_tmp/repos/format': No such file or directory > > EXCEPTION: SVNRepositoryCopyFailure > > > > Traceback (most recent call last): > > File > > > "/builddir/build/BUILD/subversion-1.6.18/subversion/tests/cmdline/svntest/main.py", > > line 1229, in run > > rc = self.pred.run(**kw) > > File > > > "/builddir/build/BUILD/subversion-1.6.18/subversion/tests/cmdline/svntest/testcase.py", > > line 121, in run > > return self.func(sandbox) > > File "./basic_tests.py", line 2266, in > > basic_relative_url_using_current_dir > > sbox.build() > > File > > > "/builddir/build/BUILD/subversion-1.6.18/subversion/tests/cmdline/svntest/main.py", > > line 1082, in build > > if actions.make_repo_and_wc(self, create_wc, read_only): > > File > > > "/builddir/build/BUILD/subversion-1.6.18/subversion/tests/cmdline/svntest/actions.py", > > line 1393, in make_repo_and_wc > > guarantee_greek_repository(sbox.repo_dir) > > File > > > "/builddir/build/BUILD/subversion-1.6.18/subversion/tests/cmdline/svntest/actions.py", > > line 119, in guarantee_greek_repository > > if main.copy_repos(main.pristine_dir, path, 1): > > File > > > "/builddir/build/BUILD/subversion-1.6.18/subversion/tests/cmdline/svntest/main.py", > > line 804, in copy_repos > > raise SVNRepositoryCopyFailure > > SVNRepositoryCopyFailure > > FAIL: basic_tests.py 42: basic relative url target using current dir > > ERROR: dump failed: svnadmin: Can't open file > > 'svn-test-work/local_tmp/repos/format': No such file or directory > > > >