Add note about the fact that Rally won't use testtools' assertions

Rally's core team thinks testtools is too big a dependency to be used by
Rally for performing assertions.  This commit results from a rejected
proposition to do so.  To avoid this to be wasted work, this commit
adds a note about this to discourage people from trying this again in the
future. See https://review.openstack.org/#/c/263759/ for details.

Change-Id: Ife05cb96b5bc92f4fc9b56d09bd16cc62fd10158
This commit is contained in:
Raphael Badin 2016-01-04 16:45:00 +01:00 committed by Illia Khudoshyn
parent ab6e75de2c
commit 146fd2b574
1 changed files with 18 additions and 0 deletions

View File

@ -17,6 +17,24 @@ from rally import exceptions
class FunctionalMixin(object):
"""Functional assertions.
The Rally core team deliberately decided not to use an existing framework
for this such a `testtools`.
Using 'testtools' would introduce the following problems:
- Rally production code works with testing tools code that is not designed
to be used in production.
- Rally code depends on a bunch of new libs introduced by testtools and
testtools itself, which means: more code on which Rally is dependent,
more time required to install Rally, more disk space required by Rally.
- Classes like Scenario & Context are inherited from testtools.TestCase
that makes these classes really hard to learn (for instance:
running dir(base.Scenario) you cannot see a ton of methods inside it)
- It won't be clear for end users what exceptions are raised: unittest
exception are going to be raised during production runs instead of
Rally assertion exceptions.
"""
def _concatenate_message(self, default, extended):
if not extended: