Login | Register For Free | Help
Search for: (Advanced)

Mailing List Archive: Zope: Dev

How to test changes to ZTK packages?

 

 

First page Previous page 1 2 Next page Last page  View All Zope dev RSS feed   Index | Next | Previous | View Threaded


jim at zope

Jun 30, 2009, 3:28 AM

Post #1 of 28 (1252 views)
Permalink
How to test changes to ZTK packages?

I should know this, but I don't. What is the recommended way to test
changes to core ZTK packages to mitigate the risk that changes affect
other packages? Is there a page somewhere with instructions?

I tried using using zope.release. Building the trunk of zope.release
with Python 2.4 and running the tests gives lots of test import errors
and test failures. (Lots of tests want to import z3c.pt.) The tests
hang when I try to build and run with Python 2.6.

BTW, zope.release wants lxml, which is a real pain on Mac OS X and
Centos 4. Does the ZTK really need to depend on lxml?

Jim

--
Jim Fulton
Zope Corporation


_______________________________________________
Zope-Dev maillist - Zope-Dev[at]zope.org
http://mail.zope.org/mailman/listinfo/zope-dev
** No cross posts or HTML encoding! **
(Related lists -
http://mail.zope.org/mailman/listinfo/zope-announce
http://mail.zope.org/mailman/listinfo/zope )


timh at zute

Jun 30, 2009, 4:11 AM

Post #2 of 28 (1227 views)
Permalink
Re: How to test changes to ZTK packages? [In reply to]

I have to chime in here too

lxml is a real pain and seems to be problematic to get a straightforward
build for packages other than ZTK as well. I have had varying success
building lxml even under ubuntu - success seems to be dependant on the type
of build defined.

T

On Tue, Jun 30, 2009 at 6:28 PM, Jim Fulton <jim[at]zope.com> wrote:

>
> I should know this, but I don't. What is the recommended way to test
> changes to core ZTK packages to mitigate the risk that changes affect
> other packages? Is there a page somewhere with instructions?
>
> I tried using using zope.release. Building the trunk of zope.release
> with Python 2.4 and running the tests gives lots of test import errors
> and test failures. (Lots of tests want to import z3c.pt.) The tests
> hang when I try to build and run with Python 2.6.
>
> BTW, zope.release wants lxml, which is a real pain on Mac OS X and
> Centos 4. Does the ZTK really need to depend on lxml?
>
> Jim
>
> --
> Jim Fulton
> Zope Corporation
>
>
> _______________________________________________
> Zope-Dev maillist - Zope-Dev[at]zope.org
> http://mail.zope.org/mailman/listinfo/zope-dev
> ** No cross posts or HTML encoding! **
> (Related lists -
> http://mail.zope.org/mailman/listinfo/zope-announce
> http://mail.zope.org/mailman/listinfo/zope )
>


srichter at cosmos

Jun 30, 2009, 10:03 AM

Post #3 of 28 (1222 views)
Permalink
Re: How to test changes to ZTK packages? [In reply to]

On Tuesday 30 June 2009, Jim Fulton wrote:
> I should know this, but I don't. What is the recommended way to test
> changes to core ZTK packages to mitigate the risk that changes affect
> other packages? Is there a page somewhere with instructions?
>
> I tried using using zope.release. Building the trunk of zope.release
> with Python 2.4 and running the tests gives lots of test import errors
> and test failures. (Lots of tests want to import z3c.pt.) The tests
> hang when I try to build and run with Python 2.6.

Yes, I think testing with zope.release is a good way of doing this right now.
I tried to verify the steps:

1. Checkout zope.release
2. Run python bootstrap.py
3. Run ./bin/buildout -N
4. Run ./bin/generate-buildout

5. cd test
6. python ../bootstrap.py
7. ./bin/buildout -N
8. ./bin/test -vpc1

I am running the tests as I am writing this. So far I got one failure:

Traceback (most recent call last):
File "/opt/zope/packages/eggs/z3c.macro-1.2.1-py2.5.egg/z3c/macro/tests.py",
line 29, in <module>
import z3c.pt
ImportError: No module named pt

I'll report the full output when it is done.

> BTW, zope.release wants lxml, which is a real pain on Mac OS X and
> Centos 4. Does the ZTK really need to depend on lxml?

It is needed for the "latest-versions" script as this parses XML. I consider
lxml pretty much the standard tool to do XML in Python these days. Who is not
using lxml?

Having said that, "latest-versions" is not needed by everyone all the time. I
could live with putting it into an extra and not build the latest-versions
script by default.

Regards,
Stephan
--
Entrepreneur and Software Geek
Google me. "Zope Stephan Richter"

_______________________________________________
Zope-Dev maillist - Zope-Dev[at]zope.org
http://mail.zope.org/mailman/listinfo/zope-dev
** No cross posts or HTML encoding! **
(Related lists -
http://mail.zope.org/mailman/listinfo/zope-announce
http://mail.zope.org/mailman/listinfo/zope )


srichter at cosmos

Jun 30, 2009, 10:04 AM

Post #4 of 28 (1216 views)
Permalink
Re: How to test changes to ZTK packages? [In reply to]

On Tuesday 30 June 2009, Stephan Richter wrote:
> I'll report the full output when it is done.

And here it is.

Regards,
Stephan
--
Entrepreneur and Software Geek
Google me. "Zope Stephan Richter"
Attachments: test-output.txt (213 KB)


wichert at wiggy

Jun 30, 2009, 10:18 AM

Post #5 of 28 (1220 views)
Permalink
Re: How to test changes to ZTK packages? [In reply to]

On 6/30/09 7:03 PM, Stephan Richter wrote:
> It is needed for the "latest-versions" script as this parses XML. I consider
> lxml pretty much the standard tool to do XML in Python these days. Who is not
> using lxml?

I suspect the majority of people who use OSX as their main platform try
to stay as far away from lxml as possible. Not because lxml is bad, but
because unless you use special magic it will make your python randomly
segfault. This is very sad, and it is not lxml's fault but I see no good
solution at this moment.

Using z3c.recipe.staticlxml recipe helps a bit for people using
buildout, but that is not everyone and even then I have seen random
segfaults.

Wichert.
_______________________________________________
Zope-Dev maillist - Zope-Dev[at]zope.org
http://mail.zope.org/mailman/listinfo/zope-dev
** No cross posts or HTML encoding! **
(Related lists -
http://mail.zope.org/mailman/listinfo/zope-announce
http://mail.zope.org/mailman/listinfo/zope )


jim at zope

Jun 30, 2009, 10:25 AM

Post #6 of 28 (1221 views)
Permalink
Re: How to test changes to ZTK packages? [In reply to]

On Jun 30, 2009, at 1:03 PM, Stephan Richter wrote:
> I consider
> lxml pretty much the standard tool to do XML in Python these days.

I don't want to diss lxml, but since it's not in the standard library,
I imagine far more people use element tree.

> Who is not
> using lxml?

I don't. I don't do much with xml. If I did, I might use it more. I
see no reason for a web framework to be all tied up with xml. I
wouldn't mind lxml if it wasn't so hard to install.

> Having said that, "latest-versions" is not needed by everyone all
> the time. I
> could live with putting it into an extra and not build the latest-
> versions
> script by default.


+1

Jim

--
Jim Fulton
Zope Corporation


_______________________________________________
Zope-Dev maillist - Zope-Dev[at]zope.org
http://mail.zope.org/mailman/listinfo/zope-dev
** No cross posts or HTML encoding! **
(Related lists -
http://mail.zope.org/mailman/listinfo/zope-announce
http://mail.zope.org/mailman/listinfo/zope )


jim at zope

Jun 30, 2009, 10:32 AM

Post #7 of 28 (1220 views)
Permalink
Re: How to test changes to ZTK packages? [In reply to]

On Jun 30, 2009, at 1:03 PM, Stephan Richter wrote:
...
> 2. Run python bootstrap.py

Which Python? 2.4, 2.5, 2.6? All of the above?

Jim

--
Jim Fulton
Zope Corporation


_______________________________________________
Zope-Dev maillist - Zope-Dev[at]zope.org
http://mail.zope.org/mailman/listinfo/zope-dev
** No cross posts or HTML encoding! **
(Related lists -
http://mail.zope.org/mailman/listinfo/zope-announce
http://mail.zope.org/mailman/listinfo/zope )


srichter at cosmos

Jun 30, 2009, 10:44 AM

Post #8 of 28 (1222 views)
Permalink
Re: How to test changes to ZTK packages? [In reply to]

On Tuesday 30 June 2009, Jim Fulton wrote:
> On Jun 30, 2009, at 1:03 PM, Stephan Richter wrote:
> ...
>
> > 2. Run python bootstrap.py
>
> Which Python? 2.4, 2.5, 2.6? All of the above?

I have mainly run test under 2.5. I am fine if people run those tests after
changes in any Python version. ;-)

Of course, if you want to be super-diligent, I think both Python 2.5 and 2.6
should be tested.

Regards.
Stephan
--
Entrepreneur and Software Geek
Google me. "Zope Stephan Richter"
_______________________________________________
Zope-Dev maillist - Zope-Dev[at]zope.org
http://mail.zope.org/mailman/listinfo/zope-dev
** No cross posts or HTML encoding! **
(Related lists -
http://mail.zope.org/mailman/listinfo/zope-announce
http://mail.zope.org/mailman/listinfo/zope )


paulcarduner at gmail

Jun 30, 2009, 10:45 AM

Post #9 of 28 (1224 views)
Permalink
Re: How to test changes to ZTK packages? [In reply to]

Can't use lxml on google app engine either.

I use ElementTree. If only the lxml extensions to the etree API were
available in ElementTree, especially the ability to pretty print the
xml and do xpath queries, that would be great.

On Tue, Jun 30, 2009 at 7:25 PM, Jim Fulton<jim[at]zope.com> wrote:
>
> On Jun 30, 2009, at 1:03 PM, Stephan Richter wrote:
>> I consider
>> lxml pretty much the standard tool to do XML in Python these days.
>
> I don't want to diss lxml, but since it's not in the standard library,
> I imagine far more people use element tree.
>
>> Who is not
>> using lxml?
>
> I don't.  I don't do much with xml. If I did, I might use it more.  I
> see no reason for a web framework to be all tied up with xml.  I
> wouldn't mind lxml if it wasn't so hard to install.
>
>> Having said that, "latest-versions" is not needed by everyone all
>> the time. I
>> could live with putting it into an extra and not build the latest-
>> versions
>> script by default.
>
>
> +1
>
> Jim
>
> --
> Jim Fulton
> Zope Corporation
>
>
> _______________________________________________
> Zope-Dev maillist  -  Zope-Dev[at]zope.org
> http://mail.zope.org/mailman/listinfo/zope-dev
> **  No cross posts or HTML encoding!  **
> (Related lists -
>  http://mail.zope.org/mailman/listinfo/zope-announce
>  http://mail.zope.org/mailman/listinfo/zope )
>



--
Paul Carduner
http://www.carduner.net
_______________________________________________
Zope-Dev maillist - Zope-Dev[at]zope.org
http://mail.zope.org/mailman/listinfo/zope-dev
** No cross posts or HTML encoding! **
(Related lists -
http://mail.zope.org/mailman/listinfo/zope-announce
http://mail.zope.org/mailman/listinfo/zope )


tseaver at palladion

Jun 30, 2009, 11:35 AM

Post #10 of 28 (1221 views)
Permalink
Re: How to test changes to ZTK packages? [In reply to]

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Tim Hoffman wrote:
> I have to chime in here too
>
> lxml is a real pain and seems to be problematic to get a straightforward
> build for packages other than ZTK as well. I have had varying success
> building lxml even under ubuntu - success seems to be dependant on the type
> of build defined.

While I know that Mac people often report problems building lxml, I
never have issues building lxml on Linux: the '--static-deps' option is
a sufficient workaround for variants with too-old versions of libxml2 /
libxslt.


Tres.
- --
===================================================================
Tres Seaver +1 540-429-0999 tseaver[at]palladion.com
Palladion Software "Excellence by Design" http://palladion.com
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFKSlrV+gerLs4ltQ4RAryqAKCVy3gazZEqD8Vm23B79HCTRGDZFgCaAyfe
W8I7h3fmNafq6lQOjV3GZ8c=
=QLYw
-----END PGP SIGNATURE-----

_______________________________________________
Zope-Dev maillist - Zope-Dev[at]zope.org
http://mail.zope.org/mailman/listinfo/zope-dev
** No cross posts or HTML encoding! **
(Related lists -
http://mail.zope.org/mailman/listinfo/zope-announce
http://mail.zope.org/mailman/listinfo/zope )


tseaver at palladion

Jun 30, 2009, 11:41 AM

Post #11 of 28 (1221 views)
Permalink
Re: How to test changes to ZTK packages? [In reply to]

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Jim Fulton wrote:
> I should know this, but I don't. What is the recommended way to test
> changes to core ZTK packages to mitigate the risk that changes affect
> other packages? Is there a page somewhere with instructions?
>
> I tried using using zope.release. Building the trunk of zope.release
> with Python 2.4 and running the tests gives lots of test import errors
> and test failures. (Lots of tests want to import z3c.pt.) The tests
> hang when I try to build and run with Python 2.6.
>
> BTW, zope.release wants lxml, which is a real pain on Mac OS X and
> Centos 4. Does the ZTK really need to depend on lxml?

IMO, Any ZTK package should be testable via plain 'python2.{5,6}
setup.py test'. If that doesn't get the testing dependencies installed,
then they should be added.

There is a recipe for testing *other* packages which might be affected
by changes to the package-under-development:

http://pypi.python.org/pypi/z3c.recipe.compattest

I don't know how to supply the set of dependents to that recipe
(something in the buildout config file, I guess).



Tres.
- --
===================================================================
Tres Seaver +1 540-429-0999 tseaver[at]palladion.com
Palladion Software "Excellence by Design" http://palladion.com
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFKSlxt+gerLs4ltQ4RAgSeAKC41QMLihHrD9JcwmEmXeojL/4kMwCeLEfH
ltQDJ4vxrQQH3xBuj8w3uV0=
=7xZ4
-----END PGP SIGNATURE-----

_______________________________________________
Zope-Dev maillist - Zope-Dev[at]zope.org
http://mail.zope.org/mailman/listinfo/zope-dev
** No cross posts or HTML encoding! **
(Related lists -
http://mail.zope.org/mailman/listinfo/zope-announce
http://mail.zope.org/mailman/listinfo/zope )


jim at zope

Jun 30, 2009, 1:55 PM

Post #12 of 28 (1218 views)
Permalink
Re: How to test changes to ZTK packages? [In reply to]

On Jun 30, 2009, at 1:03 PM, Stephan Richter wrote:
...
> I am running the tests as I am writing this. So far I got one failure:
>
> Traceback (most recent call last):
> File "/opt/zope/packages/eggs/z3c.macro-1.2.1-py2.5.egg/z3c/macro/
> tests.py",
> line 29, in <module>
> import z3c.pt
> ImportError: No module named pt
>
> I'll report the full output when it is done.


Any news? Or did it hang? (It hangs for me with Pythonj 2.6.)

Jim

--
Jim Fulton
Zope Corporation


_______________________________________________
Zope-Dev maillist - Zope-Dev[at]zope.org
http://mail.zope.org/mailman/listinfo/zope-dev
** No cross posts or HTML encoding! **
(Related lists -
http://mail.zope.org/mailman/listinfo/zope-announce
http://mail.zope.org/mailman/listinfo/zope )


jim at zope

Jun 30, 2009, 2:47 PM

Post #13 of 28 (1217 views)
Permalink
Re: How to test changes to ZTK packages? [In reply to]

On Jun 30, 2009, at 1:04 PM, Stephan Richter wrote:

> On Tuesday 30 June 2009, Stephan Richter wrote:
>> I'll report the full output when it is done.
>
> And here it is.


OK, this sorta looks like what I got with Python 2.4. It probably
would have been good enough to say "yeah, I get lots of errors too." :)

So basically, this *is* how we're supposed to run tests and we're in
bad shape,

Given that this locks down versions, wouldn't it make more sense to
not check in configurations with failing (or hanging) tests?

Jim

--
Jim Fulton
Zope Corporation


_______________________________________________
Zope-Dev maillist - Zope-Dev[at]zope.org
http://mail.zope.org/mailman/listinfo/zope-dev
** No cross posts or HTML encoding! **
(Related lists -
http://mail.zope.org/mailman/listinfo/zope-announce
http://mail.zope.org/mailman/listinfo/zope )


srichter at cosmos

Jun 30, 2009, 4:25 PM

Post #14 of 28 (1214 views)
Permalink
Re: How to test changes to ZTK packages? [In reply to]

On Tuesday 30 June 2009, Jim Fulton wrote:
> > And here it is.
>
> OK, this sorta looks like what I got with Python 2.4. It probably
> would have been good enough to say "yeah, I get lots of errors too." :)

Sorry! ;-)

> So basically, this is how we're supposed to run tests and we're in
> bad shape,

Yes.

> Given that this locks down versions, wouldn't it make more sense to
> not check in configurations with failing (or hanging) tests?

That's probably not a bad idea. I think we should make that a rule.

Regards,
Stephan
--
Entrepreneur and Software Geek
Google me. "Zope Stephan Richter"
_______________________________________________
Zope-Dev maillist - Zope-Dev[at]zope.org
http://mail.zope.org/mailman/listinfo/zope-dev
** No cross posts or HTML encoding! **
(Related lists -
http://mail.zope.org/mailman/listinfo/zope-announce
http://mail.zope.org/mailman/listinfo/zope )


ws at gocept

Jun 30, 2009, 10:08 PM

Post #15 of 28 (1210 views)
Permalink
Re: How to test changes to ZTK packages? [In reply to]

* Tres Seaver <tseaver[at]palladion.com> [2009-06-30 20:41]:
> Jim Fulton wrote:
>> I should know this, but I don't. What is the recommended way to test
>> changes to core ZTK packages to mitigate the risk that changes affect
>> other packages? Is there a page somewhere with instructions?
>>
>> I tried using using zope.release. Building the trunk of zope.release
>> with Python 2.4 and running the tests gives lots of test import errors
>> and test failures. (Lots of tests want to import z3c.pt.) The tests
>> hang when I try to build and run with Python 2.6.
>
> There is a recipe for testing *other* packages which might be affected
> by changes to the package-under-development:
> http://pypi.python.org/pypi/z3c.recipe.compattest

This recipe was written at the Grok dependency-cleanup sprint in January
with exactly the purpose Jim talks about: testing packages against each
other to make sure changes in one don't adversely affect the others.

I haven't studied zope.release closely yet, but I think testing-wise it
does quite a similar thing, namely running tests for a set of packages.

The difference is that compattest uses either pinned version from
buildout (but doesn't supply its own list of pins), or alternatively
trunk checkouts. Also, it seems to be more lightweight than zope.release
both in concept and in usage (mostly since it only does one thing,
namely running tests, and not other release management stuff like
creating tarballs and uploading them etc.), but I'm biased since I'm one
of the compattest authors.

For the record, the usage is
1. add it to your buildout, minimally like so:
[compattest]
recipe = z3c.recipe.compattest
2. run bin/compattest
3. there is no step three. ;-)

> I don't know how to supply the set of dependents to that recipe
> (something in the buildout config file, I guess).

You can specify include and exclude options; the default is to include a
list of zope.* packages that we pulled out of thin air at the sprint,
it'd probably be better to use the KGS as a default instead -- but that
would duplicate even more zope.release functionality.

I think it would be useful to standardize on *one* compatibility testing
method for the ZTK (and then document it).

My instinct would be to separate KGS handling from tarball creation from
testing, that is, remove the test-business from zope.release and use the
compattest recipe instead. (Alternatively, retire compattest and have
zope.release gain the ability to use trunks so it could be used for
continuous integration purposes as well -- but that doesn't feel quite
right, to be honest)

Thoughts?

Wolfgang

_______________________________________________
Zope-Dev maillist - Zope-Dev[at]zope.org
http://mail.zope.org/mailman/listinfo/zope-dev
** No cross posts or HTML encoding! **
(Related lists -
http://mail.zope.org/mailman/listinfo/zope-announce
http://mail.zope.org/mailman/listinfo/zope )


hanno at hannosch

Jul 1, 2009, 1:55 AM

Post #16 of 28 (1206 views)
Permalink
Re: How to test changes to ZTK packages? [In reply to]

On Wed, Jul 1, 2009 at 7:08 AM, Wolfgang Schnerring<ws[at]gocept.com> wrote:
> I think it would be useful to standardize on *one* compatibility testing
> method for the ZTK (and then document it).

I think it would be good if someone actually would define what the ZTK
includes in terms of packages ;)

zope.release currently defines some megalomanic set of all zope, z3c
and bunch of other things. Some of the z3c packages require lxml which
has been seen as a bit tedious to deal with. I don't know when all
tests for all packages in zope.release have passed last, but I suspect
that has been quite a while for its current trunk.

I can still offer
http://svn.zope.org/Zope/trunk/versions.cfg?view=markup as a base for
a technical definition. That list uses all the latest versions of all
packages available on PyPi and I keep it updated for now, as there's
no other place where I could get a current ZTK KGS definition from. It
includes all packages that are required by Zope2 to both run it and
run all of its tests including all tests for all transitive
dependencies.

Cheers,
Hanno
_______________________________________________
Zope-Dev maillist - Zope-Dev[at]zope.org
http://mail.zope.org/mailman/listinfo/zope-dev
** No cross posts or HTML encoding! **
(Related lists -
http://mail.zope.org/mailman/listinfo/zope-announce
http://mail.zope.org/mailman/listinfo/zope )


jim at zope

Jul 1, 2009, 2:08 AM

Post #17 of 28 (1202 views)
Permalink
Re: How to test changes to ZTK packages? [In reply to]

On Jun 30, 2009, at 2:41 PM, Tres Seaver wrote:
...
> IMO, Any ZTK package should be testable via plain 'python2.{5,6}
> setup.py test'. If that doesn't get the testing dependencies
> installed,
> then they should be added.
>
> There is a recipe for testing *other* packages which might be affected
> by changes to the package-under-development:
>
> http://pypi.python.org/pypi/z3c.recipe.compattest
>
> I don't know how to supply the set of dependents to that recipe
> (something in the buildout config file, I guess).


Thanks, I missed this yesterday. Just noticed it when I saw the replies.

Jim

--
Jim Fulton
Zope Corporation


_______________________________________________
Zope-Dev maillist - Zope-Dev[at]zope.org
http://mail.zope.org/mailman/listinfo/zope-dev
** No cross posts or HTML encoding! **
(Related lists -
http://mail.zope.org/mailman/listinfo/zope-announce
http://mail.zope.org/mailman/listinfo/zope )


jim at zope

Jul 1, 2009, 2:12 AM

Post #18 of 28 (1199 views)
Permalink
Re: How to test changes to ZTK packages? [In reply to]

On Jul 1, 2009, at 1:08 AM, Wolfgang Schnerring wrote:

> * Tres Seaver <tseaver[at]palladion.com> [2009-06-30 20:41]:
>> Jim Fulton wrote:
>>> I should know this, but I don't. What is the recommended way to
>>> test
>>> changes to core ZTK packages to mitigate the risk that changes
>>> affect
>>> other packages? Is there a page somewhere with instructions?
>>>
>>> I tried using using zope.release. Building the trunk of
>>> zope.release
>>> with Python 2.4 and running the tests gives lots of test import
>>> errors
>>> and test failures. (Lots of tests want to import z3c.pt.) The tests
>>> hang when I try to build and run with Python 2.6.
>>
>> There is a recipe for testing *other* packages which might be
>> affected
>> by changes to the package-under-development:
>> http://pypi.python.org/pypi/z3c.recipe.compattest
>
> This recipe was written at the Grok dependency-cleanup sprint in
> January
> with exactly the purpose Jim talks about: testing packages against
> each
> other to make sure changes in one don't adversely affect the others.
>
> I haven't studied zope.release closely yet, but I think testing-wise
> it
> does quite a similar thing, namely running tests for a set of
> packages.
>
> The difference is that compattest uses either pinned version from
> buildout (but doesn't supply its own list of pins), or alternatively
> trunk checkouts. Also, it seems to be more lightweight than
> zope.release
> both in concept and in usage (mostly since it only does one thing,
> namely running tests, and not other release management stuff like
> creating tarballs and uploading them etc.), but I'm biased since I'm
> one
> of the compattest authors.
>
> For the record, the usage is
> 1. add it to your buildout, minimally like so:
> [compattest]
> recipe = z3c.recipe.compattest
> 2. run bin/compattest
> 3. there is no step three. ;-)
>
>> I don't know how to supply the set of dependents to that recipe
>> (something in the buildout config file, I guess).
>
> You can specify include and exclude options; the default is to
> include a
> list of zope.* packages that we pulled out of thin air at the sprint,
> it'd probably be better to use the KGS as a default instead -- but
> that
> would duplicate even more zope.release functionality.

Where is this list? In the recipe?

> I think it would be useful to standardize on *one* compatibility
> testing
> method for the ZTK (and then document it).

Yes.

> My instinct would be to separate KGS handling from tarball creation
> from
> testing, that is, remove the test-business from zope.release and use
> the
> compattest recipe instead. (Alternatively, retire compattest and have
> zope.release gain the ability to use trunks so it could be used for
> continuous integration purposes as well -- but that doesn't feel quite
> right, to be honest)
>
> Thoughts?


I agree we need one way to do this. I think the KGS concept is right.
I think there should be a known good configuration of packages and a
way to evolve it. The configuration should be changed only after
testing changes. The configuration needs to include Python versions
that it is tested with. Beyond that, I don't care what the process is
as long as it is documented.

Jim

--
Jim Fulton
Zope Corporation


_______________________________________________
Zope-Dev maillist - Zope-Dev[at]zope.org
http://mail.zope.org/mailman/listinfo/zope-dev
** No cross posts or HTML encoding! **
(Related lists -
http://mail.zope.org/mailman/listinfo/zope-announce
http://mail.zope.org/mailman/listinfo/zope )


jim at zope

Jul 1, 2009, 3:12 AM

Post #19 of 28 (1197 views)
Permalink
Re: How to test changes to ZTK packages? [In reply to]

On Jul 1, 2009, at 1:08 AM, Wolfgang Schnerring wrote:

> * Tres Seaver <tseaver[at]palladion.com> [2009-06-30 20:41]:
>> Jim Fulton wrote:
>>> I should know this, but I don't. What is the recommended way to
>>> test
>>> changes to core ZTK packages to mitigate the risk that changes
>>> affect
>>> other packages? Is there a page somewhere with instructions?
>>>
>>> I tried using using zope.release. Building the trunk of
>>> zope.release
>>> with Python 2.4 and running the tests gives lots of test import
>>> errors
>>> and test failures. (Lots of tests want to import z3c.pt.) The tests
>>> hang when I try to build and run with Python 2.6.
>>
>> There is a recipe for testing *other* packages which might be
>> affected
>> by changes to the package-under-development:
>> http://pypi.python.org/pypi/z3c.recipe.compattest
>
> This recipe was written at the Grok dependency-cleanup sprint in
> January
> with exactly the purpose Jim talks about: testing packages against
> each
> other to make sure changes in one don't adversely affect the others.
>
> I haven't studied zope.release closely yet, but I think testing-wise
> it
> does quite a similar thing, namely running tests for a set of
> packages.
>
> The difference is that compattest uses either pinned version from
> buildout (but doesn't supply its own list of pins), or alternatively
> trunk checkouts.

So it provides no good configuration to test against. This is a fatal
flaw IMO.


> Also, it seems to be more lightweight than zope.release
> both in concept and in usage (mostly since it only does one thing,
> namely running tests, and not other release management stuff like
> creating tarballs and uploading them etc.), but I'm biased since I'm
> one
> of the compattest authors.
>
> For the record, the usage is
> 1. add it to your buildout, minimally like so:
> [compattest]
> recipe = z3c.recipe.compattest
> 2. run bin/compattest
> 3. there is no step three. ;-)

I tried this with the current trunk of zope.app.publisher, which I'm
about to modify. I added a compattest part:

[compattest]
recipe = z3c.recipe.compattest

I didn't get bin/compattest, but I did get bin/test_compattest. When
I run this, I get lots and lots of errors. :( I could attach them,
but what's the point?

>> I don't know how to supply the set of dependents to that recipe
>> (something in the buildout config file, I guess).
>
> You can specify include and exclude options; the default is to
> include a
> list of zope.* packages that we pulled out of thin air at the sprint,
> it'd probably be better to use the KGS as a default instead -- but
> that
> would duplicate even more zope.release functionality.
>
> I think it would be useful to standardize on *one* compatibility
> testing
> method for the ZTK (and then document it).
>
> My instinct would be to separate KGS handling from tarball creation
> from
> testing, that is, remove the test-business from zope.release and use
> the
> compattest recipe instead. (Alternatively, retire compattest and have
> zope.release gain the ability to use trunks so it could be used for
> continuous integration purposes as well -- but that doesn't feel quite
> right, to be honest)
>
> Thoughts?


I'm kind of stuck at this point. The KGS approach seems most promising
because it is based on the idea of a known working configuration. It
is still baffling to me that people checked version numbers into the
trunk of zope.release that don't pass tests. (Many of the packages
there don't even run their tests.)

Jim

--
Jim Fulton
Zope Corporation


_______________________________________________
Zope-Dev maillist - Zope-Dev[at]zope.org
http://mail.zope.org/mailman/listinfo/zope-dev
** No cross posts or HTML encoding! **
(Related lists -
http://mail.zope.org/mailman/listinfo/zope-announce
http://mail.zope.org/mailman/listinfo/zope )


jim at zope

Jul 1, 2009, 3:18 AM

Post #20 of 28 (1199 views)
Permalink
Re: How to test changes to ZTK packages? [In reply to]

On Jun 30, 2009, at 7:25 PM, Stephan Richter wrote:
>> Given that this locks down versions, wouldn't it make more sense to
>> not check in configurations with failing (or hanging) tests?
>
> That's probably not a bad idea. I think we should make that a rule.


So, I wonder if there is a previous revision of the trunk for which
the tests pass for some version of Python. I guess I'll try to
discover that.

It's a bit mysterious that there are packages for which tests don't
even run.

Jim

--
Jim Fulton
Zope Corporation


_______________________________________________
Zope-Dev maillist - Zope-Dev[at]zope.org
http://mail.zope.org/mailman/listinfo/zope-dev
** No cross posts or HTML encoding! **
(Related lists -
http://mail.zope.org/mailman/listinfo/zope-announce
http://mail.zope.org/mailman/listinfo/zope )


optilude+lists at gmail

Jul 1, 2009, 5:47 AM

Post #21 of 28 (1198 views)
Permalink
Re: How to test changes to ZTK packages? [In reply to]

Wichert Akkerman wrote:
> On 6/30/09 7:03 PM, Stephan Richter wrote:
>> It is needed for the "latest-versions" script as this parses XML. I consider
>> lxml pretty much the standard tool to do XML in Python these days. Who is not
>> using lxml?
>
> I suspect the majority of people who use OSX as their main platform try
> to stay as far away from lxml as possible. Not because lxml is bad, but
> because unless you use special magic it will make your python randomly
> segfault. This is very sad, and it is not lxml's fault but I see no good
> solution at this moment.

There is a good solution: binary eggs. lxml already does this for
Windows, and we're about to get them for OS X. So I think lxml will
again become a reasonable thing to depend on. Which is important,
because it's a very good library.

> Using z3c.recipe.staticlxml recipe helps a bit for people using
> buildout, but that is not everyone and even then I have seen random
> segfaults.

I've never seen errors with a static build (although I've seen the
recipe fail to remove a non-static egg in a shared eggs cache). Maybe
I'm lucky. :)

Martin

--
Author of `Professional Plone Development`, a book for developers who
want to work with Plone. See http://martinaspeli.net/plone-book

_______________________________________________
Zope-Dev maillist - Zope-Dev[at]zope.org
http://mail.zope.org/mailman/listinfo/zope-dev
** No cross posts or HTML encoding! **
(Related lists -
http://mail.zope.org/mailman/listinfo/zope-announce
http://mail.zope.org/mailman/listinfo/zope )


jim at zope

Jul 1, 2009, 8:48 AM

Post #22 of 28 (1186 views)
Permalink
Re: How to test changes to ZTK packages? [In reply to]

On Jun 30, 2009, at 10:14 AM, Stephan Richter wrote:

> On Tuesday 30 June 2009, Jim Fulton wrote:
>> I should know this, but I don't. What is the recommended way to test
>> changes to core ZTK packages to mitigate the risk that changes affect
>> other packages? Is there a page somewhere with instructions?
>>
>> I tried using using zope.release. Building the trunk of zope.release
>> with Python 2.4 and running the tests gives lots of test import
>> errors
>> and test failures. (Lots of tests want to import z3c.pt.) The tests
>> hang when I try to build and run with Python 2.6.
>
> Yes, I think testing with zope.release is a good way of doing this
> right now.


What is the difference between zope.release and zope.kgs? Is the
latter a fossil? Does it need to go away?

Why does zope.release have a 2-step build process? Perhaps naively,
it seems that one could define a simple project that defined a test
script over a "known good set" of projects. Is the 2-step process a
consequence of maintaining the index or tar ball? (I'm not
criticizing, I'm just trying to understand.)

Jim

--
Jim Fulton
Zope Corporation


_______________________________________________
Zope-Dev maillist - Zope-Dev[at]zope.org
http://mail.zope.org/mailman/listinfo/zope-dev
** No cross posts or HTML encoding! **
(Related lists -
http://mail.zope.org/mailman/listinfo/zope-announce
http://mail.zope.org/mailman/listinfo/zope )


srichter at cosmos

Jul 1, 2009, 10:42 AM

Post #23 of 28 (1177 views)
Permalink
Re: How to test changes to ZTK packages? [In reply to]

On Wednesday 01 July 2009, Jim Fulton wrote:
> What is the difference between zope.release and zope.kgs? Is the
> latter a fossil? Does it need to go away?

zope.kgs is the software and zope.release is the management of the Zope 3 KGS.
So a Grok KGS would use zope.kgs but not zope.release.

> Why does zope.release have a 2-step build process? Perhaps naively,
> it seems that one could define a simple project that defined a test
> script over a "known good set" of projects. Is the 2-step process a
> consequence of maintaining the index or tar ball? (I'm not
> criticizing, I'm just trying to understand.)

I have been bothered by this before, but not enough to fix it. Basically, It
could easily be one step.

The two steps stem from the fact that you have a KGS file from which you
produce all sorts of interesting artifacts. The test setup is one such
artifact. you then use the artifact. Of course, for convenience one step would
be fine. Maybe it is even a PITA in zope.release.

Regards,
Stephan
--
Entrepreneur and Software Geek
Google me. "Zope Stephan Richter"
_______________________________________________
Zope-Dev maillist - Zope-Dev[at]zope.org
http://mail.zope.org/mailman/listinfo/zope-dev
** No cross posts or HTML encoding! **
(Related lists -
http://mail.zope.org/mailman/listinfo/zope-announce
http://mail.zope.org/mailman/listinfo/zope )


jim at zope

Jul 1, 2009, 1:35 PM

Post #24 of 28 (1167 views)
Permalink
Re: How to test changes to ZTK packages? [In reply to]

On Jul 1, 2009, at 1:42 PM, Stephan Richter wrote:

> On Wednesday 01 July 2009, Jim Fulton wrote:
>> What is the difference between zope.release and zope.kgs? Is the
>> latter a fossil? Does it need to go away?
>
> zope.kgs is the software and zope.release is the management of the
> Zope 3 KGS.
> So a Grok KGS would use zope.kgs but not zope.release.
>
>> Why does zope.release have a 2-step build process? Perhaps naively,
>> it seems that one could define a simple project that defined a test
>> script over a "known good set" of projects. Is the 2-step process a
>> consequence of maintaining the index or tar ball? (I'm not
>> criticizing, I'm just trying to understand.)
>
> I have been bothered by this before, but not enough to fix it.
> Basically, It
> could easily be one step.
>
> The two steps stem from the fact that you have a KGS file from which
> you
> produce all sorts of interesting artifacts. The test setup is one such
> artifact. you then use the artifact. Of course, for convenience one
> step would
> be fine. Maybe it is even a PITA in zope.release.


OK, well, I'll try to sort this out using zope.release. Wish me
luck. :)

Jim

--
Jim Fulton
Zope Corporation


_______________________________________________
Zope-Dev maillist - Zope-Dev[at]zope.org
http://mail.zope.org/mailman/listinfo/zope-dev
** No cross posts or HTML encoding! **
(Related lists -
http://mail.zope.org/mailman/listinfo/zope-announce
http://mail.zope.org/mailman/listinfo/zope )


timothywayne.cook at gmail

Jul 5, 2009, 9:58 AM

Post #25 of 28 (968 views)
Permalink
Re: How to test changes to ZTK packages? [In reply to]

On Tue, 2009-06-30 at 14:35 -0400, Tres Seaver wrote:

> While I know that Mac people often report problems building lxml, I
> never have issues building lxml on Linux: the '--static-deps' option is
> a sufficient workaround for variants with too-old versions of libxml2 /
> libxslt.

I do not know what platform you are running but I have had my share of
frustrations with lxml on Fedora and Ubuntu on x86_64.

--Tim



--
Timothy Cook, MSc
Health Informatics Research & Development Services
LinkedIn Profile:http://www.linkedin.com/in/timothywaynecook
Skype ID == timothy.cook
**************************************************************
*You may get my Public GPG key from popular keyservers or *
*from this link http://timothywayne.cook.googlepages.com/home*
**************************************************************
Attachments: signature.asc (0.19 KB)

First page Previous page 1 2 Next page Last page  View All Zope dev RSS feed   Index | Next | Previous | View Threaded
 
 


Interested in having your list archived? Contact lists@gossamer-threads.com
 
  Web Applications & Managed Hosting Powered by Gossamer Threads Inc.