Re: AW: AW: [Zope3-dev] zope.app.securitypolicy deferred imports errors.

2007-10-02 Thread Jim Fulton


On Oct 2, 2007, at 9:24 AM, Roger Ineichen wrote:


Hi Jim,


Betreff: Re: AW: [Zope3-dev] zope.app.securitypolicy deferred
imports errors.


[...]


Yes, please do.  It's up to people making changes to use some
judgement.  I mentioned in that thread that when I make changes to
"core" components, I often do test against the old trunk tree.
Despite all of your complaints about the need to do this, you didn't.


That's not true. I did test the package against the trunk.
But the problem was, I also adjusted the imports in the packages.


hehe.  This sort of practice makes any arguments for testing against  
the "trunk" kind of meaningless.




What I was missing is to run the tests against a older version of
the trunk.


So perhaps now you want people to test against old versions of the  
trunk?  How many old versions?


A better approach would have been to add backward compatibility tests  
for each backward-compatibility support change you made, as Lennart  
suggested.  Even then, to be more sure that you caught everything,  
you should have made the changes in two stages:


1. Refactor the package in question providing backward compatibility  
support, including tests of that support.  Test against other  
unchanged packages.


2. Then change the other packages is you must.

...


I know there is no difference between the old trunk and the new egg
development testing. This error whould also happen to me if I where
doing it in the old trunk setup. My problem was not test my work
against a older version of the trunk. Or like Lennart told,
the missing tests for integration (import changes).


The latter.  The 2-step process that we've used in the past would  
also have helped.





I personaly think, less test -- more errors.


So test! What's stopping you?  The old tree is still available!


The crapy "do it by your self test setup" is stopping me really
hard or at least slowing me down right now more then the it should.


Maybe it should slow you down more.


It's not easy to follow all the ideas behind egg, setuptools,
easy_install, buildout in such a speed like we changed to this
patterns. I agree "Speed kills", but I think switch to eggs
force us to "take it all or nothing".


We probably do need more formalized testing/release methodologies. As  
I'm sure Tres and others will rightly point out, there's probably a  
lot we can learn in this area from linux distributors.  In the mean  
time, changing packages that lots of other people depend on requires  
judgement and care.  If you don't think you're up to it, then don't  
try it.


Jim

--
Jim Fulton
Zope Corporation


___
Zope3-dev mailing list
Zope3-dev@zope.org
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com



AW: AW: [Zope3-dev] zope.app.securitypolicy deferred imports errors.

2007-10-02 Thread Roger Ineichen
Hi Jim,

> Betreff: Re: AW: [Zope3-dev] zope.app.securitypolicy deferred 
> imports errors.

[...]

> Yes, please do.  It's up to people making changes to use some 
> judgement.  I mentioned in that thread that when I make changes to  
> "core" components, I often do test against the old trunk tree.   
> Despite all of your complaints about the need to do this, you didn't.

That's not true. I did test the package against the trunk.
But the problem was, I also adjusted the imports in the packages.

What I was missing is to run the tests against a older version of
the trunk.

[...]

> Most people aren't changing these components. Nevertheless, we still  
> have the old tree available for testing. We didn't lose anything.

I can agree with, we didn't loose anything. So let's say it's not
just there anymore.

> > And this is a very bad idea. If we don't recommend to run
> > all tests again form a single egg refactoring, we will
> > see more errors like this.
> 
> Don't you think it's a little hypocritical bemoaning that we're not  
> doing this when you don't do it yourself?

Again, I did run the tests against the runk, but I didn't recognize
that I should test my changes against a older version of packages.

Probably I'm not that smart to take care on everything and was
trusting on testing to much ;-)

I know there is no difference between the old trunk and the new egg 
development testing. This error whould also happen to me if I where 
doing it in the old trunk setup. My problem was not test my work 
against a older version of the trunk. Or like Lennart told,
the missing tests for integration (import changes).

> > I personaly think, less test -- more errors.
> 
> So test! What's stopping you?  The old tree is still available!

The crapy "do it by your self test setup" is stopping me really 
hard or at least slowing me down right now more then the it should. 

It's not easy to follow all the ideas behind egg, setuptools,
easy_install, buildout in such a speed like we changed to this
patterns. I agree "Speed kills", but I think switch to eggs 
force us to "take it all or nothing".

Regards
Roger Ineichen

[...]

> Jim
> 
> --
> Jim Fulton
> Zope Corporation
> 
> 
> ___
> Zope3-dev mailing list
> Zope3-dev@zope.org
> Unsub: 
> http://mail.zope.org/mailman/options/zope3-dev/dev%40projekt01.ch
> 
> 

___
Zope3-dev mailing list
Zope3-dev@zope.org
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com



Re: AW: [Zope3-dev] zope.app.securitypolicy deferred imports errors.

2007-10-02 Thread Jim Fulton


On Oct 2, 2007, at 6:03 AM, Roger Ineichen wrote:


Hi Lennart


Betreff: [Zope3-dev] zope.app.securitypolicy deferred imports errors.

Roger Inechens split of zope.app.securitypolicy into
zope.securitypolicy cause loads of problems, because many of
the deferred imports were incorrect. I saw Stefan Richter
fixed some, and I have fixed some more.


Yes you are right


First somebody that can make releases (which may or may not
include me, I honestly don't know who can make releases of
eggs) needs to make a new one. But we also need to avoid this
stuff in the future.


Yes, we always have to avoid errors, but sometimes it happens.
And since we dont test against the trunk, we don't see this
kind of errors anymore. This means we test against custom
projects. I didn't fully recognize this and was trusting the
tests. But I was wrong. We don't have tests for this anymore.
We probably didn't have test for my error at all.

