You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Noorul Islam K M <no...@collab.net> on 2011/06/24 06:41:50 UTC

Implement support for 'make check' variants

Daniel came up with idea of extending Makefile.in to support 'make
check' variants.

1. 'make check' with svnserve -T
2. 'make check' with svnadmin create --pre-1.x-compatible (where x in
   (1.4, 1.5, 1.6, 1.7))
3. 'make check' with SVNPathAuthz short_circuit. As of now this is
   supported by stsp's Makefile.svn. So this will be bringing that into
   Makefile.in

So, this would include the following tasks.

* Extending Makefile.in to take optional arguments.
* Propagating that through to the tests themselves.
* Extending test suite to take additional options accordingly.
* Filing issues and/or fixing any bugs that surface.

I am planning to implement his idea. I hope this is a welcome
change. Posting it here to get feedback before starting to work on this.

Thanks and Regards
Noorul

Re: Implement support for 'make check' variants

Posted by Daniel Shahaf <d....@daniel.shahaf.name>.
Noorul Islam K M wrote on Tue, Jul 05, 2011 at 09:55:08 +0530:
> Daniel Shahaf <d....@daniel.shahaf.name> writes:
> 
> > Noorul Islam K M wrote on Mon, Jul 04, 2011 at 17:52:53 +0530:
> >
> >> Noorul Islam K M <no...@collab.net> writes:
> >> 
> >> An update
> >> 
> >> > Daniel came up with idea of extending Makefile.in to support 'make
> >> > check' variants.
> >> >
> >> > 1. 'make check' with svnserve -T
> >> 
> >> This was already implemented.
> >> Completed testing using "make svnserveautocheck THREADED=1". I could not
> >> see any errors.
> >> 
> >> > 2. 'make check' with svnadmin create --pre-1.x-compatible (where x in
> >> >    (1.4, 1.5, 1.6, 1.7))
> >> 
> >> This was already implemented.
> >> make check SERVER_MINOR_VERSION=3. 
> >> I could see some failures. Are all the tests supposed to pass with this
> >> kind of testing?
> >> 
> >
> > If you see failures please report them on separate threads; they might
> > be shortcomings in the test suite, but let's confirm that.
> >
> 
> I will do this.
> 
> > By the way: according to my reading of the test suite's code, you should
> > have gotten an error message if you'd passed SERVER_MINOR_VERSION=3
> > (rather than 4 or bigger)!  How come you didn't trigger the check in
> > svntest/main.py _parse_options()?
> >
> 
> _parse_options() will not come into picture if we use 'make check'
> because we are directly calling svntest.main.execute_tests() from
> run_tests.py.  
> 
> I think we should patch run_tests.py to display error if the user passes
> values that is not in range 4 to 6.
> 
> One more thing that I observed is that we are not supporting
> --pre-1.4-compatible option even though this one is available as an
> option to svnadmin command. See the snippet below. Is this intentional?
> 

Feel free to add it and see what breaks...

(again, the SERVER_MINOR_VERSION options are used for two things, for
passing the --pre-1.x-compatible flag and for adjusting tests'
expectations when a 1.x.0 server is started *manually* to run the tests
against)

> <code>
>   if options.server_minor_version < 5:
>     opts += ("--pre-1.5-compatible",)
>   elif options.server_minor_version < 6:
>     opts += ("--pre-1.6-compatible",)
>   elif options.server_minor_version < 7:
>     opts += ("--pre-1.7-compatible",)
>   if options.fs_type is not None:
>     opts += ("--fs-type=" + options.fs_type,)
>   exit_code, stdout, stderr = run_command(svnadmin_binary, 1, 0, "create",
>                                           path, *opts)
> </code>
> 
> Thanks and Regards
> Noorul

Re: Implement support for 'make check' variants

Posted by Noorul Islam K M <no...@collab.net>.
Daniel Shahaf <d....@daniel.shahaf.name> writes:

