]> git.proxmox.com Git - mirror_edk2.git/blobdiff - AppPkg/Applications/Python/Python-2.7.2/Lib/test/test_largefile.py
edk2: Remove AppPkg, StdLib, StdLibPrivateInternalFiles
[mirror_edk2.git] / AppPkg / Applications / Python / Python-2.7.2 / Lib / test / test_largefile.py
diff --git a/AppPkg/Applications/Python/Python-2.7.2/Lib/test/test_largefile.py b/AppPkg/Applications/Python/Python-2.7.2/Lib/test/test_largefile.py
deleted file mode 100644 (file)
index 794cc37..0000000
+++ /dev/null
@@ -1,200 +0,0 @@
-"""Test largefile support on system where this makes sense.\r
-"""\r
-\r
-from __future__ import print_function\r
-\r
-import os\r
-import stat\r
-import sys\r
-import unittest\r
-from test.test_support import run_unittest, TESTFN, verbose, requires, \\r
-                              unlink\r
-import io  # C implementation of io\r
-import _pyio as pyio # Python implementation of io\r
-\r
-try:\r
-    import signal\r
-    # The default handler for SIGXFSZ is to abort the process.\r
-    # By ignoring it, system calls exceeding the file size resource\r
-    # limit will raise IOError instead of crashing the interpreter.\r
-    oldhandler = signal.signal(signal.SIGXFSZ, signal.SIG_IGN)\r
-except (ImportError, AttributeError):\r
-    pass\r
-\r
-# create >2GB file (2GB = 2147483648 bytes)\r
-size = 2500000000\r
-\r
-\r
-class LargeFileTest(unittest.TestCase):\r
-    """Test that each file function works as expected for a large\r
-    (i.e. > 2GB, do  we have to check > 4GB) files.\r
-\r
-    NOTE: the order of execution of the test methods is important! test_seek\r
-    must run first to create the test file. File cleanup must also be handled\r
-    outside the test instances because of this.\r
-\r
-    """\r
-\r
-    def test_seek(self):\r
-        if verbose:\r
-            print('create large file via seek (may be sparse file) ...')\r
-        with self.open(TESTFN, 'wb') as f:\r
-            f.write(b'z')\r
-            f.seek(0)\r
-            f.seek(size)\r
-            f.write(b'a')\r
-            f.flush()\r
-            if verbose:\r
-                print('check file size with os.fstat')\r
-            self.assertEqual(os.fstat(f.fileno())[stat.ST_SIZE], size+1)\r
-\r
-    def test_osstat(self):\r
-        if verbose:\r
-            print('check file size with os.stat')\r
-        self.assertEqual(os.stat(TESTFN)[stat.ST_SIZE], size+1)\r
-\r
-    def test_seek_read(self):\r
-        if verbose:\r
-            print('play around with seek() and read() with the built largefile')\r
-        with self.open(TESTFN, 'rb') as f:\r
-            self.assertEqual(f.tell(), 0)\r
-            self.assertEqual(f.read(1), b'z')\r
-            self.assertEqual(f.tell(), 1)\r
-            f.seek(0)\r
-            self.assertEqual(f.tell(), 0)\r
-            f.seek(0, 0)\r
-            self.assertEqual(f.tell(), 0)\r
-            f.seek(42)\r
-            self.assertEqual(f.tell(), 42)\r
-            f.seek(42, 0)\r
-            self.assertEqual(f.tell(), 42)\r
-            f.seek(42, 1)\r
-            self.assertEqual(f.tell(), 84)\r
-            f.seek(0, 1)\r
-            self.assertEqual(f.tell(), 84)\r
-            f.seek(0, 2)  # seek from the end\r
-            self.assertEqual(f.tell(), size + 1 + 0)\r
-            f.seek(-10, 2)\r
-            self.assertEqual(f.tell(), size + 1 - 10)\r
-            f.seek(-size-1, 2)\r
-            self.assertEqual(f.tell(), 0)\r
-            f.seek(size)\r
-            self.assertEqual(f.tell(), size)\r
-            # the 'a' that was written at the end of file above\r
-            self.assertEqual(f.read(1), b'a')\r
-            f.seek(-size-1, 1)\r
-            self.assertEqual(f.read(1), b'z')\r
-            self.assertEqual(f.tell(), 1)\r
-\r
-    def test_lseek(self):\r
-        if verbose:\r
-            print('play around with os.lseek() with the built largefile')\r
-        with self.open(TESTFN, 'rb') as f:\r
-            self.assertEqual(os.lseek(f.fileno(), 0, 0), 0)\r
-            self.assertEqual(os.lseek(f.fileno(), 42, 0), 42)\r
-            self.assertEqual(os.lseek(f.fileno(), 42, 1), 84)\r
-            self.assertEqual(os.lseek(f.fileno(), 0, 1), 84)\r
-            self.assertEqual(os.lseek(f.fileno(), 0, 2), size+1+0)\r
-            self.assertEqual(os.lseek(f.fileno(), -10, 2), size+1-10)\r
-            self.assertEqual(os.lseek(f.fileno(), -size-1, 2), 0)\r
-            self.assertEqual(os.lseek(f.fileno(), size, 0), size)\r
-            # the 'a' that was written at the end of file above\r
-            self.assertEqual(f.read(1), b'a')\r
-\r
-    def test_truncate(self):\r
-        if verbose:\r
-            print('try truncate')\r
-        with self.open(TESTFN, 'r+b') as f:\r
-            # this is already decided before start running the test suite\r
-            # but we do it anyway for extra protection\r
-            if not hasattr(f, 'truncate'):\r
-                raise unittest.SkipTest("open().truncate() not available on this system")\r
-            f.seek(0, 2)\r
-            # else we've lost track of the true size\r
-            self.assertEqual(f.tell(), size+1)\r
-            # Cut it back via seek + truncate with no argument.\r
-            newsize = size - 10\r
-            f.seek(newsize)\r
-            f.truncate()\r
-            self.assertEqual(f.tell(), newsize)  # else pointer moved\r
-            f.seek(0, 2)\r
-            self.assertEqual(f.tell(), newsize)  # else wasn't truncated\r
-            # Ensure that truncate(smaller than true size) shrinks\r
-            # the file.\r
-            newsize -= 1\r
-            f.seek(42)\r
-            f.truncate(newsize)\r
-            if self.new_io:\r
-                self.assertEqual(f.tell(), 42)\r
-            f.seek(0, 2)\r
-            self.assertEqual(f.tell(), newsize)\r
-            # XXX truncate(larger than true size) is ill-defined\r
-            # across platform; cut it waaaaay back\r
-            f.seek(0)\r
-            f.truncate(1)\r
-            if self.new_io:\r
-                self.assertEqual(f.tell(), 0)       # else pointer moved\r
-            f.seek(0)\r
-            self.assertEqual(len(f.read()), 1)  # else wasn't truncated\r
-\r
-    def test_seekable(self):\r
-        # Issue #5016; seekable() can return False when the current position\r
-        # is negative when truncated to an int.\r
-        if not self.new_io:\r
-            self.skipTest("builtin file doesn't have seekable()")\r
-        for pos in (2**31-1, 2**31, 2**31+1):\r
-            with self.open(TESTFN, 'rb') as f:\r
-                f.seek(pos)\r
-                self.assertTrue(f.seekable())\r
-\r
-\r
-def test_main():\r
-    # On Windows and Mac OSX this test comsumes large resources; It\r
-    # takes a long time to build the >2GB file and takes >2GB of disk\r
-    # space therefore the resource must be enabled to run this test.\r
-    # If not, nothing after this line stanza will be executed.\r
-    if sys.platform[:3] == 'win' or sys.platform == 'darwin':\r
-        requires('largefile',\r
-                 'test requires %s bytes and a long time to run' % str(size))\r
-    else:\r
-        # Only run if the current filesystem supports large files.\r
-        # (Skip this test on Windows, since we now always support\r
-        # large files.)\r
-        f = open(TESTFN, 'wb', buffering=0)\r
-        try:\r
-            # 2**31 == 2147483648\r
-            f.seek(2147483649)\r
-            # Seeking is not enough of a test: you must write and\r
-            # flush, too!\r
-            f.write(b'x')\r
-            f.flush()\r
-        except (IOError, OverflowError):\r
-            f.close()\r
-            unlink(TESTFN)\r
-            raise unittest.SkipTest("filesystem does not have largefile support")\r
-        else:\r
-            f.close()\r
-    suite = unittest.TestSuite()\r
-    for _open, prefix in [(io.open, 'C'), (pyio.open, 'Py'),\r
-                          (open, 'Builtin')]:\r
-        class TestCase(LargeFileTest):\r
-            pass\r
-        TestCase.open = staticmethod(_open)\r
-        TestCase.new_io = _open is not open\r
-        TestCase.__name__ = prefix + LargeFileTest.__name__\r
-        suite.addTest(TestCase('test_seek'))\r
-        suite.addTest(TestCase('test_osstat'))\r
-        suite.addTest(TestCase('test_seek_read'))\r
-        suite.addTest(TestCase('test_lseek'))\r
-        with _open(TESTFN, 'wb') as f:\r
-            if hasattr(f, 'truncate'):\r
-                suite.addTest(TestCase('test_truncate'))\r
-        suite.addTest(TestCase('test_seekable'))\r
-        unlink(TESTFN)\r
-    try:\r
-        run_unittest(suite)\r
-    finally:\r
-        unlink(TESTFN)\r
-\r
-if __name__ == '__main__':\r
-    test_main()\r