python / python/cpython

The `unittest` `-b` command line option hides the output of `pdb`.

Ouverte
#133,691 5 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

pending stdlib type-bug
Langage dominant
Python
Étoiles
77.2k
Forks
35.9k
Métriques de merge des PR
Métriques de PR en attente

Description

Bug report

Bug description:
import unittest

class Test(unittest.TestCase):
    def test(self):
        print("hello")
        breakpoint()
        print("goodbye")

If I invoke this like:

$ python3 -m unittest -b repo.py

Nothing is printed and the process sits waiting on input.

Whereas without the -b option we get the Pdb prompt:

$ python3 -m unittest repo.py 
hello
> /home/matthew/code/coveragepy_issue_1963/repo.py(7)test()
-> print("goodbye")
(Pdb) 

I would expect that the debugger prompt would not be swallowed up by the "-b" option, or that some error message would pop up saying that the "-b" option and the debugger were incompatible.

CPython versions tested on:

3.12

Operating systems tested on:

Linux

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.

Piste de recherche

Commencez par exécuter le reproducteur signalé python3 -m unittest -b repo.py et comparez-le à la commande sans mise en mémoire tampon. Suivez la façon dont la mise en mémoire tampon de la sortie -b de unittest interagit avec breakpoint() et pdb, puis ajoutez une couverture pour cette interaction ; c’est terminé lorsque l’invite du débogueur est utilisable ou qu’une erreur explicite d’incompatibilité est produite.

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

Évaluation

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

Recevez les nouvelles issues par e-mail

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