> Noorul Islam K M wrote on Mon, Jul 04, 2011 at 17:52:53 +0530:
>
>> Noorul Islam K M <no...@collab.net> writes:
>> 
>> An update
>> 
>> > Daniel came up with idea of extending Makefile.in to support 'make
>> > check' variants.
>> >
>> > 1. 'make check' with svnserve -T
>> 
>> This was already implemented.
>> Completed testing using "make svnserveautocheck THREADED=1". I could not
>> see any errors.
>> 
>> > 2. 'make check' with svnadmin create --pre-1.x-compatible (where x in
>> >    (1.4, 1.5, 1.6, 1.7))
>> 
>> This was already implemented.
>> make check SERVER_MINOR_VERSION=3. 
>> I could see some failures. Are all the tests supposed to pass with this
>> kind of testing?
>> 
>
> If you see failures please report them on separate threads; they might
> be shortcomings in the test suite, but let's confirm that.
>

I will do this.

> By the way: according to my reading of the test suite's code, you should
> have gotten an error message if you'd passed SERVER_MINOR_VERSION=3
> (rather than 4 or bigger)!  How come you didn't trigger the check in
> svntest/main.py _parse_options()?
>

_parse_options() will not come into picture if we use 'make check'
because we are directly calling svntest.main.execute_tests() from
run_tests.py.  

I think we should patch run_tests.py to display error if the user passes
values that is not in range 4 to 6.

One more thing that I observed is that we are not supporting
--pre-1.4-compatible option even though this one is available as an
option to svnadmin command. See the snippet below. Is this intentional?

<code>
  if options.server_minor_version < 5:
    opts += ("--pre-1.5-compatible",)
  elif options.server_minor_version < 6:
    opts += ("--pre-1.6-compatible",)
  elif options.server_minor_version < 7:
    opts += ("--pre-1.7-compatible",)
  if options.fs_type is not None:
    opts += ("--fs-type=" + options.fs_type,)
  exit_code, stdout, stderr = run_command(svnadmin_binary, 1, 0, "create",
                                          path, *opts)
</code>

Thanks and Regards
Noorul

Re: Implement support for 'make check' variants

Posted by Daniel Shahaf <d....@daniel.shahaf.name>.
Noorul Islam K M wrote on Mon, Jul 04, 2011 at 17:52:53 +0530:
> Noorul Islam K M <no...@collab.net> writes:
> 
> An update
> 
> > Daniel came up with idea of extending Makefile.in to support 'make
> > check' variants.
> >
> > 1. 'make check' with svnserve -T
> 
> This was already implemented.
> Completed testing using "make svnserveautocheck THREADED=1". I could not
> see any errors.
> 
> > 2. 'make check' with svnadmin create --pre-1.x-compatible (where x in
> >    (1.4, 1.5, 1.6, 1.7))
> 
> This was already implemented.
> make check SERVER_MINOR_VERSION=3. 
> I could see some failures. Are all the tests supposed to pass with this
> kind of testing?
> 

If you see failures please report them on separate threads; they might
be shortcomings in the test suite, but let's confirm that.

By the way: according to my reading of the test suite's code, you should
have gotten an error message if you'd passed SERVER_MINOR_VERSION=3
(rather than 4 or bigger)!  How come you didn't trigger the check in
svntest/main.py _parse_options()?

> > 3. 'make check' with SVNPathAuthz short_circuit. As of now this is
> >    supported by stsp's Makefile.svn. So this will be bringing that into
> >    Makefile.in
> >
> 
> Implemented and tested. No issues found while testing.
> 

Thanks.

> Thanks and Regards
> Noorul

Re: Implement support for 'make check' variants

Posted by Noorul Islam K M <no...@collab.net>.
Noorul Islam K M <no...@collab.net> writes:

An update

> Daniel came up with idea of extending Makefile.in to support 'make
> check' variants.
>
> 1. 'make check' with svnserve -T

This was already implemented.
Completed testing using "make svnserveautocheck THREADED=1". I could not
see any errors.

> 2. 'make check' with svnadmin create --pre-1.x-compatible (where x in
>    (1.4, 1.5, 1.6, 1.7))

