tests: add more diagnostics when code-under-test fails

This prints out which things are different when two sets are expected to be the
same. This was useful to me when debugging the code under test. Hm, this
pattern might be more generally useful...
This commit is contained in:
Zooko O'Whielacronx 2012-11-29 14:11:47 -07:00
parent abcde9645c
commit 73d5a059bd

View File

@ -716,6 +716,9 @@ class Repairer(GridTestMixin, unittest.TestCase, RepairTestMixin,
# not respond to the pre-repair filecheck
prr = rr.get_post_repair_results()
expected = set(self.g.get_all_serverids())
responding_set = frozenset([s.get_serverid() for s in prr.get_servers_responding()])
self.failIf(expected - responding_set, expected - responding_set)
self.failIf(responding_set - expected, responding_set - expected)
self.failUnlessEqual(expected,
set([s.get_serverid()
for s in prr.get_servers_responding()]))