← Commit list

7f3731ce14

Viktor Szakats
Viktor Szakats
2025-11-19
SUCCESS Duration: 346s

Subject

tests/data: mark non-XML-compliant files as such, xmllint the rest in CI

Binary

No binary (build failed)

Architecture & Compiler Flags

Architecture: x86_64-linux-gnu Compiler: gcc (Ubuntu 11.4.0-1ubuntu1~22.04.3) 11.4.0

—

Build Log

(log yok)

Commit Diff GitHub →

.github/scripts/pyspelling.words +2 -0.github/workflows/checksrc.yml +5 -1docs/tests/FILEFORMAT.md +6 -1tests/data/test1011 +1 -0tests/data/test1012 +1 -0tests/data/test1015 +1 -0tests/data/test1034 +0 -1tests/data/test1076 +1 -0tests/data/test1105 +1 -0tests/data/test1138 +1 -0tests/data/test1158 +1 -0tests/data/test1160 +0 -1tests/data/test1186 +1 -0tests/data/test1189 +1 -0tests/data/test1221 +1 -0tests/data/test1332 +1 -0tests/data/test1400 +1 -0tests/data/test1401 +1 -0tests/data/test1402 +1 -0tests/data/test1403 +1 -0tests/data/test1404 +1 -0tests/data/test1405 +1 -0tests/data/test1406 +1 -0tests/data/test1407 +1 -0tests/data/test1420 +1 -0tests/data/test1445 +1 -0tests/data/test1446 +1 -0tests/data/test1461 +1 -0tests/data/test1463 +1 -0tests/data/test1464 +1 -0tests/data/test1465 +1 -0tests/data/test1481 +1 -0tests/data/test1506 +1 -0tests/data/test1510 +1 -0tests/data/test1512 +1 -0tests/data/test1524 +1 -0tests/data/test1542 +1 -0tests/data/test1598 +1 -0tests/data/test163 +1 -0tests/data/test1683 +1 -0tests/data/test1705 +1 -0tests/data/test1706 +1 -0tests/data/test1977 +1 -0tests/data/test199 +1 -0tests/data/test2402 +1 -0tests/data/test2404 +1 -0tests/data/test2502 +1 -0tests/data/test3 +1 -0tests/data/test32 +1 -0tests/data/test320 +1 -0tests/data/test39 +1 -0tests/data/test40 +1 -0tests/data/test439 +1 -0tests/data/test446 +0 -1tests/data/test45 +1 -0tests/data/test48 +1 -0tests/data/test568 +1 -0tests/data/test646 +1 -0tests/data/test733 +1 -0tests/data/test734 +1 -0tests/data/test735 +1 -0tests/data/test739 +1 -0tests/data/test787 +1 -0tests/data/test96 +1 -0
.github/scripts/pyspelling.words+2 -0
@@ -463,6 +463,7 @@ libWebSocket
libz
libzstd
LineageOS
+linter
linux
lldb
ln
@@ -981,6 +982,7 @@ Xbox
XDG
xdigit
Xilinx
+xmllint
XP
Xtensa
XYZ
.github/workflows/checksrc.yml+5 -1
@@ -128,7 +128,11 @@ jobs:
persist-credentials: false
- name: 'check'
- run: git grep -z -i -l -E '^<\?xml' | xargs -0 -r xmllint >/dev/null
+ run: |
+ {
+ git grep -z -i -l -E '^<\?xml' || true
+ git grep -z -L -F 'notxml' 'tests/data/test*' || true
+ } | xargs -0 -r xmllint >/dev/null
miscchecks:
name: 'misc checks'
docs/tests/FILEFORMAT.md+6 -1
@@ -239,7 +239,7 @@ When running a unit test and the keywords include `unittest`, the `<tool>`
section can be left empty to use the standard unit test tool name `unitN` where
`N` is the test number.
-The `text-ci` make target automatically skips test with the `flaky` keyword.
+The `test-ci` make target automatically skips test with the `flaky` keyword.
Tests that have strict timing dependencies have the `timing-dependent` keyword.
These are intended to eventually be treated specially on CI builds which are
@@ -248,6 +248,11 @@ often run on overloaded machines with unpredictable timing.
Tests using non-7-bit-ASCII characters must provide them with `%hex[]` or
similar.
+In most cases test files comply with the XML format, and pass xmllint cleanly.
+If the data file uses the `&` character, or has other, non-compliant content,
+and making it XML-compliant is not possible or unpractical, use the `notxml`
+keyword to exclude it from linter checks.
+
## `<reply>`
### `<data [nocheck="yes"] [sendzero="yes"] [hex="yes"] [nonewline="yes"] [crlf="yes|headers"]>`
tests/data/test1011+1 -0
@@ -4,6 +4,7 @@
HTTP
HTTP POST
followlocation
+notxml
</keywords>
</info>
#
tests/data/test1012+1 -0
@@ -4,6 +4,7 @@
HTTP
HTTP POST
followlocation
+notxml
</keywords>
</info>
#
tests/data/test1015+1 -0
@@ -4,6 +4,7 @@
HTTP
HTTP POST
--data-urlencode
+notxml
</keywords>
</info>
tests/data/test1034+0 -1
@@ -1,4 +1,3 @@
-<?xml version="1.0" encoding="US-ASCII"?>
<testcase>
<info>
<keywords>
tests/data/test1076+1 -0
@@ -4,6 +4,7 @@
HTTP
HTTP POST
followlocation
+notxml
</keywords>
</info>
#
tests/data/test1105+1 -0
@@ -5,6 +5,7 @@ HTTP
HTTP POST
cookies
cookiejar
+notxml
</keywords>
</info>
tests/data/test1138+1 -0
@@ -4,6 +4,7 @@
HTTP
HTTP GET
followlocation
+notxml
</keywords>
</info>
#
tests/data/test1158+1 -0
@@ -3,6 +3,7 @@
<keywords>
HTTP
HTTP FORMPOST
+notxml
</keywords>
</info>
# Server-side
tests/data/test1160+0 -1
@@ -1,4 +1,3 @@
-<?xml version="1.0" encoding="US-ASCII"?>
<testcase>
<info>
<keywords>
tests/data/test1186+1 -0
@@ -3,6 +3,7 @@
<keywords>
HTTP
HTTP FORMPOST
+notxml
</keywords>
</info>
# Server-side
tests/data/test1189+1 -0
@@ -3,6 +3,7 @@
<keywords>
HTTP
HTTP FORMPOST
+notxml
</keywords>
</info>
# Server-side
tests/data/test1221+1 -0
@@ -5,6 +5,7 @@ HTTP
HTTP POST
--data-urlencode
--url-query
+notxml
</keywords>
</info>
tests/data/test1332+1 -0
@@ -5,6 +5,7 @@
HTTP
HTTP POST
followlocation
+notxml
</keywords>
</info>
#
tests/data/test1400+1 -0
@@ -4,6 +4,7 @@
HTTP
HTTP GET
--libcurl
+notxml
</keywords>
</info>
tests/data/test1401+1 -0
@@ -7,6 +7,7 @@ HTTP Basic auth
HTTP set cookie
cookies
--libcurl
+notxml
</keywords>
</info>
tests/data/test1402+1 -0
@@ -4,6 +4,7 @@
HTTP
HTTP POST
--libcurl
+notxml
</keywords>
</info>
tests/data/test1403+1 -0
@@ -4,6 +4,7 @@
HTTP
HTTP GET
--libcurl
+notxml
</keywords>
</info>
tests/data/test1404+1 -0
@@ -6,6 +6,7 @@ HTTP
HTTP FORMPOST
HTTP file upload
--libcurl
+notxml
</keywords>
</info>
tests/data/test1405+1 -0
@@ -6,6 +6,7 @@ FTP
post-quote
pre-quote
--libcurl
+notxml
</keywords>
</info>
# Server-side
tests/data/test1406+1 -0
@@ -5,6 +5,7 @@
<keywords>
SMTP
--libcurl
+notxml
</keywords>
</info>
tests/data/test1407+1 -0
@@ -6,6 +6,7 @@ POP3
Clear Text
LIST
--libcurl
+notxml
</keywords>
</info>
tests/data/test1420+1 -0
@@ -6,6 +6,7 @@ IMAP
Clear Text
FETCH
--libcurl
+notxml
</keywords>
</info>
tests/data/test1445+1 -0
@@ -3,6 +3,7 @@
<keywords>
FILE
--remote-time
+notxml
</keywords>
</info>
tests/data/test1446+1 -0
@@ -3,6 +3,7 @@
<keywords>
SFTP
--remote-time
+notxml
</keywords>
</info>
tests/data/test1461+1 -0
@@ -2,6 +2,7 @@
<info>
<keywords>
--help
+notxml
</keywords>
</info>
tests/data/test1463+1 -0
@@ -3,6 +3,7 @@
<keywords>
FILE
--help
+notxml
</keywords>
</info>
tests/data/test1464+1 -0
@@ -3,6 +3,7 @@
<keywords>
FILE
--help
+notxml
</keywords>
</info>
tests/data/test1465+1 -0
@@ -4,6 +4,7 @@
HTTP
HTTP POST
--libcurl
+notxml
</keywords>
</info>
tests/data/test1481+1 -0
@@ -4,6 +4,7 @@
HTTP
HTTP GET
--libcurl
+notxml
</keywords>
</info>
tests/data/test1506+1 -0
@@ -4,6 +4,7 @@
HTTP
multi
verbose logs
+notxml
</keywords>
</info>
tests/data/test1510+1 -0
@@ -4,6 +4,7 @@
HTTP
verbose logs
flaky
+notxml
</keywords>
</info>
tests/data/test1512+1 -0
@@ -3,6 +3,7 @@
<keywords>
HTTP
GLOBAL DNS CACHE
+notxml
</keywords>
</info>
tests/data/test1524+1 -0
@@ -4,6 +4,7 @@
HTTP
HTTP PUT
followlocation
+notxml
</keywords>
</info>
#
tests/data/test1542+1 -0
@@ -6,6 +6,7 @@ connection reuse
persistent connection
CURLOPT_MAXLIFETIME_CONN
verbose logs
+notxml
</keywords>
</info>
tests/data/test1598+1 -0
@@ -5,6 +5,7 @@ HTTP
HTTP POST
CURLOPT_HTTPTRAILER_FUNCTION
CURLOPT_HTTPTRAILER_DATA
+notxml
</keywords>
</info>
tests/data/test163+1 -0
@@ -3,6 +3,7 @@
<keywords>
HTTP
HTTP POST
+notxml
</keywords>
</info>
tests/data/test1683+1 -0
@@ -4,6 +4,7 @@
HTTP
HTTP GET
--no-clobber
+notxml
</keywords>
</info>
tests/data/test1705+1 -0
@@ -4,6 +4,7 @@
script
documentation
managen
+notxml
</keywords>
</info>
tests/data/test1706+1 -0
@@ -4,6 +4,7 @@
script
documentation
managen
+notxml
</keywords>
</info>
tests/data/test1977+1 -0
@@ -3,6 +3,7 @@
<keywords>
CURLOPT_CURLU
CURLINFO_EFFECTIVE_URL
+notxml
</keywords>
</info>
tests/data/test199+1 -0
@@ -4,6 +4,7 @@
HTTP
HTTP GET
globbing
+notxml
</keywords>
</info>
#
tests/data/test2402+1 -0
@@ -5,6 +5,7 @@ HTTP
HTTP/2
multi
verbose logs
+notxml
</keywords>
</info>
tests/data/test2404+1 -0
@@ -5,6 +5,7 @@ HTTP
HTTP/2
multi
verbose logs
+notxml
</keywords>
</info>
tests/data/test2502+1 -0
@@ -5,6 +5,7 @@ HTTP
HTTP/3
multi
verbose logs
+notxml
</keywords>
</info>
tests/data/test3+1 -0
@@ -4,6 +4,7 @@
HTTP
HTTP POST
HTTP Basic auth
+notxml
</keywords>
</info>
#
tests/data/test32+1 -0
@@ -4,6 +4,7 @@
HTTP
HTTP GET
-G
+notxml
</keywords>
</info>
#
tests/data/test320+1 -0
@@ -4,6 +4,7 @@
HTTPS
HTTP GET
TLS-SRP
+notxml
</keywords>
</info>
tests/data/test39+1 -0
@@ -3,6 +3,7 @@
<keywords>
HTTP
HTTP FORMPOST
+notxml
</keywords>
</info>
# Server-side
tests/data/test40+1 -0
@@ -4,6 +4,7 @@
HTTP
HTTP GET
followlocation
+notxml
</keywords>
</info>
#
tests/data/test439+1 -0
@@ -3,6 +3,7 @@
<keywords>
HTTP
aws-sigv4
+notxml
</keywords>
</info>
tests/data/test446+0 -1
@@ -1,4 +1,3 @@
-<?xml version="1.0" encoding="US-ASCII"?>
<testcase>
<info>
<keywords>
tests/data/test45+1 -0
@@ -4,6 +4,7 @@
HTTP
HTTP GET
followlocation
+notxml
</keywords>
</info>
# Server-side
tests/data/test48+1 -0
@@ -4,6 +4,7 @@
HTTP
HTTP HEAD
-G
+notxml
</keywords>
</info>
#
tests/data/test568+1 -0
@@ -5,6 +5,7 @@
<keywords>
RTSP
ANNOUNCE
+notxml
</keywords>
</info>
tests/data/test646+1 -0
@@ -3,6 +3,7 @@
<keywords>
SMTP
MULTIPART
+notxml
</keywords>
</info>
tests/data/test733+1 -0
@@ -2,6 +2,7 @@
<info>
<keywords>
IPFS
+notxml
</keywords>
</info>
tests/data/test734+1 -0
@@ -2,6 +2,7 @@
<info>
<keywords>
IPFS
+notxml
</keywords>
</info>
tests/data/test735+1 -0
@@ -2,6 +2,7 @@
<info>
<keywords>
IPFS
+notxml
</keywords>
</info>
tests/data/test739+1 -0
@@ -2,6 +2,7 @@
<info>
<keywords>
IPFS
+notxml
</keywords>
</info>
tests/data/test787+1 -0
@@ -3,6 +3,7 @@
<keywords>
HTTP
--variable
+notxml
</keywords>
</info>
tests/data/test96+1 -0
@@ -2,6 +2,7 @@
<info>
<keywords>
TrackMemory
+notxml
</keywords>
</info>