This was already implemented.
make check SERVER_MINOR_VERSION=3. 
I could see some failures. Are all the tests supposed to pass with this
kind of testing?

> 3. 'make check' with SVNPathAuthz short_circuit. As of now this is
>    supported by stsp's Makefile.svn. So this will be bringing that into
>    Makefile.in
>

Implemented and tested. No issues found while testing.

Thanks and Regards
Noorul

Re: [PATCH] Re: Implement support for 'make check' variants

Posted by Daniel Shahaf <d....@daniel.shahaf.name>.
r1141292.  (See also r1141291.)  Thanks!

Noorul Islam K M wrote on Wed, Jun 29, 2011 at 15:58:04 +0530:
> Noorul Islam K M <no...@collab.net> writes:
> 
> > Daniel Shahaf <d....@daniel.shahaf.name> writes:
> >
> >> Reads fine.
> >>
> >> I'd like to test this patch (perhaps later this week?).
> >>
> >
> > I tested with short_circuit configuration. I did not see any errors.
> >
> >> Would
> >>     make davautocheck ENVVAR=short_circuit
> >> be a better interface?
> >>
> >
> > I made it this way.
> >
> > make davautocheck SVN_PATH_AUTHZ=short_circuit
> >
> > Attached is the patch.
> >
> > Log 
> >
> > [[[ 
> >
> > Allow davautocheck to run optionally by setting path based authz as
> > "short_circuit".
> >
> > * Makefile.in
> >   (davautocheck): Document environment parameter.
> >
> > * subversion/tests/cmdline/davautocheck.sh:
> >     Accept and use $SVN_PATH_AUTHZ environment parameter.
> > ]]]
> >
> 
> Please ignore the last patch. I missed to replace a text. Attached is
> the correct one. Also pasting the log message once again.
> 
> Log 
> 
> [[[ 
> 
> Allow davautocheck to run optionally by setting path based authz as
> "short_circuit".
> 
> * Makefile.in
>   (davautocheck): Document environment parameter.
> 
> * subversion/tests/cmdline/davautocheck.sh:
>     Accept and use $SVN_PATH_AUTHZ environment parameter.
> 
> Patch by: Noorul Islam K M <noorul{_AT_}collab.net>
> Suggested by: danielsh
> 
> ]]]
> 

> Index: Makefile.in
> ===================================================================
> --- Makefile.in	(revision 1141012)
> +++ Makefile.in	(working copy)
> @@ -501,7 +501,7 @@
>  # Automatically configure and run Apache httpd on a random port, and then
>  # run make check.
>  davautocheck: bin $(TEST_DEPS) @BDB_TEST_DEPS@ apache-mod
> -	@# Takes MODULE_PATH and USE_HTTPV1 in the environment.
> +	@# Takes MODULE_PATH, USE_HTTPV1 and SVN_PATH_AUTHZ in the environment.
>  	@APXS=$(APXS) bash $(top_srcdir)/subversion/tests/cmdline/davautocheck.sh
>  
>  # First, run:
> Index: subversion/tests/cmdline/davautocheck.sh
> ===================================================================
> --- subversion/tests/cmdline/davautocheck.sh	(revision 1141012)
> +++ subversion/tests/cmdline/davautocheck.sh	(working copy)
> @@ -67,6 +67,9 @@
>  #
>  # To prevent the server from advertising httpv2, pass USE_HTTPV1 in
>  # the environment.
> +# 
> +# To use value for "SVNPathAuthz" directive set SVN_PATH_AUTHZ with
> +# appropriate value in the environment.
>  #
>  # Passing --no-tests as argv[1] will have the script start a server
>  # but not run any tests.
> @@ -160,6 +163,12 @@
>   ADVERTISE_V2_PROTOCOL=off
>  fi
>  
> +# Pick up $SVN_PATH_AUTHZ
> +SVN_PATH_AUTHZ_LINE=""
> +if [ ${SVN_PATH_AUTHZ:+set} ]; then
> + SVN_PATH_AUTHZ_LINE="SVNPathAuthz      ${SVN_PATH_AUTHZ}"
> +fi
> +
>  # Find the source and build directories. The build dir can be found if it is
>  # the current working dir or the source dir.
>  pushd ${SCRIPTDIR}/../../../ > /dev/null
> @@ -326,6 +335,7 @@
>    AuthUserFile      $HTTPD_USERS
>    Require           valid-user
>    SVNAdvertiseV2Protocol ${ADVERTISE_V2_PROTOCOL}
> +  ${SVN_PATH_AUTHZ_LINE}
>  </Location>
>  <Location /svn-test-work/local_tmp/repos>
>    DAV               svn
> @@ -336,6 +346,7 @@
>    AuthUserFile      $HTTPD_USERS
>    Require           valid-user
>    SVNAdvertiseV2Protocol ${ADVERTISE_V2_PROTOCOL}
> +  ${SVN_PATH_AUTHZ_LINE}
>  </Location>
>  RedirectMatch permanent ^/svn-test-work/repositories/REDIRECT-PERM-(.*)\$ /svn-test-work/repositories/\$1
>  RedirectMatch           ^/svn-test-work/repositories/REDIRECT-TEMP-(.*)\$ /svn-test-work/repositories/\$1