In other words; Right now we only test if a egg works
within their dependency. But we don't test other eggs
if they work with the egg we develop.


See all my different mails about this topic!


Yes, please do.  It's up to people making changes to use some  
judgement.  I mentioned in that thread that when I make changes to  
"core" components, I often do test against the old trunk tree.   
Despite all of your complaints about the need to do this, you didn't.





How is the recommended process to solve this? Some sort of
unittest to make sure the deferred impoirt work? Is there an
example of this somewhere?


I'm proposing to test against a set of possible breaking
stuff. This means we need a kind of zope3 trunk egg which
our test will deoend on.


As I mentioned in the thread you want us to pay attention to, this  
isn't necessary.  In fact, I doubt it would be useful.  I think we  
need a Zope 3 application buildout that builds the traditional Zope 3  
app. You can then introduce a develop egg for the package you are  
changing there.  In the mean time, all you need is a trunk checkout  
and, possibly, to adjust an external. (I don't remember how the  
externals are set up there.)



See the mails form Stpehan Richter about that. Jim also
agrees on that but is thinking this should be optional
as far as I understand the mails between Stephan and Jim.

We defently lost the overall tests we had in the trunk setup.


Most people aren't changing these components. Nevertheless, we still  
have the old tree available for testing. We didn't lose anything.



And this is a very bad idea. If we don't recommend to run
all tests again form a single egg refactoring, we will
see more errors like this.


Don't you think it's a little hypocritical bemoaning that we're not  
doing this when you don't do it yourself?


...


I personaly think, less test -- more errors.


So test! What's stopping you?  The old tree is still available!

If someone wants to make this better, a working Zope 3 application  
buildout would help a lot.  I doubt it would be that hard to finish  
at this point.


Jim

--
Jim Fulton
Zope Corporation


___
Zope3-dev mailing list
Zope3-dev@zope.org
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com



Re: [Zope3-dev] zope.app.securitypolicy deferred imports errors.

2007-10-02 Thread Lennart Regebro
On 10/2/07, Roger Ineichen <[EMAIL PROTECTED]> wrote:
> In other words; Right now we only test if a egg works
> within their dependency. But we don't test other eggs
> if they work with the egg we develop.

Well, first of all we need tests in the modules that the deferred import works.

-- 
Lennart Regebro: Zope and Plone consulting.
http://www.colliberty.com/
+33 661 58 14 64
___
Zope3-dev mailing list
Zope3-dev@zope.org
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com



AW: [Zope3-dev] zope.app.securitypolicy deferred imports errors.

2007-10-02 Thread Roger Ineichen
Hi Lennart
 
> Betreff: [Zope3-dev] zope.app.securitypolicy deferred imports errors.
> 
> Roger Inechens split of zope.app.securitypolicy into 
> zope.securitypolicy cause loads of problems, because many of 
> the deferred imports were incorrect. I saw Stefan Richter 
> fixed some, and I have fixed some more.

Yes you are right

> First somebody that can make releases (which may or may not 
> include me, I honestly don't know who can make releases of 
> eggs) needs to make a new one. But we also need to avoid this 
> stuff in the future.

Yes, we always have to avoid errors, but sometimes it happens.
And since we dont test against the trunk, we don't see this
kind of errors anymore. This means we test against custom 
projects. I didn't fully recognize this and was trusting the 
tests. But I was wrong. We don't have tests for this anymore.
We probably didn't have test for my error at all. 

In other words; Right now we only test if a egg works
within their dependency. But we don't test other eggs
if they work with the egg we develop.


See all my different mails about this topic!

> How is the recommended process to solve this? Some sort of 
> unittest to make sure the deferred impoirt work? Is there an 
> example of this somewhere?

I'm proposing to test against a set of possible breaking
stuff. This means we need a kind of zope3 trunk egg which 
our test will deoend on.

See the mails form Stpehan Richter about that. Jim also 
agrees on that but is thinking this should be optional
as far as I understand the mails between Stephan and Jim.


We defently lost the overall tests we had in the trunk setup.
And this is a very bad idea. If we don't recommend to run
all tests again form a single egg refactoring, we will 
see more errors like this.

Some of us are thinking about to automate this
tests with buildbot. But this tests will only test released 
packages which is also bad. I think the only way to automate
such tests can be supported by a staging server.

I personaly think, less test -- more errors.
Even if we try hard to avoid errors during development.

Regards
Roger Ineichen


> --
> Lennart Regebro: Zope and Plone consulting.
> http://www.colliberty.com/
> +33 661 58 14 64
> ___
> Zope3-dev mailing list
> Zope3-dev@zope.org
> Unsub: 
> http://mail.zope.org/mailman/options/zope3-dev/dev%40projekt01.ch
> 
> 

___
Zope3-dev mailing list
Zope3-dev@zope.org
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com



[Zope3-dev] zope.app.securitypolicy deferred imports errors.

2007-10-02 Thread Lennart Regebro
Roger Inechens split of zope.app.securitypolicy into
zope.securitypolicy cause loads of problems, because many of the
deferred imports were incorrect. I saw Stefan Richter fixed some, and
I have fixed some more.

First somebody that can make releases (which may or may not include
me, I honestly don't know who can make releases of eggs) needs to make
a new one. But we also need to avoid this stuff in the future.

How is the recommended process to solve this? Some sort of unittest to
make sure the deferred impoirt work? Is there an example of this
somewhere?

-- 
Lennart Regebro: Zope and Plone consulting.
http://www.colliberty.com/
+33 661 58 14 64
___
Zope3-dev mailing list
Zope3-dev@zope.org
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com