Regression Test Procedure

Commands were tested on RedHat Linux version 4.2 using the bash shell. Except where noted, they will probably work on most systems. Commands like ps and tar vary wildly on what options you should use on each platform. Use common sense before typing in these commands.

For a fresh install or upgrading from previous releases of Postgres:

Postgres Regression Configuration

  1. The file /usr/src/pgsql/src/test/regress/README has detailed instructions for running and interpreting the regression tests. A short version follows here:

    If the postmaster is not already running, start the postmaster on an available window by typing

    	    postmaster
    	  
    or start the postmaster daemon running in the background by typing
    	    cd
    	    nohup postmaster > regress.log 2>&1 &
    	  

    Run postmaster from your Postgres super user account (typically account postgres).

    Note: Do not run postmaster from the root account.

  2. If you have previously invoked the regression test, clean up the working directory with:

    	    cd /usr/src/pgsql/src/test/regress
    	    gmake clean
    	  

    You do not need to type "gmake clean" if this is the first time you are running the tests.

  3. Build the regression test. Type

    	    cd /usr/src/pgsql/src/test/regress
    	    gmake all
    	  

  4. Run the regression tests. Type

    	    cd /usr/src/pgsql/src/test/regress
    	    gmake runtest
    	  

  5. You should get on the screen (and also written to file ./regress.out) a series of statements stating which tests passed and which tests failed. Please note that it can be normal for some of the tests to "fail". For the failed tests, use diff to compare the files in directories ./results and ./expected. If float8 failed, type something like:

    	    cd /usr/src/pgsql/src/test/regress
    	    diff -w expected/float8.out results
    	  

  6. After running the tests and examining the results, type

    	    destroydb regression
    	    cd /usr/src/pgsql/src/test/regress
    	    gmake clean
    	  
    to recover the temporary disk space used by the tests.