/functional_tests/test_plugin_api.py
https://bitbucket.org/jpellerin/nose/ · Python · 45 lines · 34 code · 7 blank · 4 comment · 6 complexity · 27e30a232b1c76c8bc4033fceb1f79da MD5 · raw file
- """
- Functional tests of plugin apis -- individual plugintester runs for
- test plugins that implement one or more hooks for testing.
- """
- import os
- import sys
- import unittest
- from nose.plugins import Plugin, PluginTester
- support = os.path.join(os.path.dirname(__file__), 'support')
- class AllFail(Plugin):
- def prepareTestCase(self, test):
- self.test = test
- return self.fail
- def fail(self, result):
- result.startTest(self.test)
- try:
- try:
- assert False, "I want to fail!"
- except:
- result.addFailure(self.test, sys.exc_info())
- finally:
- result.stopTest(self.test)
- class TestPrepareTestCase_MakeAllFail(PluginTester, unittest.TestCase):
- activate = '--with-allfail'
- args = ['-v']
- plugins = [AllFail()]
- suitepath = os.path.join(support, 'package2')
-
- def runTest(self):
- print "x" * 70
- print str(self.output)
- print "x" * 70
- for line in self.output:
- if line.startswith('test_pak'):
- assert line.strip().endswith('FAIL'), \
- "Expected failure but got: %s" % line.strip()
- assert not str(self.output).strip().endswith('OK')
- if __name__ == '__main__':
- unittest.main()