import sys import unittest class TestCase(unittest.TestCase): def testFrameSimpleChange(self): frame = sys._getframe() a = 20 frame.f_locals['a'] = 50 frame.savelocals() self.assertEquals(50, a) def testFrameChangeInInnerFrame(self): def change(f): self.assert_(f is not sys._getframe()) f.f_locals['a'] = 50 f.savelocals() frame = sys._getframe() a = 20 change(frame) self.assertEquals(50, a) if __name__ == '__main__': unittest.main()