diff options
author | Jay Doane <jay.s.doane@gmail.com> | 2018-12-22 21:46:11 -0800 |
---|---|---|
committer | Jay Doane <jay.s.doane@gmail.com> | 2018-12-22 21:46:11 -0800 |
commit | 90c0a6f9d328f0d0d66af6c90cd320b95762f864 (patch) | |
tree | 02613c1e209835b660104874d63de8043c1aa624 | |
parent | c54bea33f9ad7d74548fab5e1c4d781d78fb22a3 (diff) | |
download | couchdb-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.exs | 9 |
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) |