Re: [PATCH] Re: Implement support for 'make check' variants

Posted by Noorul Islam K M <no...@collab.net>.
Noorul Islam K M <no...@collab.net> writes:

> Daniel Shahaf <d....@daniel.shahaf.name> writes:
>
>> Reads fine.
>>
>> I'd like to test this patch (perhaps later this week?).
>>
>
> I tested with short_circuit configuration. I did not see any errors.
>
>> Would
>>     make davautocheck ENVVAR=short_circuit
>> be a better interface?
>>
>
> I made it this way.
>
> make davautocheck SVN_PATH_AUTHZ=short_circuit
>
> Attached is the patch.
>
> Log 
>
> [[[ 
>
> Allow davautocheck to run optionally by setting path based authz as
> "short_circuit".
>
> * Makefile.in
>   (davautocheck): Document environment parameter.
>
> * subversion/tests/cmdline/davautocheck.sh:
>     Accept and use $SVN_PATH_AUTHZ environment parameter.
> ]]]
>

Please ignore the last patch. I missed to replace a text. Attached is
the correct one. Also pasting the log message once again.

Log 

[[[ 

Allow davautocheck to run optionally by setting path based authz as
"short_circuit".

* Makefile.in
  (davautocheck): Document environment parameter.

* subversion/tests/cmdline/davautocheck.sh:
    Accept and use $SVN_PATH_AUTHZ environment parameter.

Patch by: Noorul Islam K M <noorul{_AT_}collab.net>
Suggested by: danielsh

]]]


Re: [PATCH] Re: Implement support for 'make check' variants

Posted by Daniel Shahaf <d....@daniel.shahaf.name>.
Noorul Islam K M wrote on Wed, Jun 29, 2011 at 15:43:04 +0530:
> Daniel Shahaf <d....@daniel.shahaf.name> writes:
> 
> > Reads fine.
> >
> > I'd like to test this patch (perhaps later this week?).
> >
> 
> I tested with short_circuit configuration. I did not see any errors.
> 

In these kind of patches when I say "test" I mean "verify that the
configuration intended to take effect, does".  Thanks for reporting your
results.

> > Would
> >     make davautocheck ENVVAR=short_circuit
> > be a better interface?
> >
> 
> I made it this way.
> 
> make davautocheck SVN_PATH_AUTHZ=short_circuit
> 

I take it you agree with me then :-)

Anyway, +1 to the interface.  I'll probably commit this patch (i.e., its
followup that you've posted) once I've tested it.  Thanks!

> Attached is the patch.
> 
> Log 
> 
> [[[ 
> 
> Allow davautocheck to run optionally by setting path based authz as
> "short_circuit".
> 
> * Makefile.in
>   (davautocheck): Document environment parameter.
> 
> * subversion/tests/cmdline/davautocheck.sh:
>     Accept and use $SVN_PATH_AUTHZ environment parameter.
> ]]]
> 
> Thanks and Regards
> Noorul
> 

