question regarding regression tests

Started by Gevik Babakhaniover 19 years ago3 messages
#1Gevik Babakhani
pgdev@xs4all.nl

Folks,

Could someone please provide information about how to create a correct
regression test?

Regards,
Gevik.

#2Alvaro Herrera
alvherre@commandprompt.com
In reply to: Gevik Babakhani (#1)
Re: question regarding regression tests

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, just like <literal>make
installcheck</literal> is used for the main
<productname>PostgreSQL</productname> server. For this to work you need
to have a subdirectory named <literal>sql/</literal> in your extension's
directory, within which you 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 each test there should be a file containing the expected
result in a subdirectory named <literal>expected/</literal>, with extension
<literal>.out</literal>. The tests are run by executing <literal>make
installcheck</literal>, and the resulting 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 missing the 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.

#3Gevik Babakhani
pgdev@xs4all.nl
In reply to: Alvaro Herrera (#2)
Re: question regarding regression tests

Thank you.

Show quoted text

On Fri, 2006-09-15 at 17:41 -0400, Alvaro Herrera wrote:

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, just like <literal>make
installcheck</literal> is used for the main
<productname>PostgreSQL</productname> server. For this to work you need
to have a subdirectory named <literal>sql/</literal> in your extension's
directory, within which you 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 each test there should be a file containing the expected
result in a subdirectory named <literal>expected/</literal>, with extension
<literal>.out</literal>. The tests are run by executing <literal>make
installcheck</literal>, and the resulting 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 missing the 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.