jeff-davis / PostgreSQL-Temporal

Temporal extensions for PostgreSQL
Other
49 stars 14 forks source link

make installcheck fails on postgres 9.1.2 arch linux #3

Closed xenoterracide closed 12 years ago

xenoterracide commented 12 years ago
slave-iv% whoami           
postgres
slave-iv% psql -V
psql (PostgreSQL) 9.1.2
contains support for command-line editing

slave-iv% make installcheck | sed -e 's/^/    /'
/usr/lib/postgresql/pgxs/src/makefiles/../../src/test/regress/pg_regress --inputdir=. --psqldir='/usr/bin'   --inputdir=test --load-language=plpgsql --dbname=contrib_regression period
(using postmaster on Unix socket, default port)
============== dropping database "contrib_regression" ==============
DROP DATABASE
============== creating database "contrib_regression" ==============
CREATE DATABASE
ALTER DATABASE
============== installing plpgsql                     ==============
CREATE LANGUAGE
============== running regression test queries        ==============
test period                   ... FAILED

======================
 1 of 1 tests failed. 
======================

The differences that caused some tests to fail can be viewed in the
file "/var/lib/postgres/PostgreSQL-Temporal/regression.diffs".  A copy of the test summary that you see
above is saved in the file "/var/lib/postgres/PostgreSQL-Temporal/regression.out".

make: *\ [installcheck] Error 1 slave-iv%

xenoterracide commented 12 years ago

also, curious as to why your repository has no tags

jeff-davis commented 12 years ago

Thank you for the report. However, I was unable to reproduce it on REL9_1_STABLE with version 0.7.1 of the extension.

Can you please tell me which version of the extension you are using (if not the latest), and include the regression.diffs output?

I have added a tag for v0.7.1. I have not been very good about proper version management in the past, but I'll add tags properly from now on. Thank you for mentioning it.

Regards, Jeff Davis

xenoterracide commented 12 years ago

I was working off the tip of master, which appeared to be v0.7.1. I'll get you the regression.diffs output when I get home later

xenoterracide commented 12 years ago

here's an abbreviated version of regression.diffs, the ... represents further transaction aborted

*** /var/lib/postgres/PostgreSQL-Temporal/test/expected/period.out  2012-01-21 14:29:23.623646491 -0600
--- /var/lib/postgres/PostgreSQL-Temporal/results/period.out        2012-01-21 14:39:54.359217826 -0600
***************
*** 1,10 ****
  \set ECHO 0
  psql:temporal.sql:14: NOTICE:  return type period is only a shell
! psql:temporal.sql:17: NOTICE:  argument type period is only a shell
  select '[2009-01-01, 2009-03-01)'::period @> '[2009-02-03, 2009-02-07)'::period;
!  ?column? 
! ----------
!  t
! (1 row)
! 
  ROLLBACK;
--- 1,81 ----
  \set ECHO 0
  psql:temporal.sql:14: NOTICE:  return type period is only a shell
! psql:temporal.sql:14: ERROR:  could not access file "$libdir/temporal": No such file or directory
! psql:temporal.sql:17: ERROR:  current transaction is aborted, commands ignored until end of transaction block
...
! psql:temporal.sql:451: ERROR:  current transaction is aborted, commands ignored until end of transaction block
  select '[2009-01-01, 2009-03-01)'::period @> '[2009-02-03, 2009-02-07)'::period;
! ERROR:  current transaction is aborted, commands ignored until end of transaction block
  ROLLBACK;
jeff-davis commented 12 years ago

That looks like an installation problem. Did you do a "make install" before the "make installcheck"?

xenoterracide commented 12 years ago

No, the README.md says

To build it, just do this:

make
make installcheck
make install

the order of install and installcheck is supposed to be reversed? I kind of assumed installcheck was an alternative way of saying make test which is usually run before make install

xenoterracide commented 12 years ago

yeah that seems to be it, I think perhaps the docs need to be updated

jeff-davis commented 12 years ago

Yes, the README.md file had the wrong order and it's been updated. Thank you.

The mechanism to test an extension won't launch it's own instance of postgres (like ordinary "make check" does) because it assumes you might be testing many modules at once (like if you do a "make installcheck" in contrib). So, it requires a running instance, and it requires that you install first.

I'm not sure exactly why PGXS doesn't have "make installcheck" depend on "make install". But I use PGXS, which is the convention, and that's the way it is.

jeff-davis commented 12 years ago

This looks resolved, so closing it out. Thank you for reporting!