Invalid JUnit XML being generated due to <type> hint

Ouverte
#16,915 3 commentaires 1 réaction 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
3/5
Temps estimé
1-2 jours
Accessibilité débutants
38/100
Type d'issue
Bug
Clarté
Plutôt claire
Activité
À l'abandon
Stack technique
python
Domaine
testing

Piste de recherche

Reproduisez le rapport avec l’exemple Python fourni et la commande --junit-xml ./mypy-report.xml, puis inspectez le chemin de génération du XML JUnit. C’est terminé lorsque le rapport généré est un XML valide lorsque les diagnostics contiennent l’indication <type>, y compris le cas no-untyped-def signalé.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

bug topic-error-reporting

Bug Report
The JUnit XML generated by MyPy is invalid.

To Reproduce
Create a list without a type annotation and generate a JUnit XML report using MyPy.

def dummy_function():
    abc = []
    for i in ["asd", 123]:
        abc.append(i)

Expected Behavior
I expect a valid XML document to be generated.

Actual Behavior
The XML is unable to be parsed due to a mismatched tag. I believe this is because of the presence of a <type> mask in a hint.
error: Need type annotation for "abc" (hint: "abc: List[<type>] = ...")

This is the XML error message that is displayed

XML Parsing Error: mismatched tag. Expected: </type>
Location: [file_path]
Line Number XXX, Column XXX:

[Error location]:8: error: Function is missing a type annotation [no-untyped-def]</failure>

Your Environment
Mac with Sonoma 14.3 and using the Poetry package manager

  • Mypy version used: 1.8.0
  • Mypy command-line flags: --explicit-package-bases --strict --junit-xml ./mypy-report.xml
  • Mypy configuration options from mypy.ini (and other config files): N/A
  • Python version used: 3.10
Langage dominant
Python
Étoiles
20.6k
Forks
3.3k
Merge moyen
1 j 18 h
PR mergées (30 j)
54

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de python/mypy

Toutes les issues de python/mypy

Issues similaires

Plus d'issues Python

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.