Re: [COMMITTERS] pgsql: Improve pg_dump regression tests and code coverage

Поиск
Список
Период
Сортировка
От Robert Haas
Тема Re: [COMMITTERS] pgsql: Improve pg_dump regression tests and code coverage
Дата
Msg-id CA+Tgmoaih22-Y_X4L5eHs196M_3Q71iQnJ5QRD5edRBU0g6GbA@mail.gmail.com
обсуждение исходный текст
Ответ на [COMMITTERS] pgsql: Improve pg_dump regression tests and code coverage  (Stephen Frost <sfrost@snowman.net>)
Список pgsql-committers
So was this 3340 line patch posted or discussed anyplace before it got
committed?

On Sat, Mar 18, 2017 at 1:18 PM, Stephen Frost <sfrost@snowman.net> wrote:
> Improve pg_dump regression tests and code coverage
>
> These improvements bring the lines-of-code coverage of pg_dump.c up to
> 87.7% (at least using LCOV 1.12, 1.11 seems to differ slightly).  Nearly
> every function is covered, three of the four which aren't are only
> called when talking to older PG instances.
>
> There is more which can, and should, be done here to improve the
> coverage but it's past time to see what the buildfarm thinks of this.
>
> What has been added:
>
> - Coverage for many more command-line options
> - Use command_fails_like instead of command_exit_is
> - Operator classes, operator families
> - Text search configuration, templates, parsers, dictionaries
> - FDWs, servers, foreign tables
> - Materialized views
> - Improved Publications / Subscriptions test (though this needs work,
>   see PG10 open items and tests marked with XXX in 002_pg_dump.pl)
> - Unlogged tables
> - Partitioned tables
> - Additional ACL testing for various object types
>
> There is room for improvement, specifically:
>
> - Various type-based option (alignment, storage, etc)
> - Composite type collation
> - Extra Procedural language functions (inline, validator)
> - Different function options (SRF, Transform, config, security definer,
>   cost, leakproof)
> - OpClass options (default, storage, order by, recheck)
> - OpFamily options (order by, recheck)
> - Aggregate functions (combinefunc, serialfunc, deserialfunc, etc)
> - Text Search parser 'headline'
> - Text Search template 'init'
> - FDW options (handler, validator, options)
> - Server options (type, version, options)
> - User mapping options
> - Default ACLs for sequences, types
> - Security labels
> - View circular dependencies (last function that needs coverage)
> - Toast table autovacuum options
> - Replica identity options
> - Independent indexes (plus marking them as clustered on)
> - Deferrable / initially deferred constraints
> - Independent domain constraints
>
> There's bits of extension pg_dump'ing also not covered, but those will
> need to go into test_pg_dump (such as having a filter for config
> tables).
>
> Last, but not least, this approximately halves the number of tests run
> with 'ok()' by removing the ok()-based checking of if all runs are
> covered by each test.  Instead, 002_pg_dump.pl will just exit out in
> such a case (with a message in the log file).  In general, when adding
> tests, cover all runs unless there is a very good reason not to (such as
> adding a 'catch-all' case).  With these changes, the resulting output
> and number of "tests" run is actually reduced.
>
> Branch
> ------
> master
>
> Details
> -------
> http://git.postgresql.org/pg/commitdiff/31a8b77a9244a0883e1968adcff9b6038e575d77
>
> Modified Files
> --------------
> src/bin/pg_dump/t/001_basic.pl   |  128 +-
> src/bin/pg_dump/t/002_pg_dump.pl | 3773 ++++++++++++++++++++++++++++++++------
> 2 files changed, 3340 insertions(+), 561 deletions(-)
>
>
> --
> Sent via pgsql-committers mailing list (pgsql-committers@postgresql.org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-committers



--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company


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

Предыдущее
От: Stephen Frost
Дата:
Сообщение: [COMMITTERS] pgsql: pg_dump: Skip COLLATION-related regression tests
Следующее
От: Teodor Sigaev
Дата:
Сообщение: [COMMITTERS] pgsql: Revert unintentional change in increasing usage count duringpin