summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJay Doane <jay.s.doane@gmail.com>2018-12-22 21:46:11 -0800
committerJay Doane <jay.s.doane@gmail.com>2018-12-22 21:46:11 -0800
commit90c0a6f9d328f0d0d66af6c90cd320b95762f864 (patch)
tree02613c1e209835b660104874d63de8043c1aa624
parentc54bea33f9ad7d74548fab5e1c4d781d78fb22a3 (diff)
downloadcouchdb-90c0a6f9d328f0d0d66af6c90cd320b95762f864.tar.gz
Improve all_docs_test robustness
Wrap deleted element assertions in retry_until to prevent timing related failures like: AllDocsTest * test All Docs tests (331.1ms) 1) test All Docs tests (AllDocsTest) test/all_docs_test.exs:15 Assertion with == failed code: assert length(deleted) == 1 left: 0 right: 1 stacktrace: test/all_docs_test.exs:72: (test)
-rw-r--r--test/elixir/test/all_docs_test.exs9
1 files changed, 6 insertions, 3 deletions
diff --git a/test/elixir/test/all_docs_test.exs b/test/elixir/test/all_docs_test.exs
index 1869277fe..b8f21e7c0 100644
--- a/test/elixir/test/all_docs_test.exs
+++ b/test/elixir/test/all_docs_test.exs
@@ -69,9 +69,12 @@ defmodule AllDocsTest do
assert Couch.delete("/#{db_name}/1", query: %{:rev => doc1["_rev"]}).body["ok"]
changes = Couch.get("/#{db_name}/_changes").body["results"]
assert length(changes) == 4
- deleted = Enum.filter(changes, fn row -> row["deleted"] end)
- assert length(deleted) == 1
- assert hd(deleted)["id"] == "1"
+
+ retry_until(fn ->
+ deleted = Enum.filter(changes, fn row -> row["deleted"] end)
+ assert length(deleted) == 1
+ assert hd(deleted)["id"] == "1"
+ end)
# (remember old seq)
orig_doc = Enum.find(changes, fn row -> row["id"] == "3" end)