[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug #63824] revert recent change to skip tests at configuration time
From: |
G. Branden Robinson |
Subject: |
[bug #63824] revert recent change to skip tests at configuration time |
Date: |
Tue, 21 Feb 2023 03:05:24 -0500 (EST) |
URL:
<https://savannah.gnu.org/bugs/?63824>
Summary: revert recent change to skip tests at configuration
time
Group: GNU roff
Submitter: gbranden
Submitted: Tue 21 Feb 2023 08:05:22 AM UTC
Category: General
Severity: 5 - Blocker
Item Group: Test
Status: In Progress
Privacy: Public
Assigned to: gbranden
Open/Closed: Open
Discussion Lock: Any
Planned Release: None
_______________________________________________________
Follow-up Comments:
-------------------------------------------------------
Date: Tue 21 Feb 2023 08:05:22 AM UTC By: G. Branden Robinson <gbranden>
A couple of recent changes were ill-conceived.
commit 668a1b183b748473e2fec17bdde4db286129f659
Author: G. Branden Robinson <g.branden.robinson@gmail.com>
AuthorDate: Thu Feb 16 12:14:58 2023 -0600
Commit: G. Branden Robinson <g.branden.robinson@gmail.com>
CommitDate: Fri Feb 17 06:12:11 2023 -0600
[tests]: Don't test grohtml if unsupported.
* src/roff/groff/groff.am (groff_TESTS) [!USE_GROHTML]: Don't test the
'grohtml' driver if we know it won't work.
commit e3954e5b15ae956c2ee7f98c8f323bfa9172e5a3
Author: G. Branden Robinson <g.branden.robinson@gmail.com>
AuthorDate: Sat Feb 18 02:04:00 2023 -0600
Commit: G. Branden Robinson <g.branden.robinson@gmail.com>
CommitDate: Sat Feb 18 02:05:00 2023 -0600
[gropdf]: Don't test if hobbled.
[gropdf]: Don't run automated tests if 'gropdf' will be operating with
reduced function. If neither Ghostscript nor the URW fonts are
available at configuration time, there is no point testing for
successful build-time population of the font descriptions for the
default and URW foundries.
* font/devpdf/devpdf.am (font_devpdf_TESTS) [USE_GROPDF]: Run
"check-default-foundry" only if gropdf is fully functional.
(font_devpdf_TESTS) [USE_GROPDF && HAVE_URW_FONTS]: Run
"check-urw-foundry" only if the URW fonts were found.
Continues <https://savannah.gnu.org/bugs/?63808>. Thanks to Deri James
for the continued discussion.
The problem with these is some other lines in the *.am files:
EXTRA_DIST += $(font_devpdf_TESTS)
EXTRA_DIST += $(groff_TESTS)
These mean that the distribution archive's contents will depend on the
configuration of the system from which "make dist" was run.
That is *bad, bad, bad*.
These `USE_GROHTML` and `USE_GROPDF` bracketings should be undone.
However, the tests are being skipped for a good reason. Instead of not
executing them, it would probably be better to just have internal logic to
exit 77 ("SKIP" to GNU Automake-driven tests).
It's a bit duplicative (and will therefore warrant comments trying to keep
things in sync), but the grohtml tests can just test for the same commands
that our Autoconf test does in m4/groff.m4, with command -v >/dev/null, and
skip the test if any aren't present.
The gropdf situation is harder. The thing that can scotch its tests is not
missing commands but missing fonts. There's no _easy_ way to tell from within
a test script whether gropdf is going to find Type 1 fonts it can embed in the
documents it generates. (Locating them is a _complex_ process.) And Deri are
still wrangling with testing issues anyway (see bug #63808).
In the long run (groff 1.23.1?), maybe what we want to do is something Deri
wanted to do a long time ago, which is bust out part of BuildFoundries.pl as a
script that is runnable at configuration time (we depend on Perl anyway).
That script can be the snout that sniffs out the presence of embeddable Type 1
fonts on the system. Not only can we set shell variables that will inform the
user whether gropdf's functionality will be attenuated (as we already do), but
we can create artifacts in the build directory (at build time) that the gropdf
scripts can look for. (We already have an Automake variable,
`HAVE_URW_FONTS`, that is produced by `AM_CONDITIONAL` in "configure.ac".
Perhaps what we want is more like `HAVE_EMBEDDABLE_DEFAULT_FOUNDRY` and
`HAVE_EMBEDDABLE_URW_FOUNDRY`.)
The gropdf test scripts could then simply look for these artifacts in the
build tree, and continue or skip themselves as appropriate.
But for groff 1.23.0, it might make more sense to just run the tests every
time and let them fail as we warned in ./configure output if the host
environment isn't ship-shape in the embeddable fonts department.
None of this would prevent a build from being deployed elsewhere, or
Ghostscript and/or URW packages from being removed after a groff build, so
gropdf will still need to re-verify the availability of fonts to be embedded
every time it runs anyway. And it does. (Another thing Deri and I have
wrangled over is the wording of the diagnostics that happen in this scenario.
:) )
Maybe it doesn't even make too much sense to worry about users being alarmed
by test failures here. Everybody's heard of "./configure && make && make
install". Few seem to bother with having "make check" in there... :-/
_______________________________________________________
Reply to this item at:
<https://savannah.gnu.org/bugs/?63824>
_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/
- [bug #63824] revert recent change to skip tests at configuration time,
G. Branden Robinson <=