From: <fwi...@us...> - 2008-10-16 12:42:16
|
Revision: 5423 http://jython.svn.sourceforge.net/jython/?rev=5423&view=rev Author: fwierzbicki Date: 2008-10-16 12:42:06 +0000 (Thu, 16 Oct 2008) Log Message: ----------- move test107 to test_jy_internals.py Modified Paths: -------------- trunk/jython/Lib/test/test_jy_internals.py Removed Paths: ------------- trunk/jython/bugtests/test107.py Modified: trunk/jython/Lib/test/test_jy_internals.py =================================================================== --- trunk/jython/Lib/test/test_jy_internals.py 2008-10-16 12:15:26 UTC (rev 5422) +++ trunk/jython/Lib/test/test_jy_internals.py 2008-10-16 12:42:06 UTC (rev 5423) @@ -172,6 +172,60 @@ vars = tb.tb_frame.f_locals self.assertEquals(sorted(vars.items()), [('a',1), ('b',2)]) + def test_frame_info(self): + import sys + from types import ClassType + + def getinfo(): + """ Returns a tuple consisting of: + the name of the current module + the name of the current class or None + the name of the current function + the current line number + """ + try: + 1/0 + except: + tb = sys.exc_info()[-1] + frame = tb.tb_frame.f_back + modulename = frame.f_globals['__name__'] + funcname = frame.f_code.co_name + lineno = frame.f_lineno + + if len(frame.f_code.co_varnames) == 0: + classname = None + else: + self = frame.f_locals[frame.f_code.co_varnames[0]] + myclass = self.__class__ + if type(myclass) == ClassType: + classname = myclass.__name__ + else: + classname = None + + return modulename, classname, funcname, lineno + + def foo(): + x = 99 + g = getinfo() + assert (g[0] == "__main__" or g[0] == "test.test_jy_internals") + self.assertEquals(g[1], None) + self.assertEquals(g[2], "foo") + + class Bar: + def baz(self): + g = getinfo() + assert (g[0] == "__main__" or g[0] == "test.test_jy_internals") + assert (g[1] == "Bar") + assert (g[2] == "baz") + + g = getinfo() + assert (g[0] == "__main__" or g[0] == "test.test_jy_internals") + self.assertEquals(g[1], None) + self.assertEquals(g[2], "test_frame_info") + + foo() + Bar().baz() + def test_main(): test_suite = unittest.TestSuite() test_loader = unittest.TestLoader() Deleted: trunk/jython/bugtests/test107.py =================================================================== --- trunk/jython/bugtests/test107.py 2008-10-16 12:15:26 UTC (rev 5422) +++ trunk/jython/bugtests/test107.py 2008-10-16 12:42:06 UTC (rev 5423) @@ -1,55 +0,0 @@ -""" -Check some internal frame info -""" -import sys -from types import ClassType - -def getinfo(): - """ Returns a tuple consisting of: - the name of the current module - the name of the current class or None - the name of the current function - the current line number - """ - try: - 1/0 - except: - tb = sys.exc_info()[-1] - frame = tb.tb_frame.f_back - modulename = frame.f_globals['__name__'] - funcname = frame.f_code.co_name - lineno = frame.f_lineno - - if len(frame.f_code.co_varnames) == 0: - classname = None - else: - self = frame.f_locals[frame.f_code.co_varnames[0]] - myclass = self.__class__ - if type(myclass) == ClassType: - classname = myclass.__name__ - else: - classname = None - - return modulename, classname, funcname, lineno - -def foo(): - x = 99 - g = getinfo() - assert (g[0] == "__main__" or g[0] == "test107") - assert (g[1] == None) - assert (g[2] == "foo") - -class Bar: - def baz(self): - g = getinfo() - assert (g[0] == "__main__" or g[0] == "test107") - assert (g[1] == "Bar") - assert (g[2] == "baz") - -g = getinfo() -assert (g[0] == "__main__" or g[0] == "test107") -assert (g[1] == None) -assert (g[2] == "<module>") - -foo() -Bar().baz() This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |