diff --git a/test/unit/common/test_utils.py b/test/unit/common/test_utils.py index 406d156936..9b9ffe9b14 100644 --- a/test/unit/common/test_utils.py +++ b/test/unit/common/test_utils.py @@ -2618,67 +2618,68 @@ cluster_dfw1 = http://dfw1.host/v1/ utils.config_fallocate_value('1024') StatVFS.f_frsize = 1024 StatVFS.f_bavail = 1 - exc = None - try: + + with self.assertRaises(OSError) as catcher: fallocate(0, 1, 0, ctypes.c_uint64(0)) - except OSError as err: - exc = err - self.assertEqual(str(exc), - '[Errno 28] FALLOCATE_RESERVE fail 1024 <= 1024') - self.assertEqual(err.errno, errno.ENOSPC) + self.assertEqual( + str(catcher.exception), + '[Errno %d] FALLOCATE_RESERVE fail 1024 <= 1024' + % errno.ENOSPC) + self.assertEqual(catcher.exception.errno, errno.ENOSPC) + # Want 1024 reserved, have 512 * 2 free, so fails utils.FALLOCATE_RESERVE, utils.FALLOCATE_IS_PERCENT = \ utils.config_fallocate_value('1024') StatVFS.f_frsize = 512 StatVFS.f_bavail = 2 - exc = None - try: + with self.assertRaises(OSError) as catcher: fallocate(0, 1, 0, ctypes.c_uint64(0)) - except OSError as err: - exc = err - self.assertEqual(str(exc), - '[Errno 28] FALLOCATE_RESERVE fail 1024 <= 1024') - self.assertEqual(err.errno, errno.ENOSPC) + self.assertEqual( + str(catcher.exception), + '[Errno %d] FALLOCATE_RESERVE fail 1024 <= 1024' + % errno.ENOSPC) + self.assertEqual(catcher.exception.errno, errno.ENOSPC) + # Want 2048 reserved, have 1024 * 1 free, so fails utils.FALLOCATE_RESERVE, utils.FALLOCATE_IS_PERCENT = \ utils.config_fallocate_value('2048') StatVFS.f_frsize = 1024 StatVFS.f_bavail = 1 - exc = None - try: + with self.assertRaises(OSError) as catcher: fallocate(0, 1, 0, ctypes.c_uint64(0)) - except OSError as err: - exc = err - self.assertEqual(str(exc), - '[Errno 28] FALLOCATE_RESERVE fail 1024 <= 2048') - self.assertEqual(err.errno, errno.ENOSPC) + self.assertEqual( + str(catcher.exception), + '[Errno %d] FALLOCATE_RESERVE fail 1024 <= 2048' + % errno.ENOSPC) + self.assertEqual(catcher.exception.errno, errno.ENOSPC) + # Want 2048 reserved, have 512 * 2 free, so fails utils.FALLOCATE_RESERVE, utils.FALLOCATE_IS_PERCENT = \ utils.config_fallocate_value('2048') StatVFS.f_frsize = 512 StatVFS.f_bavail = 2 - exc = None - try: + with self.assertRaises(OSError) as catcher: fallocate(0, 1, 0, ctypes.c_uint64(0)) - except OSError as err: - exc = err - self.assertEqual(str(exc), - '[Errno 28] FALLOCATE_RESERVE fail 1024 <= 2048') - self.assertEqual(err.errno, errno.ENOSPC) + self.assertEqual( + str(catcher.exception), + '[Errno %d] FALLOCATE_RESERVE fail 1024 <= 2048' + % errno.ENOSPC) + self.assertEqual(catcher.exception.errno, errno.ENOSPC) + # Want 1023 reserved, have 1024 * 1 free, but file size is 1, so # fails utils.FALLOCATE_RESERVE, utils.FALLOCATE_IS_PERCENT = \ utils.config_fallocate_value('1023') StatVFS.f_frsize = 1024 StatVFS.f_bavail = 1 - exc = None - try: + with self.assertRaises(OSError) as catcher: fallocate(0, 1, 0, ctypes.c_uint64(1)) - except OSError as err: - exc = err - self.assertEqual(str(exc), - '[Errno 28] FALLOCATE_RESERVE fail 1023 <= 1023') - self.assertEqual(err.errno, errno.ENOSPC) + self.assertEqual( + str(catcher.exception), + '[Errno %d] FALLOCATE_RESERVE fail 1023 <= 1023' + % errno.ENOSPC) + self.assertEqual(catcher.exception.errno, errno.ENOSPC) + # Want 1022 reserved, have 1024 * 1 free, and file size is 1, so # succeeds utils.FALLOCATE_RESERVE, utils.FALLOCATE_IS_PERCENT = \ @@ -2686,6 +2687,7 @@ cluster_dfw1 = http://dfw1.host/v1/ StatVFS.f_frsize = 1024 StatVFS.f_bavail = 1 self.assertEqual(fallocate(0, 1, 0, ctypes.c_uint64(1)), 0) + # Want 1% reserved, have 100 bytes * 2/100 free, and file size is # 99, so succeeds utils.FALLOCATE_RESERVE, utils.FALLOCATE_IS_PERCENT = \ @@ -2694,6 +2696,7 @@ cluster_dfw1 = http://dfw1.host/v1/ StatVFS.f_bavail = 2 StatVFS.f_blocks = 100 self.assertEqual(fallocate(0, 1, 0, ctypes.c_uint64(99)), 0) + # Want 2% reserved, have 50 bytes * 2/50 free, and file size is 49, # so succeeds utils.FALLOCATE_RESERVE, utils.FALLOCATE_IS_PERCENT = \ @@ -2702,6 +2705,7 @@ cluster_dfw1 = http://dfw1.host/v1/ StatVFS.f_bavail = 2 StatVFS.f_blocks = 50 self.assertEqual(fallocate(0, 1, 0, ctypes.c_uint64(49)), 0) + # Want 100% reserved, have 100 * 100/100 free, and file size is 0, # so fails. utils.FALLOCATE_RESERVE, utils.FALLOCATE_IS_PERCENT = \ @@ -2709,15 +2713,14 @@ cluster_dfw1 = http://dfw1.host/v1/ StatVFS.f_frsize = 100 StatVFS.f_bavail = 100 StatVFS.f_blocks = 100 - exc = None - try: + with self.assertRaises(OSError) as catcher: fallocate(0, 1, 0, ctypes.c_uint64(0)) - except OSError as err: - exc = err - self.assertEqual(str(exc), - '[Errno 28] FALLOCATE_RESERVE fail 100.0 <= ' - '100.0') - self.assertEqual(err.errno, errno.ENOSPC) + self.assertEqual( + str(catcher.exception), + '[Errno %d] FALLOCATE_RESERVE fail 100.0 <= 100.0' + % errno.ENOSPC) + self.assertEqual(catcher.exception.errno, errno.ENOSPC) + # Want 1% reserved, have 100 * 2/100 free, and file size is 101, # so fails. utils.FALLOCATE_RESERVE, utils.FALLOCATE_IS_PERCENT = \ @@ -2725,29 +2728,28 @@ cluster_dfw1 = http://dfw1.host/v1/ StatVFS.f_frsize = 100 StatVFS.f_bavail = 2 StatVFS.f_blocks = 100 - exc = None - try: + with self.assertRaises(OSError) as catcher: fallocate(0, 1, 0, ctypes.c_uint64(101)) - except OSError as err: - exc = err - self.assertEqual(str(exc), - '[Errno 28] FALLOCATE_RESERVE fail 0.99 <= 1.0') - self.assertEqual(err.errno, errno.ENOSPC) - # Want 98% reserved, have 100 bytes * 99/100 free, and file size + self.assertEqual( + str(catcher.exception), + '[Errno %d] FALLOCATE_RESERVE fail 0.99 <= 1.0' + % errno.ENOSPC) + self.assertEqual(catcher.exception.errno, errno.ENOSPC) + # is 100, so fails utils.FALLOCATE_RESERVE, utils.FALLOCATE_IS_PERCENT = \ utils.config_fallocate_value('98%') StatVFS.f_frsize = 100 StatVFS.f_bavail = 99 StatVFS.f_blocks = 100 - exc = None - try: + with self.assertRaises(OSError) as catcher: fallocate(0, 1, 0, ctypes.c_uint64(100)) - except OSError as err: - exc = err - self.assertEqual(str(exc), - '[Errno 28] FALLOCATE_RESERVE fail 98.0 <= 98.0') - self.assertEqual(err.errno, errno.ENOSPC) + self.assertEqual( + str(catcher.exception), + '[Errno %d] FALLOCATE_RESERVE fail 98.0 <= 98.0' + % errno.ENOSPC) + self.assertEqual(catcher.exception.errno, errno.ENOSPC) + # Want 2% reserved, have 1000 bytes * 21/1000 free, and file size # is 999, so succeeds. utils.FALLOCATE_RESERVE, utils.FALLOCATE_IS_PERCENT = \ @@ -2756,6 +2758,7 @@ cluster_dfw1 = http://dfw1.host/v1/ StatVFS.f_bavail = 21 StatVFS.f_blocks = 1000 self.assertEqual(fallocate(0, 1, 0, ctypes.c_uint64(999)), 0) + # Want 2% resereved, have 1000 bytes * 21/1000 free, and file size # is 1000, so fails. utils.FALLOCATE_RESERVE, utils.FALLOCATE_IS_PERCENT = \ @@ -2763,14 +2766,14 @@ cluster_dfw1 = http://dfw1.host/v1/ StatVFS.f_frsize = 1000 StatVFS.f_bavail = 21 StatVFS.f_blocks = 1000 - exc = None - try: + with self.assertRaises(OSError) as catcher: fallocate(0, 1, 0, ctypes.c_uint64(1000)) - except OSError as err: - exc = err - self.assertEqual(str(exc), - '[Errno 28] FALLOCATE_RESERVE fail 2.0 <= 2.0') - self.assertEqual(err.errno, errno.ENOSPC) + self.assertEqual( + str(catcher.exception), + '[Errno %d] FALLOCATE_RESERVE fail 2.0 <= 2.0' + % errno.ENOSPC) + self.assertEqual(catcher.exception.errno, errno.ENOSPC) + finally: utils.FALLOCATE_RESERVE = orig_FALLOCATE_RESERVE utils.os.fstatvfs = orig_fstatvfs