71 lines
2.9 KiB
Python
71 lines
2.9 KiB
Python
import os
|
|
import sys
|
|
import unittest
|
|
from nose.config import Config
|
|
from nose.core import TestProgram
|
|
|
|
here = os.path.abspath(os.path.dirname(__file__))
|
|
support = os.path.join(here, 'support')
|
|
units = os.path.normpath(os.path.join(here, '..', 'unit_tests'))
|
|
|
|
if units not in sys.path:
|
|
sys.path.insert(0, units)
|
|
from mock import RecordingPluginManager
|
|
|
|
|
|
class TestPluginCalls(unittest.TestCase):
|
|
"""
|
|
Tests how plugins are called throughout a standard test run
|
|
"""
|
|
def test_plugin_calls_package1(self):
|
|
wdir = os.path.join(support, 'package1')
|
|
man = RecordingPluginManager()
|
|
conf = Config(plugins=man, stream=sys.stdout)
|
|
t = TestProgram(defaultTest=wdir, config=conf,
|
|
argv=['test_plugin_calls_package1'], exit=False)
|
|
print man.calls()
|
|
assert man.called
|
|
|
|
self.assertEqual(
|
|
man.calls(),
|
|
['loadPlugins', 'addOptions', 'configure', 'begin',
|
|
'prepareTestLoader', 'loadTestsFromNames', 'loadTestsFromName',
|
|
'prepareTestRunner', 'prepareTest', 'setOutputStream',
|
|
'prepareTestResult', 'beforeDirectory', 'wantFile',
|
|
'wantDirectory', 'beforeContext', 'beforeImport',
|
|
'afterImport', 'wantModule', 'wantClass', 'wantFunction',
|
|
'makeTest', 'wantMethod', 'loadTestsFromTestClass',
|
|
'loadTestsFromTestCase', 'loadTestsFromModule', 'startContext',
|
|
'beforeTest', 'prepareTestCase', 'startTest', 'addSuccess',
|
|
'stopTest', 'afterTest', 'stopContext', 'afterContext',
|
|
'loadTestsFromDir', 'afterDirectory',
|
|
'report', 'finalize'])
|
|
|
|
def test_plugin_calls_package1_verbose(self):
|
|
wdir = os.path.join(support, 'package1')
|
|
man = RecordingPluginManager()
|
|
conf = Config(plugins=man, stream=sys.stdout)
|
|
t = TestProgram(defaultTest=wdir, config=conf,
|
|
argv=['test_plugin_calls_package1', '-v'], exit=False)
|
|
print man.calls()
|
|
assert man.called
|
|
|
|
self.assertEqual(
|
|
man.calls(),
|
|
['loadPlugins', 'addOptions', 'configure', 'begin',
|
|
'prepareTestLoader', 'loadTestsFromNames', 'loadTestsFromName',
|
|
'prepareTestRunner', 'prepareTest', 'setOutputStream',
|
|
'prepareTestResult', 'beforeDirectory', 'wantFile',
|
|
'wantDirectory', 'beforeContext', 'beforeImport',
|
|
'afterImport', 'wantModule', 'wantClass', 'wantFunction',
|
|
'makeTest', 'wantMethod', 'loadTestsFromTestClass',
|
|
'loadTestsFromTestCase', 'loadTestsFromModule', 'startContext',
|
|
'beforeTest', 'prepareTestCase', 'startTest', 'describeTest',
|
|
'testName', 'addSuccess', 'stopTest', 'afterTest', 'stopContext',
|
|
'afterContext', 'loadTestsFromDir', 'afterDirectory',
|
|
'report', 'finalize'])
|
|
|
|
|
|
|
|
if __name__ == '__main__':
|
|
unittest.main()
|