Lines Matching refs:self

66     def __init__(self, module='__main__', defaultTest=None, argv=None,
71 self.module = __import__(module)
73 self.module = getattr(self.module, part)
75 self.module = module
79 self.exit = exit
80 self.failfast = failfast
81 self.catchbreak = catchbreak
82 self.verbosity = verbosity
83 self.buffer = buffer
84 self.tb_locals = tb_locals
89 self.warnings = 'default'
91 # here self.warnings is set either to the value passed
93 # If the user didn't pass a value self.warnings will
96 self.warnings = warnings
97 self.defaultTest = defaultTest
98 self.testRunner = testRunner
99 self.testLoader = testLoader
100 self.progName = os.path.basename(argv[0])
101 self.parseArgs(argv)
102 self.runTests()
104 def usageExit(self, msg=None):
109 if self._discovery_parser is None:
110 self._initArgParsers()
111 self._print_help()
114 def _print_help(self, *args, **kwargs):
115 if self.module is None:
116 print(self._main_parser.format_help())
117 print(MAIN_EXAMPLES % {'prog': self.progName})
118 self._discovery_parser.print_help()
120 print(self._main_parser.format_help())
121 print(MODULE_EXAMPLES % {'prog': self.progName})
123 def parseArgs(self, argv):
124 self._initArgParsers()
125 if self.module is None:
127 self._do_discovery(argv[2:])
129 self._main_parser.parse_args(argv[1:], self)
130 if not self.tests:
133 self._do_discovery([])
136 self._main_parser.parse_args(argv[1:], self)
138 if self.tests:
139 self.testNames = _convert_names(self.tests)
142 self.module = None
143 elif self.defaultTest is None:
144 # createTests will load tests from self.module
145 self.testNames = None
146 elif isinstance(self.defaultTest, str):
147 self.testNames = (self.defaultTest,)
149 self.testNames = list(self.defaultTest)
150 self.createTests()
152 def createTests(self, from_discovery=False, Loader=None):
153 if self.testNamePatterns:
154 self.testLoader.testNamePatterns = self.testNamePatterns
156 loader = self.testLoader if Loader is None else Loader()
157 self.test = loader.discover(self.start, self.pattern, self.top)
158 elif self.testNames is None:
159 self.test = self.testLoader.loadTestsFromModule(self.module)
161 self.test = self.testLoader.loadTestsFromNames(self.testNames,
162 self.module)
164 def _initArgParsers(self):
165 parent_parser = self._getParentArgParser()
166 self._main_parser = self._getMainArgParser(parent_parser)
167 self._discovery_parser = self._getDiscoveryArgParser(parent_parser)
169 def _getParentArgParser(self):
181 if self.failfast is None:
185 self.failfast = False
186 if self.catchbreak is None:
190 self.catchbreak = False
191 if self.buffer is None:
195 self.buffer = False
196 if self.testNamePatterns is None:
200 self.testNamePatterns = []
204 def _getMainArgParser(self, parent):
206 parser.prog = self.progName
207 parser.print_help = self._print_help
215 def _getDiscoveryArgParser(self, parent):
217 parser.prog = '%s discover' % self.progName
236 def _do_discovery(self, argv, Loader=None):
237 self.start = '.'
238 self.pattern = 'test*.py'
239 self.top = None
242 if self._discovery_parser is None:
244 self._initArgParsers()
245 self._discovery_parser.parse_args(argv, self)
247 self.createTests(from_discovery=True, Loader=Loader)
249 def runTests(self):
250 if self.catchbreak:
252 if self.testRunner is None:
253 self.testRunner = runner.TextTestRunner
254 if isinstance(self.testRunner, type):
257 testRunner = self.testRunner(verbosity=self.verbosity,
258 failfast=self.failfast,
259 buffer=self.buffer,
260 warnings=self.warnings,
261 tb_locals=self.tb_locals)
264 testRunner = self.testRunner(verbosity=self.verbosity,
265 failfast=self.failfast,
266 buffer=self.buffer,
267 warnings=self.warnings)
270 testRunner = self.testRunner()
273 testRunner = self.testRunner
274 self.result = testRunner.run(self.test)
275 if self.exit:
276 sys.exit(not self.result.wasSuccessful())