pgsql: Add a test module for the regular expression package.

Поиск
Список
Период
Сортировка
От Tom Lane
Тема pgsql: Add a test module for the regular expression package.
Дата
Msg-id E1kxB5u-0001Lf-Mb@gemulon.postgresql.org
обсуждение исходный текст
Список pgsql-committers
Add a test module for the regular expression package.

This module provides a function test_regex() that is functionally
rather like regexp_matches(), but with additional debugging-oriented
options and additional output.  The debug options are somewhat obscure;
they are chosen to match the API of the test harness that Henry Spencer
wrote way-back-when for use in Tcl.  With this, we can import all the
test cases that Spencer wrote originally, even for regex functionality
that we don't currently expose in Postgres.  This seems necessary
because we can no longer rely on Tcl to act as upstream and verify
any fixes or improvements that we make.

In addition to Spencer's tests, I added a few for lookbehind
constraints (which we added in 2015, and Tcl still hasn't absorbed)
that are modeled on his tests for lookahead constraints.  After looking
at code coverage reports, I also threw in a couple of tests to more
fully exercise our "high colormap" logic.

According to my testing, this brings the check-world coverage
for src/backend/regex/ from 71.1% to 86.7% of lines.
(coverage.postgresql.org shows a slightly different number,
which I think is because it measures a non-assert build.)

Discussion: https://postgr.es/m/2873268.1609732164@sss.pgh.pa.us

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/ca8217c10138fa3ffe1e7d1def2484fd0eb78226

Modified Files
--------------
src/test/modules/Makefile                          |    1 +
src/test/modules/test_regex/.gitignore             |    4 +
src/test/modules/test_regex/Makefile               |   23 +
src/test/modules/test_regex/README                 |   78 +
.../modules/test_regex/expected/test_regex.out     | 4551 ++++++++++++++++++++
.../test_regex/expected/test_regex_utf8.out        |  100 +
.../test_regex/expected/test_regex_utf8_1.out      |    8 +
src/test/modules/test_regex/sql/test_regex.sql     | 1667 +++++++
.../modules/test_regex/sql/test_regex_utf8.sql     |   60 +
src/test/modules/test_regex/test_regex--1.0.sql    |    9 +
src/test/modules/test_regex/test_regex.c           |  759 ++++
src/test/modules/test_regex/test_regex.control     |    4 +
12 files changed, 7264 insertions(+)


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

Предыдущее
От: Peter Eisentraut
Дата:
Сообщение: pgsql: Replace CLOBBER_CACHE_ALWAYS with run-time GUC
Следующее
От: Tomas Vondra
Дата:
Сообщение: pgsql: Report progress of COPY commands