From 4710c53dcad1ebf3755f3efb9e80ac24bd72a9b2 Mon Sep 17 00:00:00 2001
From: darylm503 <darylm503@6f19259b-4bc3-4df7-8a09-765794883524>
Date: Mon, 16 Apr 2012 22:12:42 +0000
Subject: 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
---
 .../Python/Python-2.7.2/Lib/test/test_fnmatch.py   | 72 ++++++++++++++++++++++
 1 file changed, 72 insertions(+)
 create mode 100644 AppPkg/Applications/Python/Python-2.7.2/Lib/test/test_fnmatch.py

(limited to 'AppPkg/Applications/Python/Python-2.7.2/Lib/test/test_fnmatch.py')

diff --git a/AppPkg/Applications/Python/Python-2.7.2/Lib/test/test_fnmatch.py b/AppPkg/Applications/Python/Python-2.7.2/Lib/test/test_fnmatch.py
new file mode 100644
index 0000000000..5d37777372
--- /dev/null
+++ b/AppPkg/Applications/Python/Python-2.7.2/Lib/test/test_fnmatch.py
@@ -0,0 +1,72 @@
+"""Test cases for the fnmatch module."""
+
+from test import test_support
+import unittest
+
+from fnmatch import fnmatch, fnmatchcase, _MAXCACHE, _cache
+from fnmatch import fnmatch, fnmatchcase, _MAXCACHE, _cache, _purge
+
+
+class FnmatchTestCase(unittest.TestCase):
+
+    def tearDown(self):
+        _purge()
+
+    def check_match(self, filename, pattern, should_match=1, fn=fnmatch):
+        if should_match:
+            self.assertTrue(fn(filename, pattern),
+                         "expected %r to match pattern %r"
+                         % (filename, pattern))
+        else:
+            self.assertTrue(not fn(filename, pattern),
+                         "expected %r not to match pattern %r"
+                         % (filename, pattern))
+
+    def test_fnmatch(self):
+        check = self.check_match
+        check('abc', 'abc')
+        check('abc', '?*?')
+        check('abc', '???*')
+        check('abc', '*???')
+        check('abc', '???')
+        check('abc', '*')
+        check('abc', 'ab[cd]')
+        check('abc', 'ab[!de]')
+        check('abc', 'ab[de]', 0)
+        check('a', '??', 0)
+        check('a', 'b', 0)
+
+        # these test that '\' is handled correctly in character sets;
+        # see SF bug #409651
+        check('\\', r'[\]')
+        check('a', r'[!\]')
+        check('\\', r'[!\]', 0)
+
+        # test that filenames with newlines in them are handled correctly.
+        # http://bugs.python.org/issue6665
+        check('foo\nbar', 'foo*')
+        check('foo\nbar\n', 'foo*')
+        check('\nfoo', 'foo*', False)
+        check('\n', '*')
+
+    def test_fnmatchcase(self):
+        check = self.check_match
+        check('AbC', 'abc', 0, fnmatchcase)
+        check('abc', 'AbC', 0, fnmatchcase)
+
+    def test_cache_clearing(self):
+        # check that caches do not grow too large
+        # http://bugs.python.org/issue7846
+
+        # string pattern cache
+        for i in range(_MAXCACHE + 1):
+            fnmatch('foo', '?' * i)
+
+        self.assertLessEqual(len(_cache), _MAXCACHE)
+
+def test_main():
+    test_support.run_unittest(FnmatchTestCase)
+
+
+if __name__ == "__main__":
+    test_main()
-- 
cgit v1.2.3