call site 3 for code.Traceback.__getitem__
magic/testing/test_exprinfo.py - line 67
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
   def test_assert_func_argument_type_error():
       def f ():
           pass
       def g():
           f(1)
       excinfo = getexcinfo(TypeError, g)
       msg = getmsg(excinfo)
       assert msg.find("takes no argument") != -1
   
       class A:
           def f():
               pass
       def g():
           A().f()
       excinfo = getexcinfo(TypeError, g)
       msg = getmsg(excinfo)
       assert msg.find("takes no argument") != -1
   
       def g():
           A.f()
       excinfo = getexcinfo(TypeError, g)
->     msg = getmsg(excinfo)
       assert msg.find("must be called with A") != -1
magic/exprinfo.py - line 442
435
436
437
438
439
440
441
442
443
444
445
446
447
   def getmsg(excinfo):
       if isinstance(excinfo, tuple):
           excinfo = py.code.ExceptionInfo(excinfo)
       #frame, line = gettbline(tb)
       #frame = py.code.Frame(frame)
       #return interpret(line, frame)
   
->     tb = excinfo.traceback[-1] 
       source = str(tb.statement).strip()
       x = interpret(source, tb.frame, should_fail=True)
       if not isinstance(x, str):
           raise TypeError, "interpret returned non-string %r" % (x,)
       return x