<div dir="ltr"><br><br><div class="gmail_quote"><div dir="ltr">On Thu, Mar 17, 2016 at 2:57 AM Ken'ichi Ohmichi <<a href="mailto:ken1ohmichi@gmail.com">ken1ohmichi@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">2016-03-16 19:41 GMT-07:00 Jim Rollenhagen <<a href="mailto:jim@jimrollenhagen.com" target="_blank">jim@jimrollenhagen.com</a>>:<br>
> On Wed, Mar 16, 2016 at 06:20:11PM -0700, Ken'ichi Ohmichi wrote:<br>
>> Hi<br>
>><br>
>> I have one proposal[1] related to negative tests in Tempest, and<br>
>> hoping opinions before doing that.<br>
>><br>
>> Now Tempest contains negative tests and sometimes patches are being<br>
>> posted for adding more negative tests, but I'd like to propose<br>
>> removing them from Tempest instead.<br>
>><br>
>> Negative tests verify surfaces of REST APIs for each component without<br>
>> any integrations between components. That doesn't seem integration<br>
>> tests which are scope of Tempest.<br>
>> In addition, we need to spend the test operating time on different<br>
>> component's gate if adding negative tests into Tempest. For example,<br>
>> we are operating negative tests of Keystone and more<br>
>> components on the gate of Nova. That is meaningless, so we need to<br>
>> avoid more negative tests into Tempest now.<br>
>><br>
>> If wanting to add negative tests, it is a nice option to implement<br>
>> these tests on each component repo with Tempest plugin interface. We<br>
>> can avoid operating negative tests on different component gates and<br>
>> each component team can decide what negative tests are valuable on the<br>
>> gate.<br>
>><br>
>> In long term, all negative tests will be migrated into each component<br>
>> repo with Tempest plugin interface. We will be able to operate<br>
>> valuable negative tests only on each gate.<br>
><br>
> So, positive tests in tempest, negative tests as a plugin.<br>
><br>
> Is there any longer term goal to have all tests for all projects in a<br>
> plugin for that project? Seems odd to separate them.<br>
<br>
Yeah, from implementation viewpoint, that seems a little odd.<br>
but from the main scope of Tempest and to avoid unnecessary gate<br>
operation time, that can be acceptable, I feel.<br>
Negative tests can be corner cases in most cases, they don't seem<br>
integration tests.<br></blockquote><div><br></div><div>I think it's difficult to define a single black and white criteria for negative tests, as they encompass a wide range of types of tests.</div><div><br></div><div>I agree that things that only testing the API level of a service (not even a DB behind) do not necessarily belong in tempest - i.e. testing of input validation done by an API.  We could have a guideline for such tests to be implemented as unit/functional tests in tree of the service.</div><div><br></div><div>However Tempest is also interoperability, so we should keep at least a few negative API checks in tempest (for the core six services) to enforce that return codes do not change inadvertently in negative cases, which could break existing clients and applications.<br></div><div><br></div><div>If a project was to move all negative tests out of tempest, than they might consider have hacking rules to prevent modifying the code and tests at the same time, and change behaviour inadvertently.</div><div><br></div><div>andrea </div><div> <br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Thanks<br>
Ken Ohmichi<br>
<br>
__________________________________________________________________________<br>
OpenStack Development Mailing List (not for usage questions)<br>
Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" rel="noreferrer" target="_blank">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" rel="noreferrer" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
</blockquote></div></div>