diff options
author | Petr Viktorin <pviktori@redhat.com> | 2014-10-13 14:34:53 +0200 |
---|---|---|
committer | Tomas Babej <tbabej@redhat.com> | 2014-11-21 12:14:44 +0100 |
commit | eaad0a9ced1e989d5c64a7432995b1a679aab77c (patch) | |
tree | 31a9a40e1d1d4d28b3cadfceda4e80c1033256f4 /ipatests | |
parent | 48de128571d0ac1a026813588bef847b49a9db8c (diff) | |
download | freeipa-eaad0a9ced1e989d5c64a7432995b1a679aab77c.tar.gz freeipa-eaad0a9ced1e989d5c64a7432995b1a679aab77c.tar.xz freeipa-eaad0a9ced1e989d5c64a7432995b1a679aab77c.zip |
Switch ipa-run-tests to pytest
https://fedorahosted.org/freeipa/ticket/4610
Reviewed-By: Tomas Babej <tbabej@redhat.com>
Diffstat (limited to 'ipatests')
-rwxr-xr-x | ipatests/ipa-run-tests | 56 |
1 files changed, 10 insertions, 46 deletions
diff --git a/ipatests/ipa-run-tests b/ipatests/ipa-run-tests index 7e3270b41..53fa7b321 100755 --- a/ipatests/ipa-run-tests +++ b/ipatests/ipa-run-tests @@ -20,62 +20,26 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. -"""Nose wrapper for running an installed (not in-tree) IPA test suite +"""Pytest wrapper for running an installed (not in-tree) IPA test suite -Any command-line arguments are passed directly to Nose. -Note that any relative paths given will be based on the ipatests module's path +Any command-line arguments are passed directly to py.test. +The current directory is changed to the locaition of the ipatests package, +so any relative paths given will be based on the ipatests module's path """ -import sys import os -from os import path -import logging +import sys -import nose +import pytest -from ipapython.ipa_log_manager import log_mgr import ipatests -from ipatests.beakerlib_plugin import BeakerLibPlugin -from ipatests.order_plugin import OrderTests - -cmd = [ - sys.argv[0], - '--with-doctest', - '--doctest-tests', - '--with-ordered-tests', - '--exclude=plugins', - '--nologcapture', - '--logging-filter=-paramiko', - '--where', os.path.dirname(ipatests.__file__), -] -cmd += sys.argv[1:] - # This must be set so ipalib.api gets initialized property for tests: os.environ['IPA_UNIT_TEST_MODE'] = 'cli_test' +# This is set to store --with-xunit report in an accessible place: +os.environ['IPATEST_XUNIT_PATH'] = os.path.join(os.getcwd(), 'nosetests.xml') -# Forward IPA logging to a normal Python logger. Nose's logcapture plugin -# can't work with IPA-managed loggers -class LogHandler(logging.Handler): - name = 'forwarding log handler' - logger = logging.getLogger('IPA') - - def emit(self, record): - self.logger.log(record.levelno, self.format(record)) - -if 'console' in log_mgr.handlers: - log_mgr.remove_handler('console') -log_mgr.configure( - { - 'default_level': 'DEBUG', - 'handlers': [{'log_handler': LogHandler(), - 'format': '[%(name)s] %(message)s', - 'level': 'debug'}, - {'level': 'debug', - 'name': 'console', - 'stream': sys.stderr}]}, - configure_state='tests') - +os.chdir(os.path.dirname(ipatests.__file__)) -nose.main(argv=cmd, addplugins=[BeakerLibPlugin(), OrderTests()]) +sys.exit(pytest.main(sys.argv[1:])) |