> Index: Makefile.in
> ===================================================================
> --- Makefile.in	(revision 1141012)
> +++ Makefile.in	(working copy)
> @@ -501,7 +501,7 @@
>  # Automatically configure and run Apache httpd on a random port, and then
>  # run make check.
>  davautocheck: bin $(TEST_DEPS) @BDB_TEST_DEPS@ apache-mod
> -	@# Takes MODULE_PATH and USE_HTTPV1 in the environment.
> +	@# Takes MODULE_PATH, USE_HTTPV1 and SVN_PATH_AUTHZ in the environment.
>  	@APXS=$(APXS) bash $(top_srcdir)/subversion/tests/cmdline/davautocheck.sh
>  
>  # First, run:
> Index: subversion/tests/cmdline/davautocheck.sh
> ===================================================================
> --- subversion/tests/cmdline/davautocheck.sh	(revision 1141012)
> +++ subversion/tests/cmdline/davautocheck.sh	(working copy)
> @@ -67,6 +67,9 @@
>  #
>  # To prevent the server from advertising httpv2, pass USE_HTTPV1 in
>  # the environment.
> +# 
> +# To use value for "SVNPathAuthz" directive set SVN_PATH_AUTHZ with
> +# appropriate value in the environment.
>  #
>  # Passing --no-tests as argv[1] will have the script start a server
>  # but not run any tests.
> @@ -160,6 +163,12 @@
>   ADVERTISE_V2_PROTOCOL=off
>  fi
>  
> +# Pick up $USE_AUTHZ_SHORT_CIRCUIT
> +SVN_PATH_AUTHZ_LINE=""
> +if [ ${SVN_PATH_AUTHZ:+set} ]; then
> + SVN_PATH_AUTHZ_LINE="SVNPathAuthz      ${SVN_PATH_AUTHZ}"
> +fi
> +
>  # Find the source and build directories. The build dir can be found if it is
>  # the current working dir or the source dir.
>  pushd ${SCRIPTDIR}/../../../ > /dev/null
> @@ -326,6 +335,7 @@
>    AuthUserFile      $HTTPD_USERS
>    Require           valid-user
>    SVNAdvertiseV2Protocol ${ADVERTISE_V2_PROTOCOL}
> +  ${SVN_PATH_AUTHZ_LINE}
>  </Location>
>  <Location /svn-test-work/local_tmp/repos>
>    DAV               svn
> @@ -336,6 +346,7 @@
>    AuthUserFile      $HTTPD_USERS
>    Require           valid-user
>    SVNAdvertiseV2Protocol ${ADVERTISE_V2_PROTOCOL}
> +  ${SVN_PATH_AUTHZ_LINE}
>  </Location>
>  RedirectMatch permanent ^/svn-test-work/repositories/REDIRECT-PERM-(.*)\$ /svn-test-work/repositories/\$1
>  RedirectMatch           ^/svn-test-work/repositories/REDIRECT-TEMP-(.*)\$ /svn-test-work/repositories/\$1


Re: [PATCH] Re: Implement support for 'make check' variants

Posted by Noorul Islam K M <no...@collab.net>.
Daniel Shahaf <d....@daniel.shahaf.name> writes:

> Reads fine.
>
> I'd like to test this patch (perhaps later this week?).
>

I tested with short_circuit configuration. I did not see any errors.

> Would
>     make davautocheck ENVVAR=short_circuit
> be a better interface?
>

I made it this way.

make davautocheck SVN_PATH_AUTHZ=short_circuit

Attached is the patch.

Log 

[[[ 

Allow davautocheck to run optionally by setting path based authz as
"short_circuit".

* Makefile.in
  (davautocheck): Document environment parameter.

* subversion/tests/cmdline/davautocheck.sh:
    Accept and use $SVN_PATH_AUTHZ environment parameter.
]]]

Thanks and Regards
Noorul


Re: [PATCH] Re: Implement support for 'make check' variants

