Thread: improving python3 regression test setup

improving python3 regression test setup

From
Peter Eisentraut
Date:
I have developed a patch to make the python3 regression test setup a bit
simpler.  Currently, we are making mangled copies of
plpython/{expected,sql} to plpython/python3/{expected,sql}, and run the
tests in plpython/python3.  This has the disadvantage that the
regression.diffs file, if any, ends up in plpython/python3, which is not
the normal location.  If we instead make the mangled copies in
plpython/{expected,sql}/python3/, we can run the tests from the normal
directory, regression.diffs ends up the normal place, and the pg_regress
invocation also becomes a lot simpler.  It's also more obvious at run
time what's going on, because the tests end up being named
"python3/something" in the test output.

Attachment

Re: improving python3 regression test setup

From
Alvaro Herrera
Date:
Excerpts from Peter Eisentraut's message of jue sep 06 21:33:33 -0300 2012:
> I have developed a patch to make the python3 regression test setup a bit
> simpler.  Currently, we are making mangled copies of
> plpython/{expected,sql} to plpython/python3/{expected,sql}, and run the
> tests in plpython/python3.  This has the disadvantage that the
> regression.diffs file, if any, ends up in plpython/python3, which is not
> the normal location.  If we instead make the mangled copies in
> plpython/{expected,sql}/python3/, we can run the tests from the normal
> directory, regression.diffs ends up the normal place, and the pg_regress
> invocation also becomes a lot simpler.  It's also more obvious at run
> time what's going on, because the tests end up being named
> "python3/something" in the test output.

Uhm .. wouldn't it be simpler if the sql files were in input/ and the
expected in output/, and have pg_regress do the mangling?  Maybe there
would need to be some tweak to pg_regress itself (such as the ability to
pass mangling to be done), but that seems cleaner to me.

--
Álvaro Herrera                http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services



Re: improving python3 regression test setup

From
Peter Eisentraut
Date:
On 9/6/12 8:56 PM, Alvaro Herrera wrote:
> Excerpts from Peter Eisentraut's message of jue sep 06 21:33:33 -0300 2012:
>> I have developed a patch to make the python3 regression test setup a bit
>> simpler.  Currently, we are making mangled copies of
>> plpython/{expected,sql} to plpython/python3/{expected,sql}, and run the
>> tests in plpython/python3.  This has the disadvantage that the
>> regression.diffs file, if any, ends up in plpython/python3, which is not
>> the normal location.  If we instead make the mangled copies in
>> plpython/{expected,sql}/python3/, we can run the tests from the normal
>> directory, regression.diffs ends up the normal place, and the pg_regress
>> invocation also becomes a lot simpler.  It's also more obvious at run
>> time what's going on, because the tests end up being named
>> "python3/something" in the test output.
> 
> Uhm .. wouldn't it be simpler if the sql files were in input/ and the
> expected in output/, and have pg_regress do the mangling?  Maybe there
> would need to be some tweak to pg_regress itself (such as the ability to
> pass mangling to be done), but that seems cleaner to me.

Maybe that could be made to work if pg_regress were passed in a script
to do the mangling.  (You don't want to hard-code the specific
requirements of plpython into pg_regress.)  But that seems like a lot of
extra work for no real additional benefit.