[check_postgres] [check_postgres-announce] problems running "make test"

Christoph Berg cb at df7cb.de
Thu Apr 18 09:34:02 UTC 2013


Re: To check_postgres 2013-04-18 <20130418092154.GA21837 at msgid.df7cb.de>
> I haven't had time to bring this up here, but I also had trouble
> getting the test suite to run. The script to run it at build time of
> the Debian package now looks like this:

I forgot to mention that the script isn't used for building the Debian
package yet because there are still some errors left. Running against
9.2.4:

t/02_commitratio.t ......... ERROR:  database "beedeebeedee" already exists
STATEMENT:  CREATE DATABASE beedeebeedee
ERROR:  database "ardala" already exists
STATEMENT:  CREATE DATABASE ardala
ERROR:  language "plpgsql" already exists
STATEMENT:  CREATE LANGUAGE plpgsql
ERROR:  language "plperlu" already exists
STATEMENT:  CREATE LANGUAGE plperlu
ERROR:  schema "cptest" already exists
STATEMENT:  CREATE SCHEMA cptest
ERROR:  column t.spclocation does not exist at character 668
STATEMENT:  
	                SELECT NULL::text AS "TABLE_CAT"
	                     , quote_ident(n.nspname) AS "TABLE_SCHEM"
	                     , quote_ident(c.relname) AS "TABLE_NAME"
	                     , CASE
	                             WHEN c.relkind = 'v' THEN
	                                CASE WHEN quote_ident(n.nspname) ~ '^pg_' THEN 'SYSTEM VIEW' ELSE 'VIEW' END
	                            ELSE
	                                CASE WHEN quote_ident(n.nspname) ~ '^pg_' THEN 'SYSTEM TABLE' ELSE 'TABLE' END
	                        END AS "TABLE_TYPE"
	                     , d.description AS "REMARKS" , quote_ident(t.spcname) AS "pg_tablespace_name", quote_ident(t.spclocation) AS "pg_tablespace_location" ,n.nspname AS pg_schema, c.relname AS pg_table
	                FROM pg_catalog.pg_class AS c
	                    LEFT JOIN pg_catalog.pg_description AS d
	                        ON (c.oid = d.objoid AND c.tableoid = d.classoid AND d.objsubid = 0)
	                    LEFT JOIN pg_catalog.pg_namespace n ON (n.oid = c.relnamespace)
	                    LEFT JOIN pg_catalog.pg_tablespace t ON (t.oid = c.reltablespace)
	                WHERE n.nspname = 'public'
						 AND c.relkind = 'r'
	                ORDER BY "TABLE_TYPE", "TABLE_CAT", "TABLE_SCHEM", "TABLE_NAME"
	                
DBD::Pg::db tables failed: no statement executing at t/CP_Testing.pm line 802.
# Looks like your test exited with 255 before it could output anything.
t/02_commitratio.t ......... Dubious, test returned 255 (wstat 65280, 0xff00)


t/02_database_size.t ....... ERROR:  database "beedeebeedee" already exists
STATEMENT:  CREATE DATABASE beedeebeedee
ERROR:  database "ardala" already exists
STATEMENT:  CREATE DATABASE ardala
ERROR:  language "plpgsql" already exists
STATEMENT:  CREATE LANGUAGE plpgsql
ERROR:  language "plperlu" already exists
STATEMENT:  CREATE LANGUAGE plperlu
ERROR:  schema "cptest" already exists
STATEMENT:  CREATE SCHEMA cptest
t/02_database_size.t ....... 1/49 ERROR:  column t.spclocation does not exist at character 668
STATEMENT:  
	                SELECT NULL::text AS "TABLE_CAT"
	                     , quote_ident(n.nspname) AS "TABLE_SCHEM"
	                     , quote_ident(c.relname) AS "TABLE_NAME"
	                     , CASE
	                             WHEN c.relkind = 'v' THEN
	                                CASE WHEN quote_ident(n.nspname) ~ '^pg_' THEN 'SYSTEM VIEW' ELSE 'VIEW' END
	                            ELSE
	                                CASE WHEN quote_ident(n.nspname) ~ '^pg_' THEN 'SYSTEM TABLE' ELSE 'TABLE' END
	                        END AS "TABLE_TYPE"
	                     , d.description AS "REMARKS" , quote_ident(t.spcname) AS "pg_tablespace_name", quote_ident(t.spclocation) AS "pg_tablespace_location" ,n.nspname AS pg_schema, c.relname AS pg_table
	                FROM pg_catalog.pg_class AS c
	                    LEFT JOIN pg_catalog.pg_description AS d
	                        ON (c.oid = d.objoid AND c.tableoid = d.classoid AND d.objsubid = 0)
	                    LEFT JOIN pg_catalog.pg_namespace n ON (n.oid = c.relnamespace)
	                    LEFT JOIN pg_catalog.pg_tablespace t ON (t.oid = c.reltablespace)
	                WHERE n.nspname = 'public'
						 AND c.relkind = 'r'
	                ORDER BY "TABLE_TYPE", "TABLE_CAT", "TABLE_SCHEM", "TABLE_NAME"
	                
