[PATCH] reduce churn-induced conflicts in selftest/knownfail and flapping
douglas.bagnall at catalyst.net.nz
Fri Jun 2 04:31:02 UTC 2017
Broadly speaking, there are two kinds of entries in selftest/knownfail:
the "WONTFIX-at-least-not-today" lines (some apparently dating from
2008), and the "proof of fix" lines that are added and removed at either
end of a changeset to demonstrate a decrease in brokenness. Both kinds
are often added to the end of the knownfail file, which is a natural
thing to do given it has no intrinsic order. This leads to a lot of
flickering activity that causes git conflicts when in semantic terms
there is no conflict (it's an unordered set of lines).
This patch makes the subunit framework look at all files in
selftest/knownfail.d/ and treat them as if they were one. The intention
is that long-lived entries can reside in selftest/knownfail.d/knownfail,
and the fleeting ones can come and go in arbitrarily named files in that
directory. For example (taken from the probable near future), supposing
I was fixing a problem with the way we handle single value constraints
in linked attributes, I could add tests and a knownfail file called
selftest/knownfail.d/ldap-linked-attributes (I wish I could say the name
was intentionally imperfect to show it doesn't really matter). Then a
few patches latter when all is good, I would remove the file but leave
the tests. We can all add fleeting knownfails with little risk of
This retains the benefit of the tests-first, proof-of-previous-failure
approach without the version control nuisance.
The same argument follows for selftest/flapping, although that sees a
bit less activity.
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 49255 bytes
Desc: not available
More information about the samba-technical