[openstack-dev] [QA] The future of nosetests with Tempest
dkranz at redhat.com
Fri Jan 17 15:52:17 UTC 2014
On 01/17/2014 10:34 AM, Matthew Treinish wrote:
> On Fri, Jan 17, 2014 at 08:32:19AM -0500, David Kranz wrote:
>> On 01/16/2014 10:56 PM, Matthew Treinish wrote:
>>> Hi everyone,
>>> With some recent changes made to Tempest compatibility with nosetests is going
>>> away. We've started using newer features that nose just doesn't support. One
>>> example of this is that we've started using testscenarios and we're planning to
>>> do this in more places moving forward.
>>> So at Icehouse-3 I'm planning to push the patch out to remove nosetests from the
>>> requirements list and all the workarounds and references to nose will be pulled
>>> out of the tree. Tempest will also start raising an unsupported exception when
>>> you try to run it with nose so that there isn't any confusion on this moving
>>> forward. We talked about doing this at summit briefly and I've brought it up a
>>> couple of times before, but I believe it is time to do this now. I feel for
>>> tempest to move forward we need to do this now so that there isn't any ambiguity
>>> as we add even more features and new types of testing.
>> I'm with you up to here.
>>> Now, this will have implications for people running tempest with python 2.6
>>> since up until now we've set nosetests. There is a workaround for getting
>>> tempest to run with python 2.6 and testr see:
>>> but essentially this means that when nose is marked as unsupported on tempest
>>> python 2.6 will also be unsupported by Tempest. (which honestly it basically has
>>> been for while now just we've gone without making it official)
>> The way we handle different runners/os can be categorized as "tested
>> in gate", "unsupported" (should work, possibly some hacks needed),
>> and "hostile". At present, both nose and py2.6 I would say are in
>> the unsupported category. The title of this message and the content
>> up to here says we are moving nose to the hostile category. With
>> only 2 months to feature freeze I see no justification in moving
>> py2.6 to the hostile category. I don't see what new testing features
>> scheduled for the next two months will be enabled by saying that
>> tempest cannot and will not run on 2.6. It has been agreed I think
>> by all projects that py2.6 will be dropped in J. It is OK that py2.6
>> will require some hacks to work and if in the next few months it
>> needs a few more then that is ok. If I am missing another connection
>> between the py2.6 and nose issues, please explain.
> So honestly we're already at this point in tempest. Nose really just doesn't
> work with tempest, and we're adding more features to tempest, your negative test
> generator being one of them, that interfere further with nose. I've seen several
> patches this cycle that attempted to introduce incorrect behavior while trying
> to fix compatibility with nose. That's why I think we need a clear message on
> this sooner than later. Which is why I'm proposing actively raising an error
> when things are run with nose upfront so there isn't any illusion that things
> are expected to work.
I'm with you on the nose issue.
> This doesn't necessarily mean we're moving python 2.6 to the hostile category.
> Nose support is independent of python 2.6 support. Py26 I would still consider
> to be unsupported, the issue is that the hack to make py26 work is outside of
> tempest. This is why we've recommended that people using python 2.6 run with
> nose, which really is no longer an option. Attila's abandoned patch that I
> linked above documents points to this bug with a patch to discover which is
> need to get python 2.6 working with tempest and testr:
I think it's fine to say that if you want to run 2.6 you can't use nose
any more as long as there is some way to make it work with testr.
Whether the work-around is in tempest source or not is secondary IMO.
> -Matt Treinish
> OpenStack-dev mailing list
> OpenStack-dev at lists.openstack.org
More information about the OpenStack-dev