On Sun, Jul 26, 2015 at 10:32 PM, Andreas Seltenreich <seltenreich@gmx.de> wrote:
Michael Paquier writes:
>> Footnotes: >> [1] https://github.com/anse1/sqlsmith > > This is really interesting stuff. I think that it would be possible to > extract self-contained test cases from your tool and those queries to > reproduce the failures. It is written that this tools connects to a > database to retrieve the schema, what is it exactly in the case of > those failures?
I used the database "regression" that pg_regress leaves behind when you remove the --temp-install from it's default invocation through make check. Sorry about not being explicit about that.
So, dropping one of the queries into src/test/regress/sql/smith.sql and invoking
make check EXTRA_TESTS=smith
was all that was needed to integrate them. I was then able to perform "git bisect run" on this command. Er, plus consing the expected output file.
I'm using the regression db a lot when hacking on sqlsmith, as it contains much more nasty things than your average database.
Ah, OK. Thanks. The code is licensed as GPL, has a dependency on libpqxx and is written in C++, so it cannot be integrated into core as a test module in this state, but I think that it would be definitely worth having something like that in the code tree that runs on the buildfarm. We could have caught up those problems earlier. Now I imagine that this is a costly run, so we had better have a switch to control if it is run or not, like a configure option or a flag. Thoughts? --