Posted by Daniel Shahaf <d....@daniel.shahaf.name>.
Reads fine.

I'd like to test this patch (perhaps later this week?).

Would 
    make davautocheck ENVVAR=short_circuit
be a better interface?

Noorul Islam K M wrote on Tue, Jun 28, 2011 at 12:03:36 +0530:
> Index: Makefile.in
> ===================================================================
> --- Makefile.in	(revision 1140431)
> +++ Makefile.in	(working copy)
> @@ -501,7 +501,8 @@
>  # Automatically configure and run Apache httpd on a random port, and then
>  # run make check.
>  davautocheck: bin $(TEST_DEPS) @BDB_TEST_DEPS@ apache-mod
> -	@# Takes MODULE_PATH and USE_HTTPV1 in the environment.
> +	@# Takes MODULE_PATH, USE_HTTPV1 and USE_AUTHZ_SHORT_CIRCUIT in the 
> +	@# environment.
>  	@APXS=$(APXS) bash $(top_srcdir)/subversion/tests/cmdline/davautocheck.sh
>  
>  # First, run:
> Index: subversion/tests/cmdline/davautocheck.sh
> ===================================================================
> --- subversion/tests/cmdline/davautocheck.sh	(revision 1140431)
> +++ subversion/tests/cmdline/davautocheck.sh	(working copy)
> @@ -67,6 +67,9 @@
>  #
>  # To prevent the server from advertising httpv2, pass USE_HTTPV1 in
>  # the environment.
> +# 
> +# To use "short_circuit" value for "SvnPathAuthz" directive set
> +# USE_AUTHZ_SHORT_CIRCUIT=yes in the environment.
>  #
>  # Passing --no-tests as argv[1] will have the script start a server
>  # but not run any tests.
> @@ -160,6 +163,12 @@
>   ADVERTISE_V2_PROTOCOL=off
>  fi
>  
> +# Pick up $USE_AUTHZ_SHORT_CIRCUIT
> +SVN_PATH_AUTHZ=""
> +if [ ${USE_AUTHZ_SHORT_CIRCUIT:+set} ]; then
> + SVN_PATH_AUTHZ="SVNPathAuthz      short_circuit"
> +fi

[PATCH] Re: Implement support for 'make check' variants

Posted by Noorul Islam K M <no...@collab.net>.
Noorul Islam K M <no...@collab.net> writes:

> Daniel came up with idea of extending Makefile.in to support 'make
> check' variants.
>
> 1. 'make check' with svnserve -T
> 2. 'make check' with svnadmin create --pre-1.x-compatible (where x in
>    (1.4, 1.5, 1.6, 1.7))
> 3. 'make check' with SVNPathAuthz short_circuit. As of now this is
>    supported by stsp's Makefile.svn. So this will be bringing that into
>    Makefile.in
>

Attached is the patch for #3.

Log 

[[[ 

Allow davautocheck to run optionally by setting path based authz as
"short_circuit".

* Makefile.in
  (davautocheck): Document environment parameter.

* subversion/tests/cmdline/davautocheck.sh:
    Accept and use $USE_AUTHZ_SHORT_CIRCUIT environment parameter.
]]]

Thanks and Regards
Noorul


Re: Implement support for 'make check' variants

Posted by Daniel Shahaf <da...@elego.de>.
Noorul Islam K M wrote on Fri, Jun 24, 2011 at 10:11:50 +0530:
> 
> Daniel came up with idea of extending Makefile.in to support 'make
> check' variants.
> 
> 1. 'make check' with svnserve -T
> 2. 'make check' with svnadmin create --pre-1.x-compatible (where x in
>    (1.4, 1.5, 1.6, 1.7))
> 3. 'make check' with SVNPathAuthz short_circuit. As of now this is
>    supported by stsp's Makefile.svn. So this will be bringing that into
>    Makefile.in
> 

And in case someone wonders why:  I have in the past found a bug in
the cache code via #1; we recently had CVE's that would have been
exposed by someone running #3; and #2 is a cheap (though not as good as
'svnadmin1.x create') to test running the 1.7 code on 1.6 repositories
and filesystems.

