]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
bpo-35458: Fix test_shutil.test_disk_usage() (GH-11111)
authorVictor Stinner <vstinner@redhat.com>
Tue, 11 Dec 2018 11:05:21 +0000 (12:05 +0100)
committerGitHub <noreply@github.com>
Tue, 11 Dec 2018 11:05:21 +0000 (12:05 +0100)
The following test fails if a different process creates or removes
a file on the same disk partition between the two lines:

    usage = shutil.disk_usage(os.path.dirname(__file__))
    self.assertEqual(usage, shutil.disk_usage(__file__))

Only test that disk_usage() succeed on a filename, but don't check
the result. Add also tests on the fields type (must be int).

Lib/test/test_shutil.py

index 9db6aec19206118d8afd9c6591b936e94992c577..ec8fcc3eef01e2516e236b847e8e766b0282e741 100644 (file)
@@ -1363,13 +1363,17 @@ class TestShutil(unittest.TestCase):
                          "disk_usage not available on this platform")
     def test_disk_usage(self):
         usage = shutil.disk_usage(os.path.dirname(__file__))
-        self.assertEqual(usage, shutil.disk_usage(__file__))
+        for attr in ('total', 'used', 'free'):
+            self.assertIsInstance(getattr(usage, attr), int)
         self.assertGreater(usage.total, 0)
         self.assertGreater(usage.used, 0)
         self.assertGreaterEqual(usage.free, 0)
         self.assertGreaterEqual(usage.total, usage.used)
         self.assertGreater(usage.total, usage.free)
 
+        # bpo-32557: Check that disk_usage() also accepts a filename
+        shutil.disk_usage(__file__)
+
     @unittest.skipUnless(UID_GID_SUPPORT, "Requires grp and pwd support")
     @unittest.skipUnless(hasattr(os, 'chown'), 'requires os.chown')
     def test_chown(self):