Gevik Babakhani wrote:
> Folks,
>
> Could someone please provide information about how to create a correct
> regression test?
Some information you can find on the PGXS docs:
<para> The scripts listed in the <varname>REGRESS</> variable are used for regression testing of your module,
justlike <literal>make installcheck</literal> is used for the main <productname>PostgreSQL</productname> server.
Forthis to work you need to have a subdirectory named <literal>sql/</literal> in your extension's directory, within
whichyou put one file for each group of tests you want to run. The files should have extension
<literal>.sql</literal>,which should not be included in the <varname>REGRESS</varname> list in the makefile. For
eachtest there should be a file containing the expected result in a subdirectory named <literal>expected/</literal>,
withextension <literal>.out</literal>. The tests are run by executing <literal>make installcheck</literal>, and
theresulting output will be compared to the expected files. The differences will be written to the file
<literal>regression.diffs</literal>in <command>diff -c</command> format. Note that trying to run a test which is
missingthe expected file will be reported as <quote>trouble</quote>, so make sure you have all expected files.
</para>
Note that not all of this applies to the backend regression tests, but
it should help. For the backend, you list the tests in the
serial_schedule and parallel_schedule files.
--
Alvaro Herrera http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.