Thread: New unified regression test driver
I've committed the announced unified regression test driver. (See Sep.20 message for list of features.) You can invoke it via `make check', either in the top level directory, or directly in src/test/regress. To test against a running installation, use `make installcheck'. The existing drivers still work unchanged, but should probably be superceded by this eventually. -- Peter Eisentraut peter_e@gmx.net http://yi.org/peter-e/
Peter Eisentraut wrote: > I've committed the announced unified regression test driver. (See Sep.20 > message for list of features.) You can invoke it via `make check', either > in the top level directory, or directly in src/test/regress. To test > against a running installation, use `make installcheck'. First, Peter, thanks a million for all the work you've done on PostgreSQL. That said, I have a request -- since the binary distributions might possibly be installed on machines with no make and no compiler, I would like to see the regression tests be reduced to a simple script and driver that could be simply invoked with no need for make. Binary-only users might want to regress a little, too. Up until RH7, the postgresql-test RPM as shipped had a halfway built regression test suite, and the finishing touch was supplied by the user at run time who invoked regress.sh directly with the appropriate arguments. However, this didn't allow the user to run the parallel regression suite. People are running PostgreSQL every day on machines with no compiler and no source code -- they need a regression suite, too. Of course, I can always work around the issue, as I have in the past.... -- Lamar Owen WGCR Internet Radio 1 Peter 4:11
Lamar Owen writes: > That said, I have a request -- since the binary distributions might > possibly be installed on machines with no make and no compiler, I would > like to see the regression tests be reduced to a simple script and > driver that could be simply invoked with no need for make. Binary-only > users might want to regress a little, too. This was originally one of my implementation goals, but it's a bit tricky. Some of the SQL input files contains absolute paths as part of CREATE FUNCTION or COPY commands. We'd have to patch up these paths as part of the installation run. That's terribly inelegant and it would probably break something else I'm thinking about. (Automatically generating install manifests by substituting something clever for the $(INSTALL) make variable. You might be interested in this too. Stay tuned.) That said, the new script should make things a bit easier for you because it is reasonably standalone, allows parallel and serial regression tests, and has command line options to find the input and output files. The ugly details about how to install the right files I would like to leave up to the packager right now. One thing I thought of was that perhaps the regression test driver could substitute the correct paths at run time rather than at build time. But that would break backward compatibility with the old drivers, and as we haven't even settled on the new one yet, it's probably an inopportune time to try it now. -- Peter Eisentraut peter_e@gmx.net http://yi.org/peter-e/
This may sound stupid, but what's wrong with including a binary make executable in a binary PostgreSQL package? It could be stored in the regression test directory and then you could write a "standard" regression test makefile instead of a different "script" for each platform. A compiler would be out of the question due to its size, but a binary make shouldn't be too large. Fred Reimer Eclipsys Corporation > -----Original Message----- > From: pgsql-hackers-owner@hub.org > [mailto:pgsql-hackers-owner@hub.org]On > Behalf Of Peter Eisentraut > Sent: Thursday, October 05, 2000 1:43 PM > To: Lamar Owen > Cc: PostgreSQL Development > Subject: Re: [HACKERS] New unified regression test driver > > > Lamar Owen writes: > > > That said, I have a request -- since the binary distributions might > > possibly be installed on machines with no make and no > compiler, I would > > like to see the regression tests be reduced to a simple script and > > driver that could be simply invoked with no need for make. > Binary-only > > users might want to regress a little, too. > > This was originally one of my implementation goals, but it's > a bit tricky. > Some of the SQL input files contains absolute paths as part of CREATE > FUNCTION or COPY commands. We'd have to patch up these paths > as part of > the installation run. That's terribly inelegant and it would probably > break something else I'm thinking about. (Automatically generating > install manifests by substituting something clever for the > $(INSTALL) make > variable. You might be interested in this too. Stay tuned.) > > That said, the new script should make things a bit easier for > you because > it is reasonably standalone, allows parallel and serial > regression tests, > and has command line options to find the input and output > files. The ugly > details about how to install the right files I would like to > leave up to > the packager right now. > > One thing I thought of was that perhaps the regression test > driver could > substitute the correct paths at run time rather than at build > time. But > that would break backward compatibility with the old drivers, > and as we > haven't even settled on the new one yet, it's probably an > inopportune time > to try it now. > > -- > Peter Eisentraut peter_e@gmx.net http://yi.org/peter-e/ > >
Frederick W. Reimer writes: > This may sound stupid, but what's wrong with including a binary make > executable in a binary PostgreSQL package? We don't need "make" for the regression test. -- Peter Eisentraut peter_e@gmx.net http://yi.org/peter-e/