From 780961a6433830a5928e1785460a2755e498639d Mon Sep 17 00:00:00 2001 From: Petr Viktorin Date: Fri, 24 May 2013 12:17:51 +0200 Subject: Add Nose plugin for BeakerLib integration The plugin hooks into the Nose runner and IPA's logging infrastructure and calls the appropriate BeakerLib functions (rl*). IPA's log_manager is extended to accept custom Handler classes. The ipa-run-tests helper now loads the plugin. Patr of the work for: https://fedorahosted.org/freeipa/ticket/3621 --- ipatests/ipa-run-tests | 35 +++++++++++++++++++++++++---------- 1 file changed, 25 insertions(+), 10 deletions(-) (limited to 'ipatests/ipa-run-tests') diff --git a/ipatests/ipa-run-tests b/ipatests/ipa-run-tests index 872b15e9c..e788df30b 100755 --- a/ipatests/ipa-run-tests +++ b/ipatests/ipa-run-tests @@ -1,5 +1,25 @@ #!/usr/bin/python +# Authors: +# Petr Viktorin +# Jason Gerard DeRose +# +# Copyright (C) 2008-2013 Red Hat +# see file 'COPYING' for use and warranty information +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + """Nose wrapper for running an installed (not in-tree) IPA test suite Any command-line arguments are passed directly to Nose. @@ -10,12 +30,13 @@ import sys import os from os import path -import ipatests +import nose -nose = '/usr/bin/nosetests' +import ipatests +from ipatests.beakerlib_plugin import BeakerLibPlugin cmd = [ - nose, + sys.argv[0], '-v', '--with-doctest', '--doctest-tests', @@ -28,10 +49,4 @@ cmd += sys.argv[1:] # This must be set so ipalib.api gets initialized property for tests: os.environ['IPA_UNIT_TEST_MODE'] = 'cli_test' - -if not path.isfile(nose): - print 'ERROR: need %r' % nose - sys.exit(100) - -print ' '.join(cmd) -sys.exit(call(cmd)) +nose.main(argv=cmd, addplugins=[BeakerLibPlugin()]) -- cgit