| From: | Christoph Berg <myon(at)debian(dot)org> |
|---|---|
| To: | Jelte Fennema-Nio <postgres(at)jeltef(dot)nl> |
| Cc: | Andrew Dunstan <andrew(at)dunslane(dot)net>, Peter Eisentraut <peter(at)eisentraut(dot)org>, Corey Huinker <corey(dot)huinker(at)gmail(dot)com>, Zsolt Parragi <zsolt(dot)parragi(at)percona(dot)com>, Nazir Bilal Yavuz <byavuz81(at)gmail(dot)com>, Andres Freund <andres(at)anarazel(dot)de>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
| Subject: | Re: meson: Make test output much more useful on failure (both in CI and locally) |
| Date: | 2026-05-26 19:19:49 |
| Message-ID: | ahXyVYd6RYJIYbTu@msg.df7cb.de |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
Re: Jelte Fennema-Nio
> 5. Reduce the default diff truncation limit to 50.
Could we also get a "show everything" mode, perhaps based on an env var?
Debian's build and test machinery doesn't provide means to get at
files from the build/test run, so all evidence needs to be in the
build log. The debian/rules file for the PG server currently has this
contraption:
override_dh_auto_test-arch:
ifeq (, $(findstring nocheck, $(DEB_BUILD_OPTIONS)))
# when tests fail, print newest log files
# initdb doesn't like LANG and LC_ALL to contradict, unset LANG and LC_CTYPE here
# temp-install wants to be invoked from a top-level make, unset MAKELEVEL here
# tell pg_upgrade to create its sockets in /tmp to avoid too long paths
unset LANG LC_CTYPE MAKELEVEL; ulimit -c unlimited; \
if ! make -C build check-world \
PGSOCKETDIR="/tmp" \
PG_TEST_EXTRA='ssl' \
PROVE_FLAGS="--verbose"; \
then \
for l in `find build -name 'regression.*' -o -name '*.log' -o -name '*_log_*' | perl -we 'print map { "$$_\n"; } sort { (stat $$a)[9] <=> (stat $$b)[9] } map { chomp; $$_; } <>' | tail -n 10`; do \
echo "******** $$l ********"; \
cat $$l; \
done; \
for c in `find build -name 'core*'`; do \
echo "******** $$c ********"; \
gdb -batch -ex 'bt full' build/tmp_install/usr/lib/postgresql/$(MAJOR_VER)/bin/postgres $$c || :; \
done; \
$(TEST_FAIL_COMMAND); \
fi
ifeq ($(WITH_PG_BSD_INDENT),y)
$(MAKE) -C build/src/tools/pg_bsd_indent test DESTDIR=$(CURDIR)/debian/tmp
endif
endif
The part with the TAP output files is ugly, and the "sort files by
mtime and show the 10 newest ones" even more so. I would welcome
anything that allowed me to simplify this.
Thanks,
Christoph
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Nathan Bossart | 2026-05-26 19:39:26 | Re: expand refint docs with usage info |
| Previous Message | Adam Brusselback | 2026-05-26 18:53:28 | Re: [Patch] Add WHERE clause support to REFRESH MATERIALIZED VIEW |