summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Avdey <eiri@eiri.ca>2018-01-04 12:05:36 -0400
committerEric Avdey <eiri@eiri.ca>2018-01-04 12:05:36 -0400
commit0dfbad5c9e3f85ce83166229f5c646986b8bc42f (patch)
treeeaa7f1ed8dcdc83a4ccf9a9a9c48c3801f614292
parent3c90cc3aa72090ad6db8675167a1af17ed5182f4 (diff)
downloadcouchdb-0dfbad5c9e3f85ce83166229f5c646986b8bc42f.tar.gz
Make sure mango tests's recreate fun creates db
Rapid same database deletion/creation is a known antipattern prone to a race condition, especially on slow VMs. This fix modifies mango test's helper function used for db recreation to ensure that we are actually starting tests when a database created and empty.
-rw-r--r--src/mango/test/mango.py14
1 files changed, 8 insertions, 6 deletions
diff --git a/src/mango/test/mango.py b/src/mango/test/mango.py
index 560914b8c..ecf969e04 100644
--- a/src/mango/test/mango.py
+++ b/src/mango/test/mango.py
@@ -82,13 +82,15 @@ class Database(object):
def recreate(self):
r = self.sess.get(self.url)
- db_info = r.json()
- docs = db_info["doc_count"] + db_info["doc_del_count"]
- if docs == 0:
- # db never used - create unnecessary
- return
- self.delete()
+ if r.status_code == 200:
+ db_info = r.json()
+ docs = db_info["doc_count"] + db_info["doc_del_count"]
+ if docs == 0:
+ # db never used - create unnecessary
+ return
+ self.delete()
self.create()
+ self.recreate()
def save_doc(self, doc):
self.save_docs([doc])