On 17.03.2018 13:57, Philip Martin wrote:
> Julian Foad <julianf...@apache.org> writes:
>
>> But does that mean this code isn't being tested by any of our manual
>> or buildbot testing in the last 6 months?
> Yes, I think so.
>
> For svnserve the code only gets enabled when svnserve has block-read
> enabled and svnserveautocheck doesn't do that.  By invoking svnserve
> manually it is possible to enable it and lots of tests fail with the
> zlib error:
>
> subversion/svnserve/svnserve -Tdr subversion/tests/cmdline --block-read 1
> make check BASE_URL=svn://localhost
>
> For http the code only gets enabled when mod_dav_svn has block read
> enabled and davautocheck doesn't do that.  Patching davautocheck.sh
>
> Index: ../src/subversion/tests/cmdline/davautocheck.sh
> ===================================================================
> --- ../src/subversion/tests/cmdline/davautocheck.sh   (revision 1827068)
> +++ ../src/subversion/tests/cmdline/davautocheck.sh   (working copy)
> @@ -548,6 +548,7 @@
>    Require           valid-user
>    SVNAdvertiseV2Protocol ${ADVERTISE_V2_PROTOCOL}
>    SVNCacheRevProps  ${CACHE_REVPROPS_SETTING}
> +  SVNBlockRead on
>    ${SVN_PATH_AUTHZ_LINE}
>  </Location>
>
> causes lots of tests to fail with the zlib error.
>
> There doesn't seen to be a way to enable the block-read code for svn
> file:// access but it could be enabled for svnadmin by making the cache
> greater than 64MB.  The regression tests use the default 16MB so
> patching main.py:
>
> Index: ../src/subversion/tests/cmdline/svntest/actions.py
> ===================================================================
> --- ../src/subversion/tests/cmdline/svntest/actions.py        (revision 
> 1827068)
> +++ ../src/subversion/tests/cmdline/svntest/actions.py        (working copy)
> @@ -378,7 +378,7 @@
>  
>  def run_and_verify_dump(repo_dir, deltas=False):
>    "Runs 'svnadmin dump' and reports any errors, returning the dump content."
> -  args = ()
> +  args = ('-M65')
>    if deltas:
>      args += ('--deltas',)
>    exit_code, output, errput = run_and_verify_svnadmin(
>
> causes tests to fail with the zlib error.
>
>> Extending our testing is one option. I would much prefer to apply the
>> principle of testable design: "if this code only runs sometimes,
>> change it so it runs always". Can we do that?
> There are a lot of tuning options for caching.  Do we want to add
> mechanisms to enable them individually in the testsuite?  Do we want to
> change the defaults in our binaries?  Do we want to eliminate the tuning
> options?

As long as we have tuning options, we should test them. It's not that
hard to add buildslave configurations.

As for eliminating them: it would be nice if the server could auto-tune
these parameters, but that is probably not a worthwhile goal to spend
our efforts at (and that would make testing behaviour with different
options harder).

-- Brane

Reply via email to