tool: improve config error messaging

- make sure that errors for specific options in config files identify
  the file, line number and shows the error about the correct option

- improve some error message wording

- add warning for leading single quote of arguments in config files
  (verified in test 1712)

- adjust test error outputs accordingly

Fixes #20598
Closes #20666
This commit is contained in:
Daniel Stenberg 2026-02-21 23:16:39 +01:00
parent 9ce9afa312
commit 4c5a9208f5
No known key found for this signature in database
GPG key ID: 5CC908FDB71E12C2
6 changed files with 78 additions and 9 deletions

View file

@ -229,7 +229,7 @@ test1670 test1671 \
test1680 test1681 test1682 test1683 \
\
test1700 test1701 test1702 test1703 test1704 test1705 test1706 test1707 \
test1708 test1709 test1710 test1711 \
test1708 test1709 test1710 test1711 test1712 \
\
test1800 test1801 test1802 test1847 test1848 \
\

61
tests/data/test1712 Normal file
View file

@ -0,0 +1,61 @@
<?xml version="1.0" encoding="US-ASCII"?>
<testcase>
<info>
<keywords>
HTTP
--config
</keywords>
</info>
# Server-side
<reply>
<data crlf="headers">
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
ETag: "21025-dc7-39462498"
Accept-Ranges: bytes
Content-Length: 6
Connection: close
Content-Type: text/html
Funny-head: yesyes
-foo-
</data>
</reply>
# Client-side
<client>
<server>
http
</server>
<name>
config file with argument using single quotes
</name>
<file name="%LOGDIR/config">
data = 'arg-with-quote'
</file>
<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER --config %LOGDIR/config --silent
</command>
</client>
# Verify data after the test has been "shot"
<verify>
<protocol crlf="yes" nonewline="yes">
POST /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
Accept: */*
Content-Length: 16
Content-Type: application/x-www-form-urlencoded
'arg-with-quote'
</protocol>
<stderr mode="text">
Warning: %LOGDIR/config:1 Option 'data' uses argument with leading single quote.%SP
Warning: It is probably a mistake. Consider double quotes.
</stderr>
</verify>
</testcase>

View file

@ -54,8 +54,8 @@ Content-Type: application/x-www-form-urlencoded
arg
</protocol>
<stderr mode="text">
Warning: %LOGDIR/config:1: warning: 'data' uses unquoted whitespace. This may%SP
Warning: cause side-effects. Consider double quotes.
Warning: %LOGDIR/config:1 Option 'data' uses argument with unquoted whitespace.%SP
Warning: This may cause side-effects. Consider double quotes.
</stderr>
</verify>
</testcase>