pgsql: Integrate pg_bsd_indent into our build/test infrastructure.

Started by Tom Laneover 3 years ago4 messagescomitters
Jump to latest
#1Tom Lane
tgl@sss.pgh.pa.us

Integrate pg_bsd_indent into our build/test infrastructure.

Update the Makefile and build directions for in-tree build,
and add Meson build infrastructure. Also convert the ad-hoc
test target into a TAP test.

Currently, the Make build system will not build pg_bsd_indent
by default, while the Meson system will. Both will test it
during "make check-world" or "ninja test". Neither will install
it automatically. (We might change some of these decisions later.)

Also fix a few portability nits noted during early testing.

Also, exclude pg_bsd_indent from pgindent's purview; at least for
now, we'll leave it formatted similarly to the FreeBSD original.

Tom Lane and Andres Freund

Discussion: /messages/by-id/3935719.1675967430@sss.pgh.pa.us
Discussion: /messages/by-id/20200812223409.6di3y2qsnvynao7a@alap3.anarazel.de

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/156c049beed9d3f243cdceaf89456ea6a2995493

Modified Files
--------------
GNUmakefile.in | 2 +-
src/Makefile | 2 +
src/meson.build | 2 +
src/tools/pg_bsd_indent/.gitignore | 12 ++---
src/tools/pg_bsd_indent/Makefile | 62 +++++++++++++++++---------
src/tools/pg_bsd_indent/README | 37 +++++++++++++++
src/tools/pg_bsd_indent/README.pg_bsd_indent | 30 -------------
src/tools/pg_bsd_indent/args.c | 2 +-
src/tools/pg_bsd_indent/indent.c | 6 +--
src/tools/pg_bsd_indent/indent.h | 2 +-
src/tools/pg_bsd_indent/meson.build | 40 +++++++++++++++++
src/tools/pg_bsd_indent/t/001_pg_bsd_indent.pl | 53 ++++++++++++++++++++++
src/tools/pgindent/exclude_file_patterns | 4 ++
13 files changed, 188 insertions(+), 66 deletions(-)

#2Andres Freund
andres@anarazel.de
In reply to: Tom Lane (#1)
Re: pgsql: Integrate pg_bsd_indent into our build/test infrastructure.

Hi,

On 2023-02-12 17:22:27 +0000, Tom Lane wrote:

Integrate pg_bsd_indent into our build/test infrastructure.

...

src/tools/pg_bsd_indent/t/001_pg_bsd_indent.pl | 53 ++++++++++++++++++++++

I just saw a random failure of exactly one of the test in CI (when testing a
new meson version, oddly enough):

# Running: diff -upd C:/cirrus/src/tools/pg_bsd_indent/tests/elsecomment.0.stdout elsecomment.out
[21:41:17.438](0.076s) not ok 13 - pg_bsd_indent output matches for elsecomment
[21:41:17.438](0.000s) # Failed test 'pg_bsd_indent output matches for elsecomment'
# at C:/cirrus/src/tools/pg_bsd_indent/t/001_pg_bsd_indent.pl line 50.

And subsequently noticed that CI currently doesn't collect the tests.diff
file, so I don't know why that failed. CI currently collects all *.diffs
files, I don't really want it to also collect all .diff files, since most of
the time that would be redundant with the .diffs file.

Would you mind if I rename the output file to test.diffs? That seems to make
more sense than explicitly capturing this file...

Greetings,

Andres Freund

#3Tom Lane
tgl@sss.pgh.pa.us
In reply to: Andres Freund (#2)
Re: pgsql: Integrate pg_bsd_indent into our build/test infrastructure.

Andres Freund <andres@anarazel.de> writes:

And subsequently noticed that CI currently doesn't collect the tests.diff
file, so I don't know why that failed. CI currently collects all *.diffs
files, I don't really want it to also collect all .diff files, since most of
the time that would be redundant with the .diffs file.

Would you mind if I rename the output file to test.diffs? That seems to make
more sense than explicitly capturing this file...

Sure, I did not realize we had a standard for that.

regards, tom lane

#4Andres Freund
andres@anarazel.de
In reply to: Tom Lane (#3)
Re: pgsql: Integrate pg_bsd_indent into our build/test infrastructure.

Hi,

On 2023-07-11 22:21:38 -0400, Tom Lane wrote:

Andres Freund <andres@anarazel.de> writes:

And subsequently noticed that CI currently doesn't collect the tests.diff
file, so I don't know why that failed. CI currently collects all *.diffs
files, I don't really want it to also collect all .diff files, since most of
the time that would be redundant with the .diffs file.

Would you mind if I rename the output file to test.diffs? That seems to make
more sense than explicitly capturing this file...

Sure

Done.

I did not realize we had a standard for that.

I guess we're developing one, just now :)

Greetings,

Andres Freund