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
This commit is contained in:
Kun Huang 2013-07-31 11:50:06 +08:00 committed by Clay Gerrard
parent a11ecc35b7
commit 6c36194692
2 changed files with 7 additions and 1 deletions
swift/obj
test/unit/obj

@ -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

@ -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')