# this script copies a traceback module's afterimage bug. open("_tmptmp_tracebackreload.py", "w").write("""\ def test(): raise RuntimeError """) import os os.utime("_tmptmp_tracebackreload.py", (0, 0)) import _tmptmp_tracebackreload x = _tmptmp_tracebackreload.test try: _tmptmp_tracebackreload.test() except RuntimeError: import sys, traceback traceback.extract_tb(sys.exc_traceback) open("_tmptmp_tracebackreload.py", "w").write("""\ def test(): raise NotImplementedError """) reload(_tmptmp_tracebackreload) try: _tmptmp_tracebackreload.test() except NotImplementedError: import sys, traceback if traceback.extract_tb(sys.exc_traceback)[-1][-1] == 'raise RuntimeError': print "So bad." else: print "Good!"