call site 1 for code.Traceback.__init__
apigen/source/testing/test_browser.py - line 54
42
43
44
45
46
47
48
49
50
51
52
53
54
   def test_if_browser():
       tmp = py.test.ensuretemp("sourcebrowser")
       tmp.ensure("b.py").write(py.code.Source("""
           if 1:
               def f():
                   pass
           if 0:
               def g():
                   pass
       """))
       mod = parse_path(tmp.join("b.py"))
       assert isinstance(mod.f, Function)
->     py.test.raises(AttributeError, 'mod.g')
test/raises.py - line 25
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
   def raises(ExpectedException, *args, **kwargs):
       """ raise AssertionError, if target code does not raise the expected
           exception.
       """
       assert args
       __tracebackhide__ = True 
       if isinstance(args[0], str):
           expr, = args
           assert isinstance(expr, str)
           frame = sys._getframe(1)
           loc = frame.f_locals.copy()
           loc.update(kwargs)
           #print "raises frame scope: %r" % frame.f_locals
           source = py.code.Source(expr)
           try:
               exec source.compile() in frame.f_globals, loc
               #del __traceback__
               # XXX didn'T mean f_globals == f_locals something special?
               #     this is destroyed here ...
           except ExpectedException:
->             return py.code.ExceptionInfo()
       else:
           func = args[0]
           assert callable
           try:
               func(*args[1:], **kwargs)
               #del __traceback__
           except ExpectedException:
               return py.code.ExceptionInfo()
           k = ", ".join(["%s=%r" % x for x in kwargs.items()])
           if k:
               k = ', ' + k
           expr = '%s(%r%s)' %(func.__name__, args, k)
       raise ExceptionFailure(msg="DID NOT RAISE", 
                              expr=args, expected=ExpectedException) 
code/excinfo.py - line 22
10
11
12
13
14
15
16
17
18
19
20
21
22
   def __init__(self, tup=None, exprinfo=None):
       # NB. all attributes are private!  Subclasses or other
       #     ExceptionInfo-like classes may have different attributes.
       if tup is None:
           tup = sys.exc_info()
           if exprinfo is None and isinstance(tup[1], py.magic.AssertionError):
               exprinfo = tup[1].msg
               if exprinfo and exprinfo.startswith('assert '):
                   self._striptext = 'AssertionError: '
       self._excinfo = tup
       self.type, self.value, tb = self._excinfo
       self.typename = self.type.__module__ + '.' + self.type.__name__
->     self.traceback = py.code.Traceback(tb)