Subject: Re: [bug#78681] [PATCH] correct parameter parsing in test-driver script
From: Karl Berry <[email-masked]>
To: [email-masked]
Cc: [email-masked]
Date: Tue, 3 Jun 2025 14:14:25 -0600
List-Id: <debbugs-submit.debbugs.gnu.org>

Hi Christoph,

    While updating the openSuse package to Automake 1.18, I stumbled across 
    the attached patch. I got permission from the author to upstream it.
    Are you interested?

Thanks, but no. This was fixed in 1.17, by replacing the use of = in the
help text and doc with spaces. Since test-driver never supported = signs
for parsing, no one could ever have used it that way. Main ChangeLog
entry below for reference.

Also, not that it matters given the above, but the patch uses various
sh(ell) unportabilities.

Closing ... --thanks, karl.

2024-05-21  Mark Wooding

	doc: test-driver option args are separate words.

	For https://bugs.gnu.org/70638.

	As now mentioned in the manual, the description of the
	test-driver command-line interface has been wrong since 2011
	when it was first added. The manual, and the driver usage
	messages themselves, have consistently shown option arguments
	joined to the option name with `=' characters, while the
	implementation of Automake has always provided option arguments
	in the following argument word, and the provided test drivers
	only accepted option arguments in the following argument word.

	Because Automake has never used the `=' syntax, there can't
	possibly be a working driver which actually follows the
	specification as written, so, despite the fierce language of the
	manual, we agreed that changing the specification was the right
	approach. The `test-driver' program's usage message has already
	been fixed (#22445), but the full extent of the problem wasn't
	noticed at that time.

	* doc/automake.texi (Command-line arguments for test drivers): Fix the
	table of options to show arguments passed as separate words; add
	footnote explaining this rather sorry situation.
	* doc/automake.texi (Use TAP with the Automake test harness):
	Remove `=' from documentation of `--diagnostic-string', because
	that was never acceptable either.
	* lib/tap-driver.sh: Fix usage message.
	* contrib/tap-driver.pl: Change usage message to match the defined
	protocol.  (This implementation parses options using Perl's
	`Getopt::Long' module, so it accepts the `=' syntax as specified, but
	this program isn't actually used.)