I am not suggesting to enable any of these by default.

> So, this would include the following tasks.
> 
> * Extending Makefile.in to take optional arguments.
> * Propagating that through to the tests themselves.
> * Extending test suite to take additional options accordingly.
> * Filing issues and/or fixing any bugs that surface.
> 
> I am planning to implement his idea. I hope this is a welcome
> change. Posting it here to get feedback before starting to work on this.
> 
> Thanks and Regards
> Noorul

Re: Implement support for 'make check' variants

Posted by Daniel Shahaf <d....@daniel.shahaf.name>.
Philip Martin wrote on Fri, Jun 24, 2011 at 13:03:27 +0100:
> Daniel Shahaf <d....@daniel.shahaf.name> writes:
> 
> > SERVER_MINOR_VERSION is for testing a 1.7 client with a 1.6 server.
> >
> > I'm after testing a 1.7 client with a 1.7 server using a 1.6 filesystme.
> 
> As discussed on IRC, SERVER_MINOR_VERSION should already cause a 1.6
> filesystem to be used.  However there is a bug somewhere in the option
> handling that causes options.server_minor_version to be of type string
> so the comparisons against integer values don't work.
> 
> The problem occurs if I run:
> 
>    make check SERVER_MINOR_VERSION=6
> 
> but if I run
> 
>    ./basic_checks.py --server-minor-version 6
> 
> the problem is not present. I can fix the problem using the patch below,
> but I don't understand why it is necessary, and I don't know if other
> parameters are affected.
> 

In r1139268 I patched build/run_tests.py to store the integer-typed
parameters --- FSFS_SHARDING and SERVER_MINOR_VERSION --- as integers
in svntest.main.options.  This fixes create_repos() issue for me.

Thanks for spotting the str/int discrepancy!

> Index: subversion/tests/cmdline/svntest/main.py
> ===================================================================
> --- subversion/tests/cmdline/svntest/main.py	(revision 1139223)
> +++ subversion/tests/cmdline/svntest/main.py	(working copy)
> @@ -1614,6 +1614,8 @@
>    else:
>      parser = _create_parser()
>  
> +  options.server_minor_version = int(options.server_minor_version)
> +
>    # parse the positional arguments (test nums, names)
>    for arg in test_selection:
>      appended = False
> 
> -- 
> Philip

Re: Implement support for 'make check' variants

Posted by Philip Martin <ph...@wandisco.com>.
Daniel Shahaf <d....@daniel.shahaf.name> writes:

> SERVER_MINOR_VERSION is for testing a 1.7 client with a 1.6 server.
>
> I'm after testing a 1.7 client with a 1.7 server using a 1.6 filesystme.

As discussed on IRC, SERVER_MINOR_VERSION should already cause a 1.6
filesystem to be used.  However there is a bug somewhere in the option
handling that causes options.server_minor_version to be of type string
so the comparisons against integer values don't work.

The problem occurs if I run:

   make check SERVER_MINOR_VERSION=6

but if I run

   ./basic_checks.py --server-minor-version 6

the problem is not present. I can fix the problem using the patch below,
but I don't understand why it is necessary, and I don't know if other
parameters are affected.

Index: subversion/tests/cmdline/svntest/main.py
===================================================================
--- subversion/tests/cmdline/svntest/main.py	(revision 1139223)
+++ subversion/tests/cmdline/svntest/main.py	(working copy)
@@ -1614,6 +1614,8 @@
   else:
     parser = _create_parser()
 
+  options.server_minor_version = int(options.server_minor_version)
+
   # parse the positional arguments (test nums, names)
   for arg in test_selection:
     appended = False

-- 
Philip

Re: Implement support for 'make check' variants

