AppPkg/Applications/Python: Add Python 2.7.2 sources since the release of Python 2.7.3 made them unavailable from the python.org web site.
These files are a subset of the python-2.7.2.tgz distribution from python.org. Changed files from PyMod-2.7.2 have been copied into the corresponding directories of this tree, replacing the original files in the distribution. Signed-off-by: daryl.mcdaniel@intel.com git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13197 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
@ -0,0 +1,82 @@
|
||||
import sys
|
||||
import unittest
|
||||
import StringIO
|
||||
import atexit
|
||||
from imp import reload
|
||||
from test import test_support
|
||||
|
||||
class TestCase(unittest.TestCase):
|
||||
def setUp(self):
|
||||
s = StringIO.StringIO()
|
||||
self.save_stdout = sys.stdout
|
||||
self.save_stderr = sys.stderr
|
||||
sys.stdout = sys.stderr = self.subst_io = s
|
||||
self.save_handlers = atexit._exithandlers
|
||||
atexit._exithandlers = []
|
||||
|
||||
def tearDown(self):
|
||||
sys.stdout = self.save_stdout
|
||||
sys.stderr = self.save_stderr
|
||||
atexit._exithandlers = self.save_handlers
|
||||
|
||||
def test_args(self):
|
||||
atexit.register(self.h1)
|
||||
atexit.register(self.h4)
|
||||
atexit.register(self.h4, 4, kw="abc")
|
||||
atexit._run_exitfuncs()
|
||||
self.assertEqual(self.subst_io.getvalue(),
|
||||
"h4 (4,) {'kw': 'abc'}\nh4 () {}\nh1\n")
|
||||
|
||||
def test_badargs(self):
|
||||
atexit.register(lambda: 1, 0, 0, (x for x in (1,2)), 0, 0)
|
||||
self.assertRaises(TypeError, atexit._run_exitfuncs)
|
||||
|
||||
def test_order(self):
|
||||
atexit.register(self.h1)
|
||||
atexit.register(self.h2)
|
||||
atexit.register(self.h3)
|
||||
atexit._run_exitfuncs()
|
||||
self.assertEqual(self.subst_io.getvalue(), "h3\nh2\nh1\n")
|
||||
|
||||
def test_sys_override(self):
|
||||
# be sure a preset sys.exitfunc is handled properly
|
||||
exfunc = sys.exitfunc
|
||||
sys.exitfunc = self.h1
|
||||
reload(atexit)
|
||||
try:
|
||||
atexit.register(self.h2)
|
||||
atexit._run_exitfuncs()
|
||||
finally:
|
||||
sys.exitfunc = exfunc
|
||||
self.assertEqual(self.subst_io.getvalue(), "h2\nh1\n")
|
||||
|
||||
def test_raise(self):
|
||||
atexit.register(self.raise1)
|
||||
atexit.register(self.raise2)
|
||||
self.assertRaises(TypeError, atexit._run_exitfuncs)
|
||||
|
||||
### helpers
|
||||
def h1(self):
|
||||
print "h1"
|
||||
|
||||
def h2(self):
|
||||
print "h2"
|
||||
|
||||
def h3(self):
|
||||
print "h3"
|
||||
|
||||
def h4(self, *args, **kwargs):
|
||||
print "h4", args, kwargs
|
||||
|
||||
def raise1(self):
|
||||
raise TypeError
|
||||
|
||||
def raise2(self):
|
||||
raise SystemError
|
||||
|
||||
def test_main():
|
||||
test_support.run_unittest(TestCase)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
test_main()
|
Reference in New Issue
Block a user