From 6c3619469264d7dff05838fb632c546289df4e6e Mon Sep 17 00:00:00 2001 From: Kun Huang Date: Wed, 31 Jul 2013 11:50:06 +0800 Subject: [PATCH] give value [] if disallowed_metadata_keys is None The default value of DiskFile.disallowed_metadata_keys is None. And it will be iter in following codes even if it didn't get a new value. So it is necessary to give Diskfile.disallowed_metadata_keys an empty list in __init__ if the default value None is used. fixes bug #1206740 Change-Id: I8454eba47b2c691166924356ab33b0235a800951 --- swift/obj/diskfile.py | 2 +- test/unit/obj/test_diskfile.py | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/swift/obj/diskfile.py b/swift/obj/diskfile.py index 55805f8ba6..9a221ebcf5 100644 --- a/swift/obj/diskfile.py +++ b/swift/obj/diskfile.py @@ -364,7 +364,7 @@ class DiskFile(object): self.device_path = join(path, device) self.tmpdir = join(path, device, 'tmp') self.logger = logger - self.disallowed_metadata_keys = disallowed_metadata_keys + self.disallowed_metadata_keys = disallowed_metadata_keys or [] self.metadata = {} self.meta_file = None self.data_file = None diff --git a/test/unit/obj/test_diskfile.py b/test/unit/obj/test_diskfile.py index d894950963..cb1cad2b8c 100644 --- a/test/unit/obj/test_diskfile.py +++ b/test/unit/obj/test_diskfile.py @@ -342,6 +342,12 @@ class TestDiskFile(unittest.TestCase): FakeLogger(), keep_data_fp=keep_data_fp) return df + def test_disk_file_default_disallowed_metadata(self): + keep_data_fp = True + df = diskfile.DiskFile(self.testdir, 'sda1', '0', 'a', 'c', 'o', + FakeLogger(), keep_data_fp=keep_data_fp) + self.assertEquals(df.disallowed_metadata_keys, []) + def test_disk_file_app_iter_corners(self): df = self._create_test_file('1234567890') self.assertEquals(''.join(df.app_iter_range(0, None)), '1234567890')