bug: connectivity test --junit-file emits malformed XML (duplicate failureMessage attribute)
I maintainer di solito rispondono entro 1 giorno
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 75/100
Direzione di ricerca
Inizia da cilium-cli/connectivity/internal/junit/junit.go, dove, secondo l’issue, gli attributi di errore vengono assemblati in più punti. Riproduci il problema con un test di connettività che abbia un’azione non riuscita e analizza out.xml usando il comando Python ElementTree fornito. Il lavoro è completato quando il report è un XML ben formato e viene analizzato correttamente, mantenendo i dettagli dell’errore.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Summary
The JUnit XML report written by cilium connectivity test --junit-file is
malformed: <failure> elements carry the failureMessage attribute twice,
so strict XML parsers reject the file and JUnit consumers cannot use it.
Environment
cilium-cli: v0.19.7 compiled with go1.26.5 on linux/amd64- server: Cilium chart 1.20.4 on single-node k3d (k3s v1.34.5+k3s1)
- command:
cilium connectivity test --single-node --junit-file out.xml
(any run with at least one failed action reproduces it; 132 testcases,
27 failed in the reporting run)
Reproduction
-
Run
cilium connectivity test --junit-file out.xmlon a setup where at
least one test action fails (e.g. single-node k3d, L7/TLS tests fail). -
Parse the report with a strict parser:
python3 -c "import xml.etree.ElementTree as ET; ET.parse('out.xml')"
Expected
Well-formed XML that any JUnit consumer can parse.
Actual
xml.etree.ElementTree.ParseError: duplicate attribute: line 8, column 405
The emitting element looks like
<failure message="..." failureMessage="..." failureMessage="...">
(the attribute appears twice with the full command text). Related work that
is NOT this bug: #40035 (export detailed failure messages, likely origin of
the second attribute), #46835 (atomic write), #46101 (remove partial file).
Additional Context
- Probable source:
cilium-cli/connectivity/internal/junit/junit.go
(failure attributes are assembled in more than one place since #40035). - Workaround for consumers: regex-extract
name/timeper testcase
instead of parsing the XML.
- Lingua principale
- Makefile
- Stelle
- 608
- Fork
- 229
- Merge medio
- 1g 25m
- PR unite (30g)
- 16
Preparare l'ambiente
- Include un Dockerfile o un file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di cilium/cilium-cli
-
Dependency DashboardAperta
Difficoltà 5/5 Più di una settimana Idoneità per principianti 15/100
cilium/cilium-cli#1599 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di cilium/cilium-cli
Issue simili
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
YO-WHATS-UP2/minigit#78 ·
I maintainer di solito rispondono entro 3 giorni
-
T4: Show the slowest lapApertagood first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
ozaydincan/Workshop_Demo#14 ·
-
follow-up needs-triage S3: minor
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
manaflow-ai/cmux#36856 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 77/100
I maintainer di solito rispondono entro 1 giorno