Re: [HACKERS] 1 test fails in make installcheck-world - database"regress_ecpg_user2" does not exist

Поиск
Список
Период
Сортировка
От Ryan Murphy
Тема Re: [HACKERS] 1 test fails in make installcheck-world - database"regress_ecpg_user2" does not exist
Дата
Msg-id CAHeEsBc6EQe0mxGBKDXAwJbntgfvoAd5MQC-5362SmC3Tng_6g@mail.gmail.com
обсуждение исходный текст
Ответ на Re: [HACKERS] 1 test fails in make installcheck-world - database "regress_ecpg_user2" does not exist  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: [HACKERS] 1 test fails in make installcheck-world - database "regress_ecpg_user2" does not exist  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers

No, you're reading it backwards: the error is expected, but it's not
appearing in your results.  I can duplicate this if I manually create
database "regress_ecpg_user2" before running ecpg's installcheck,
so I guess that's what you did.  I can find no evidence that any
part of the PG regression tests creates such a database.

Thanks, that makes sense.  However, when I go into my database
with psql and type `drop database regress_ecpg_user2;`, the
response is "ERROR:  database "regress_ecpg_user2" does not exist".
So it seems either the tests are creating it somehow and then cleaning
it up (though I agree that I found no obvious evidence of that in the
codebase), or could I be looking in the wrong postgres install?

I think it's the same install though.  I have my postgres installing into an
install_dir/ directory.  Here's how I run configure:

#!/bin/sh
CFLAGS='-O0' ./configure \
    --prefix=path/to/postgres/install_dir/ \
    --with-uuid=e2fs \
    --enable-debug \
    --with-perl


I did notice that the test seems to create a ROLE called regress_ecpg_user2:

$ git grep -n 'regress_ecpg_user2'
src/interfaces/ecpg/test/Makefile:78:REGRESS_OPTS = --dbname=ecpg1_regression,ecpg2_regression --create-role=regress_ecpg_user1,regress_ecpg_user2 $(EXTRA_REGRESS_OPTS)
...

Could that implicitly create a database too?  I know that I somehow have a
database named after my username / postgres role "murftown".

I ran "make installcheck-world" again, and, the result is different this time -
a test called "misc_sanity" failed early on in the tests:

$ make installcheck-world
make -C src/test installcheck
make -C perl installcheck
make[2]: Nothing to be done for `installcheck'.
make -C regress installcheck
...
============== dropping database "regression"         ==============
DROP DATABASE
============== creating database "regression"         ==============
CREATE DATABASE
ALTER DATABASE
============== running regression test queries        ==============
test tablespace               ... ok
test boolean                  ... ok
test char                     ... ok
...
test regex                    ... ok
test oidjoins                 ... ok
test type_sanity              ... ok
test opr_sanity               ... ok
test misc_sanity              ... FAILED
test comments                 ... ok
test expressions              ... ok
test insert                   ... ok
test insert_conflict          ... ok
test create_function_1        ... ok
...

The old failure with the missing error message is gone from regression.diffs this time.
I've attached the new regression.diffs.

Best,
Ryan

Вложения

В списке pgsql-hackers по дате отправления:

Предыдущее
От: Alvaro Herrera
Дата:
Сообщение: [HACKERS] Re: [COMMITTERS] pgsql: pg_rewind: Fix some problems when copyingfiles >2GB.
Следующее
От: Tom Lane
Дата:
Сообщение: Re: [HACKERS] 1 test fails in make installcheck-world - database "regress_ecpg_user2" does not exist