Posted by Daniel Shahaf <d....@daniel.shahaf.name>.
Philip Martin wrote on Fri, Jun 24, 2011 at 11:47:44 +0100:
> Noorul Islam K M <no...@collab.net> writes:
> 
> > Daniel came up with idea of extending Makefile.in to support 'make
> > check' variants.
> >
> > 1. 'make check' with svnserve -T
> 
> > 2. 'make check' with svnadmin create --pre-1.x-compatible (where x in
> >    (1.4, 1.5, 1.6, 1.7))
> > 3. 'make check' with SVNPathAuthz short_circuit. As of now this is
> >    supported by stsp's Makefile.svn. So this will be bringing that into
> >    Makefile.in
> >
> > So, this would include the following tasks.
> >
> > * Extending Makefile.in to take optional arguments.
> > * Propagating that through to the tests themselves.
> > * Extending test suite to take additional options accordingly.
> > * Filing issues and/or fixing any bugs that surface.
> >
> > I am planning to implement his idea. I hope this is a welcome
> > change. Posting it here to get feedback before starting to work on this.
> 
> I don't understand what you intend.  I agree that 3 is new, but for 1
> and 2 I can do:
> 
>   make svnserveautocheck THREADED=1
>   make check SERVER_MINOR_VERSION=N
> 
> Are you plan to change/extend those options?

SERVER_MINOR_VERSION is for testing a 1.7 client with a 1.6 server.

I'm after testing a 1.7 client with a 1.7 server using a 1.6 filesystme.

(Also, SERVER_MINOR_VERSION needs you to start the 1.6 server manually)

Re: Implement support for 'make check' variants

Posted by Daniel Shahaf <d....@daniel.shahaf.name>.
For THREADED, no I don't plan to change it, I simply forgot that I had
already added it.

Philip Martin wrote on Fri, Jun 24, 2011 at 11:47:44 +0100:
> Noorul Islam K M <no...@collab.net> writes:
> 
> > Daniel came up with idea of extending Makefile.in to support 'make
> > check' variants.
> >
> > 1. 'make check' with svnserve -T
> 
> > 2. 'make check' with svnadmin create --pre-1.x-compatible (where x in
> >    (1.4, 1.5, 1.6, 1.7))
> > 3. 'make check' with SVNPathAuthz short_circuit. As of now this is
> >    supported by stsp's Makefile.svn. So this will be bringing that into
> >    Makefile.in
> >
> > So, this would include the following tasks.
> >
> > * Extending Makefile.in to take optional arguments.
> > * Propagating that through to the tests themselves.
> > * Extending test suite to take additional options accordingly.
> > * Filing issues and/or fixing any bugs that surface.
> >
> > I am planning to implement his idea. I hope this is a welcome
> > change. Posting it here to get feedback before starting to work on this.
> 
> I don't understand what you intend.  I agree that 3 is new, but for 1
> and 2 I can do:
> 
>   make svnserveautocheck THREADED=1
>   make check SERVER_MINOR_VERSION=N
> 
> Are you plan to change/extend those options?
> 
> -- 
> Philip

Re: Implement support for 'make check' variants

Posted by Philip Martin <ph...@wandisco.com>.
Noorul Islam K M <no...@collab.net> writes:

> Daniel came up with idea of extending Makefile.in to support 'make
> check' variants.
>
> 1. 'make check' with svnserve -T

> 2. 'make check' with svnadmin create --pre-1.x-compatible (where x in
>    (1.4, 1.5, 1.6, 1.7))
> 3. 'make check' with SVNPathAuthz short_circuit. As of now this is
>    supported by stsp's Makefile.svn. So this will be bringing that into
>    Makefile.in
>
> So, this would include the following tasks.
>
> * Extending Makefile.in to take optional arguments.
> * Propagating that through to the tests themselves.
> * Extending test suite to take additional options accordingly.
> * Filing issues and/or fixing any bugs that surface.
>
> I am planning to implement his idea. I hope this is a welcome
> change. Posting it here to get feedback before starting to work on this.

I don't understand what you intend.  I agree that 3 is new, but for 1
and 2 I can do:

  make svnserveautocheck THREADED=1
  make check SERVER_MINOR_VERSION=N

Are you plan to change/extend those options?

-- 
Philip