From dc525f4315cdbe84693396d3f7a65a00425743bb Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Tue, 11 Dec 2018 12:05:21 +0100 Subject: [PATCH] bpo-35458: Fix test_shutil.test_disk_usage() (GH-11111) 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 | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Lib/test/test_shutil.py b/Lib/test/test_shutil.py index 9db6aec1920..ec8fcc3eef0 100644 --- a/Lib/test/test_shutil.py +++ b/Lib/test/test_shutil.py @@ -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):