Make functional tests tolerate pre-existing versioned container
test/functional/tests.py:TestAccount.testAccountHead relies on the account having a known number of containers. The test setup attempts to delete all existing containers but this fails a container has versions (and so is not emptied, and cannot be deleted). The tests then fails because the expected number of containers does not match the actual. 'bin/resetswift' before running tests will obviously clear all state but is not always convenient. This change removes any x-versions-location header before deleting containers during test setUp. Steps to recreate the pre-condition for failure on master: (based on original work by clayg) swift post target -r '.r:*, .rlistings' swift post source -H 'x-versions-location: target' for i in {1..4}; do echo "junk${i}" > junk swift upload source junk done Co-Authored-By: Clay Gerrard <clay.gerrard@gmail.com> Change-Id: I3efb6c20dc1fb3e979087e8a93d04ba7e346b5b6
This commit is contained in:
parent
6a473e3d7b
commit
ceaaedbe40
@ -460,6 +460,7 @@ class Account(Base):
|
||||
def delete_containers(self):
|
||||
for c in listing_items(self.containers):
|
||||
cont = self.container(c)
|
||||
cont.update_metadata(hdrs={'x-versions-location': ''})
|
||||
if not cont.delete_recursive():
|
||||
return False
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user