XML regression test failure
$ make -C src/test/regress runtest
[ ... ]
test xml ... FAILED
test stats ... ok
test tablespace ... ok
========================
1 of 105 tests failed.
========================
The regression.diffs are attached. Note that this reproduces
consistently, but only occurs if I use the "runtest" Makefile target
(i.e. run the regression tests in serial mode); "make check" works fine,
for example.
-Neil
Attachments:
regression.diffstext/x-patch; charset=us-ascii; name=regression.diffsDownload
*** ./expected/xml.out Sat Jan 20 11:58:03 2007
--- ./results/xml.out Sat Jan 20 12:05:01 2007
***************
*** 57,64 ****
DETAIL: Expected '>'
SELECT xmlconcat('<foo/>', NULL, '<?xml version="1.1" standalone="no"?><bar/>');
xmlconcat
! -----------------------------------
! <?xml version="1.1"?><foo/><bar/>
(1 row)
SELECT xmlelement(name element,
--- 57,64 ----
DETAIL: Expected '>'
SELECT xmlconcat('<foo/>', NULL, '<?xml version="1.1" standalone="no"?><bar/>');
xmlconcat
! ---------------------------------------------------
! <foo/><?xml version="1.1" standalone="no"?><bar/>
(1 row)
SELECT xmlelement(name element,
***************
*** 275,297 ****
ERROR: invalid XML content
DETAIL: Element name not found
SELECT xmlagg(data) FROM xmltest;
! xmlagg
! --------------------------------------
! <value>one</value><value>two</value>
! (1 row)
!
SELECT xmlagg(data) FROM xmltest WHERE id > 10;
! xmlagg
! --------
!
! (1 row)
!
SELECT xmlelement(name employees, xmlagg(xmlelement(name name, name))) FROM emp;
! xmlelement
! --------------------------------------------------------------------------------------------------------------------------------
! <employees><name>sharon</name><name>sam</name><name>bill</name><name>jeff</name><name>cim</name><name>linda</name></employees>
! (1 row)
!
-- Check mapping SQL identifier to XML name
SELECT xmlpi(name ":::_xml_abc135.%-&_");
xmlpi
--- 275,294 ----
ERROR: invalid XML content
DETAIL: Element name not found
SELECT xmlagg(data) FROM xmltest;
! ERROR: function xmlagg(xml) does not exist
! LINE 1: SELECT xmlagg(data) FROM xmltest;
! ^
! HINT: No function matches the given name and argument types. You may need to add explicit type casts.
SELECT xmlagg(data) FROM xmltest WHERE id > 10;
! ERROR: function xmlagg(xml) does not exist
! LINE 1: SELECT xmlagg(data) FROM xmltest WHERE id > 10;
! ^
! HINT: No function matches the given name and argument types. You may need to add explicit type casts.
SELECT xmlelement(name employees, xmlagg(xmlelement(name name, name))) FROM emp;
! ERROR: function xmlagg(xml) does not exist
! LINE 1: SELECT xmlelement(name employees, xmlagg(xmlelement(name nam...
! ^
! HINT: No function matches the given name and argument types. You may need to add explicit type casts.
-- Check mapping SQL identifier to XML name
SELECT xmlpi(name ":::_xml_abc135.%-&_");
xmlpi
======================================================================
Neil Conway wrote:
The regression.diffs are attached. Note that this reproduces
consistently, but only occurs if I use the "runtest" Makefile target
(i.e. run the regression tests in serial mode); "make check" works
fine, for example.
You need to re-initdb.
--
Peter Eisentraut
http://developer.postgresql.org/~petere/
Peter Eisentraut <peter_e@gmx.net> writes:
Neil Conway wrote:
The regression.diffs are attached. Note that this reproduces
consistently, but only occurs if I use the "runtest" Makefile target
(i.e. run the regression tests in serial mode); "make check" works
fine, for example.
You need to re-initdb.
IOW someone forgot to bump catversion when committing a change that
invalidated the regression tests? Preventing this type of confusion
is exactly what we invented catversion for.
regards, tom lane
Tom Lane wrote:
Peter Eisentraut <peter_e@gmx.net> writes:
Neil Conway wrote:
The regression.diffs are attached. Note that this reproduces
consistently, but only occurs if I use the "runtest" Makefile
target (i.e. run the regression tests in serial mode); "make
check" works fine, for example.You need to re-initdb.
IOW someone forgot to bump catversion when committing a change that
invalidated the regression tests?
No. I should have said you need to reinstall, when you run the test
against an already installed instance. Once reinstalled, the
catversion check will trigger.
--
Peter Eisentraut
http://developer.postgresql.org/~petere/
On Sun, 2007-01-21 at 08:36 +0100, Peter Eisentraut wrote:
Tom Lane wrote:
Peter Eisentraut <peter_e@gmx.net> writes:
Neil Conway wrote:
The regression.diffs are attached. Note that this reproduces
consistently, but only occurs if I use the "runtest" Makefile
target (i.e. run the regression tests in serial mode); "make
check" works fine, for example.You need to re-initdb.
IOW someone forgot to bump catversion when committing a change that
invalidated the regression tests?No. I should have said you need to reinstall, when you run the test
against an already installed instance. Once reinstalled, the
catversion check will trigger.
The main point is the same as the catversion check however. There should
be a message that says "reinstall to correct this", just like the
catversion check does, or at very least a hint to say "have you tried a
reinstall to correct this?"
--
Simon Riggs
EnterpriseDB http://www.enterprisedb.com