DBD::Pg::db tables failed: no statement executing at t/CP_Testing.pm line 802.
# Looks like you planned 49 tests but ran 1.
# Looks like your test exited with 3 just after 1.
t/02_database_size.t ....... Dubious, test returned 3 (wstat 768, 0x300)


t/02_hitratio.t ............ ERROR:  database "beedeebeedee" already exists
STATEMENT:  CREATE DATABASE beedeebeedee
ERROR:  database "ardala" already exists
STATEMENT:  CREATE DATABASE ardala
ERROR:  language "plpgsql" already exists
STATEMENT:  CREATE LANGUAGE plpgsql
ERROR:  language "plperlu" already exists
STATEMENT:  CREATE LANGUAGE plperlu
ERROR:  schema "cptest" already exists
STATEMENT:  CREATE SCHEMA cptest
ERROR:  column t.spclocation does not exist at character 668
STATEMENT:  
	                SELECT NULL::text AS "TABLE_CAT"
	                     , quote_ident(n.nspname) AS "TABLE_SCHEM"
	                     , quote_ident(c.relname) AS "TABLE_NAME"
	                     , CASE
	                             WHEN c.relkind = 'v' THEN
	                                CASE WHEN quote_ident(n.nspname) ~ '^pg_' THEN 'SYSTEM VIEW' ELSE 'VIEW' END
	                            ELSE
	                                CASE WHEN quote_ident(n.nspname) ~ '^pg_' THEN 'SYSTEM TABLE' ELSE 'TABLE' END
	                        END AS "TABLE_TYPE"
	                     , d.description AS "REMARKS" , quote_ident(t.spcname) AS "pg_tablespace_name", quote_ident(t.spclocation) AS "pg_tablespace_location" ,n.nspname AS pg_schema, c.relname AS pg_table
	                FROM pg_catalog.pg_class AS c
	                    LEFT JOIN pg_catalog.pg_description AS d
	                        ON (c.oid = d.objoid AND c.tableoid = d.classoid AND d.objsubid = 0)
	                    LEFT JOIN pg_catalog.pg_namespace n ON (n.oid = c.relnamespace)
	                    LEFT JOIN pg_catalog.pg_tablespace t ON (t.oid = c.reltablespace)
	                WHERE n.nspname = 'public'
						 AND c.relkind = 'r'
	                ORDER BY "TABLE_TYPE", "TABLE_CAT", "TABLE_SCHEM", "TABLE_NAME"
	                
DBD::Pg::db tables failed: no statement executing at t/CP_Testing.pm line 802.
# Looks like your test exited with 255 before it could output anything.
t/02_hitratio.t ............ Dubious, test returned 255 (wstat 65280, 0xff00)


t/02_locks.t ............... ERROR:  database "beedeebeedee" already exists
STATEMENT:  CREATE DATABASE beedeebeedee
ERROR:  database "ardala" already exists
STATEMENT:  CREATE DATABASE ardala
ERROR:  language "plpgsql" already exists
STATEMENT:  CREATE LANGUAGE plpgsql
ERROR:  language "plperlu" already exists
STATEMENT:  CREATE LANGUAGE plperlu
ERROR:  schema "cptest" already exists
STATEMENT:  CREATE SCHEMA cptest
t/02_locks.t ............... 1/14 FATAL:  database "foo" does not exist


