On Mon, Jul 1, 2019 at 11:26 PM Michael Paquier <michael@paquier.xyz> wrote:
On Fri, Jun 28, 2019 at 09:42:54AM -0400, Adam Berlin wrote: > If we were to use this tool, would the community want to vendor the > framework in the Postgres repository, or keep it in a separate repository > that produces a versioned shared library?
Well, my take is that having a base infrastructure for a fault injection framework is something that would prove to be helpful, and that I am not against having something in core. While working on various issues, I have found myself doing many times crazy stat() calls on an on-disk file to enforce an elog(ERROR) or elog(FATAL), and by experience fault points are things very *hard* to place correctly because they should not be single-purpose things.
Now, we don't want to finish with an infinity of fault points in the tree, but being able to enforce a failure in a point added for a patch using a SQL command can make the integration of tests in a patch easier for reviewers, for example isolation tests with elog(ERROR) (like what has been discussed for b4721f3).
Just to clarify what Adam is proposing in this thread is *not* a fault injection framework.