Lines Matching refs:self
103 def __init__(self, x):
104 self.a = x
106 def inst_method_linear(self, y):
107 return self.a + y
109 def inst_method_calling(self, x):
110 c = self.inst_method_linear(x)
127 def setUp(self):
128 self.addCleanup(sys.settrace, sys.gettrace())
129 self.tracer = Trace(count=1, trace=0, countfuncs=0, countcallers=0)
130 self.my_py_filename = fix_ext_py(__file__)
132 def test_traced_func_linear(self):
133 result = self.tracer.runfunc(traced_func_linear, 2, 5)
134 self.assertEqual(result, 7)
140 expected[(self.my_py_filename, firstlineno + i)] = 1
142 self.assertEqual(self.tracer.results().counts, expected)
144 def test_traced_func_loop(self):
145 self.tracer.runfunc(traced_func_loop, 2, 3)
149 (self.my_py_filename, firstlineno + 1): 1,
150 (self.my_py_filename, firstlineno + 2): 6,
151 (self.my_py_filename, firstlineno + 3): 5,
152 (self.my_py_filename, firstlineno + 4): 1,
154 self.assertEqual(self.tracer.results().counts, expected)
156 def test_traced_func_importing(self):
157 self.tracer.runfunc(traced_func_importing, 2, 5)
161 (self.my_py_filename, firstlineno + 1): 1,
166 self.assertEqual(self.tracer.results().counts, expected)
168 def test_trace_func_generator(self):
169 self.tracer.runfunc(traced_func_calling_generator)
174 (self.my_py_filename, firstlineno_calling + 1): 1,
175 (self.my_py_filename, firstlineno_calling + 2): 11,
176 (self.my_py_filename, firstlineno_calling + 3): 10,
177 (self.my_py_filename, firstlineno_gen + 1): 1,
178 (self.my_py_filename, firstlineno_gen + 2): 11,
179 (self.my_py_filename, firstlineno_gen + 3): 10,
181 self.assertEqual(self.tracer.results().counts, expected)
183 def test_trace_list_comprehension(self):
184 self.tracer.runfunc(traced_caller_list_comprehension)
189 (self.my_py_filename, firstlineno_calling + 1): 1,
192 (self.my_py_filename, firstlineno_calling + 2): 12,
193 (self.my_py_filename, firstlineno_calling + 3): 1,
194 (self.my_py_filename, firstlineno_called + 1): 10,
196 self.assertEqual(self.tracer.results().counts, expected)
198 def test_traced_decorated_function(self):
199 self.tracer.runfunc(traced_decorated_function)
203 (self.my_py_filename, firstlineno + 1): 1,
204 (self.my_py_filename, firstlineno + 2): 1,
205 (self.my_py_filename, firstlineno + 3): 1,
206 (self.my_py_filename, firstlineno + 4): 1,
207 (self.my_py_filename, firstlineno + 5): 1,
208 (self.my_py_filename, firstlineno + 6): 1,
209 (self.my_py_filename, firstlineno + 7): 2,
210 (self.my_py_filename, firstlineno + 8): 2,
211 (self.my_py_filename, firstlineno + 9): 2,
212 (self.my_py_filename, firstlineno + 10): 1,
213 (self.my_py_filename, firstlineno + 11): 1,
215 self.assertEqual(self.tracer.results().counts, expected)
217 def test_linear_methods(self):
229 (self.my_py_filename, firstlineno + 1): 1,
231 self.assertEqual(tracer.results().counts, expected)
236 def setUp(self):
237 self.my_py_filename = fix_ext_py(__file__)
238 self.addCleanup(sys.settrace, sys.gettrace())
240 def test_exec_counts(self):
241 self.tracer = Trace(count=1, trace=0, countfuncs=0, countcallers=0)
244 self.tracer.runctx(code, globals(), vars())
248 (self.my_py_filename, firstlineno + 1): 1,
249 (self.my_py_filename, firstlineno + 2): 6,
250 (self.my_py_filename, firstlineno + 3): 5,
251 (self.my_py_filename, firstlineno + 4): 1,
259 self.assertEqual(self.tracer.results().counts[k], expected[k])
264 def setUp(self):
265 self.addCleanup(sys.settrace, sys.gettrace())
266 self.tracer = Trace(count=0, trace=0, countfuncs=1)
267 self.filemod = my_file_and_modname()
268 self._saved_tracefunc = sys.gettrace()
270 def tearDown(self):
271 if self._saved_tracefunc is not None:
272 sys.settrace(self._saved_tracefunc)
274 def test_simple_caller(self):
275 self.tracer.runfunc(traced_func_simple_caller, 1)
278 self.filemod + ('traced_func_simple_caller',): 1,
279 self.filemod + ('traced_func_linear',): 1,
281 self.assertEqual(self.tracer.results().calledfuncs, expected)
283 def test_arg_errors(self):
284 res = self.tracer.runfunc(traced_capturer, 1, 2, self=3, func=4)
285 self.assertEqual(res, ((1, 2), {'self': 3, 'func': 4}))
286 with self.assertRaises(TypeError):
287 self.tracer.runfunc(func=traced_capturer, arg=1)
288 with self.assertRaises(TypeError):
289 self.tracer.runfunc()
291 def test_loop_caller_importing(self):
292 self.tracer.runfunc(traced_func_importing_caller, 1)
295 self.filemod + ('traced_func_simple_caller',): 1,
296 self.filemod + ('traced_func_linear',): 1,
297 self.filemod + ('traced_func_importing_caller',): 1,
298 self.filemod + ('traced_func_importing',): 1,
301 self.assertEqual(self.tracer.results().calledfuncs, expected)
305 def test_inst_method_calling(self):
307 self.tracer.runfunc(obj.inst_method_calling, 1)
310 self.filemod + ('TracedClass.inst_method_calling',): 1,
311 self.filemod + ('TracedClass.inst_method_linear',): 1,
312 self.filemod + ('traced_func_linear',): 1,
314 self.assertEqual(self.tracer.results().calledfuncs, expected)
316 def test_traced_decorated_function(self):
317 self.tracer.runfunc(traced_decorated_function)
320 self.filemod + ('traced_decorated_function',): 1,
321 self.filemod + ('decorator_fabric',): 1,
322 self.filemod + ('decorator2',): 1,
323 self.filemod + ('decorator1',): 1,
324 self.filemod + ('func',): 1,
326 self.assertEqual(self.tracer.results().calledfuncs, expected)
331 def setUp(self):
332 self.addCleanup(sys.settrace, sys.gettrace())
333 self.tracer = Trace(count=0, trace=0, countcallers=1)
334 self.filemod = my_file_and_modname()
338 def test_loop_caller_importing(self):
339 self.tracer.runfunc(traced_func_importing_caller, 1)
343 (self.filemod + ('traced_func_importing_caller',))): 1,
344 ((self.filemod + ('traced_func_simple_caller',)),
345 (self.filemod + ('traced_func_linear',))): 1,
346 ((self.filemod + ('traced_func_importing_caller',)),
347 (self.filemod + ('traced_func_simple_caller',))): 1,
348 ((self.filemod + ('traced_func_importing_caller',)),
349 (self.filemod + ('traced_func_importing',))): 1,
350 ((self.filemod + ('traced_func_importing',)),
353 self.assertEqual(self.tracer.results().callers, expected)
358 def setUp(self):
359 self.addCleanup(sys.settrace, sys.gettrace())
361 def tearDown(self):
365 def _coverage(self, tracer,
372 def test_coverage(self):
375 self._coverage(tracer)
377 self.assertIn("pprint.py", stdout)
378 self.assertIn("case.py", stdout) # from unittest
380 self.assertIn("pprint.cover", files)
381 self.assertIn("unittest.case.cover", files)
383 def test_coverage_ignore(self):
390 self._coverage(tracer)
393 self.assertEqual(files, ['_importlib.cover']) # Ignore __import__
395 def test_issue9936(self):
404 self._coverage(tracer, cmd)
413 self.assertIn(modname, coverage)
414 self.assertEqual(coverage[modname], (5, 100))
416 def test_coverageresults_update(self):
421 self.addCleanup(unlink, infile)
423 self.assertEqual(results.callers, {'caller': 1})
429 def test_ignored(self):
432 self.assertTrue(ignore.names('x.py', 'x'))
433 self.assertFalse(ignore.names('xy.py', 'xy'))
434 self.assertFalse(ignore.names('y.py', 'y'))
435 self.assertTrue(ignore.names(jn('foo', 'bar', 'baz.py'), 'baz'))
436 self.assertFalse(ignore.names(jn('bar', 'z.py'), 'z'))
438 self.assertTrue(ignore.names(jn('bar', 'baz.py'), 'baz'))
446 def setUp(self):
447 with open(self.codefile, 'w', encoding='iso-8859-15') as f:
455 def tearDown(self):
456 unlink(self.codefile)
457 unlink(self.coverfile)
459 def test_cover_files_written_no_highlight(self):
466 argv = '-m trace --count'.split() + [self.codefile]
468 self.assertEqual(stderr, b'')
469 self.assertFalse(os.path.exists(tracecoverpath))
470 self.assertTrue(os.path.exists(self.coverfile))
471 with open(self.coverfile, encoding='iso-8859-15') as f:
472 self.assertEqual(f.read(),
479 def test_cover_files_written_with_highlight(self):
480 argv = '-m trace --count --missing'.split() + [self.codefile]
482 self.assertTrue(os.path.exists(self.coverfile))
483 with open(self.coverfile, encoding='iso-8859-15') as f:
484 self.assertEqual(f.read(), textwrap.dedent('''\
493 def test_failures(self):
504 self.assertIn(message, stderr)
506 def test_listfuncs_flag_success(self):
510 self.addCleanup(unlink, filename)
514 self.assertIn(b'functions called:', stdout)
516 self.assertIn(expected.encode(), stdout)
518 def test_sys_argv_list(self):
520 self.addCleanup(unlink, TESTFN)
527 self.assertIn(direct_stdout.strip(), trace_stdout)
529 def test_count_and_summary(self):
534 self.addCleanup(unlink, filename)
535 self.addCleanup(unlink, coverfilename)
549 self.assertEqual(status, 0)
550 self.assertIn('lines cov% module (path)', stdout)
551 self.assertIn(f'6 100% {modulename} ({filename})', stdout)
553 def test_run_as_module(self):