t/02_logfile.t ............. 1/11 
#   Failed test 'Action 'logfile' correctly identifies logfile'
#   at t/02_logfile.t line 42.
#                   'POSTGRES_LOGFILE UNKNOWN: DB "postgres" (host:/tmp/cptesting_socket) logfile test_database_check_postgres/pg.log does not exist! | time=0.01s 
# '
#     doesn't match '(?^:logs to: test_database_check_postgres/pg.log)'

#   Failed test 'Action 'logfile' returned expected text'
#   at t/02_logfile.t line 48.
#                   'POSTGRES_LOGFILE UNKNOWN: DB "postgres" (host:/tmp/cptesting_socket) logfile test_database_check_postgres/pg.log does not exist! | time=0.01s 
# '
#     doesn't match '(?^:\bOK\b)'
t/02_logfile.t ............. 9/11 
#   Failed test 'Action 'logfile' returns correct MRTG (OK)'
#   at t/02_logfile.t line 63.
#          got: 'ERROR: logfile test_database_check_postgres/pg.log does not exist!
# '
#     expected: '1
# 0
# 
# 
# '
# Looks like you failed 3 tests of 11.
t/02_logfile.t ............. Dubious, test returned 3 (wstat 768, 0x300)

(This one is probably me not having configured logging properly.)


t/02_relation_size.t ....... 2/23 ERROR:  column t.spclocation does not exist at character 668
[...]


t/02_sequence.t ............ 1/11 
#   Failed test 'Action 'sequence' fails when sequence not readable'
#   at t/02_sequence.t line 55.
#                   'POSTGRES_SEQUENCE OK: DB "postgres" (host:/tmp/cptesting_socket) No sequences found | time=0.02s 
# '
#     doesn't match '(?^:ERROR:\s*(?:Could not determine|cannot access temporary))'
t/02_sequence.t ............ 8/11 # Looks like you failed 1 test of 11.
t/02_sequence.t ............ Dubious, test returned 1 (wstat 256, 0x100)


t/02_settings_checksum.t ... 5/10 
#   Failed test 'Action 'settings_checksum' returns the expected output for MRTG(failure)'
#   at t/02_settings_checksum.t line 56.
#                   '0
# 0
# 
# ba666332743eb6a7dc55fde2fa0a806a
# '
#     doesn't match '(?^:^0\n0\n\n\d+)'

#   Failed test 'Action 'settings_checksum' returns the expected output for MRTG(success)'
#   at t/02_settings_checksum.t line 60.
#                   '1
# 0
# 
# ba666332743eb6a7dc55fde2fa0a806a
# '
#     doesn't match '(?^:^1\n0\n\n\d+)'
# Looks like you failed 2 tests of 10.
t/02_settings_checksum.t ... Dubious, test returned 2 (wstat 512, 0x200)
Failed 2/10 subtests 


t/02_slony_status.t ........ 2/20 ERROR:  schema "foobar" does not exist at character 234
STATEMENT:  BEGIN;SET statement_timeout=30000;COMMIT;SELECT
	 ROUND(EXTRACT(epoch FROM st_lag_time)) AS lagtime,
	 st_origin,
	 st_received,
	 current_database() AS cd,
	 COALESCE(n1.no_comment, '') AS com1,
	 COALESCE(n2.no_comment, '') AS com2
	FROM foobar.sl_status
	JOIN foobar.sl_node n1 ON (n1.no_id=st_origin)
	JOIN foobar.sl_node n2 ON (n2.no_id=st_received)
ERROR:  schema "slony_testing" does not exist
STATEMENT:  DROP VIEW slony_testing.sl_status
ERROR:  schema "slony_testing" does not exist
STATEMENT:  DROP TABLE slony_testing.sl_node
ERROR:  schema "slony_testing" does not exist
STATEMENT:  DROP SCHEMA slony_testing
t/02_slony_status.t ........ ok     


Generally it would be nice if the "does not exist" errors would not
clutter the output.

Christoph
-- 
cb at df7cb.de | http://www.df7cb.de/


More information about the Check_postgres mailing list