Fix issues with module conflicts when running unit tests.

Review Request #7523 — Created July 14, 2015 and submitted — Latest diff uploaded

Information

Review Board
release-2.0.x
a30ee39...

Reviewers

We recently fixed rbssh so that it would include any enabled extensions
in order to make us of custom SSH backends. This led to an eventual
import of the "site" module (through the extension framework), which
ended up finding our "reviewboard.site" module instead of the global
"site" module. That happened because Python will put the directory
containing the script you're executing into the Python path. In our
case, for manage.py, that ended up being "reviewboard/reviewboard".

There were really two problems here:

1. We really don't want that directory in the Python path, as we don't
   want our Review Board app directories to appear as global modules.

2. We don't actually want extensions to be activated in rbssh if we're
   running unit tests, since custom SSH backends will break the tests.

This change addresses both of these cases. We remove the path right away
in manage.py, and we set an environment variable indicating that we're
running the test suite, which feeds the default for
settings.RUNNING_TEST.

All unit tests pass.

    Loading...