python / python/cpython

Redundant quotes in `subprocess.TimeoutExpired` message

Ouverte
#152,558 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

stdlib topic-subprocess 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:

Bug description:

While looking into https://github.com/python/cpython/pull/151486, I noticed a similar issue in subprocess.TimeoutExpired.__str__.

subprocess.TimeoutExpired.__str__ manually wraps cmd in single quotes while formatting the exception message.
This produces confusing output when cmd is a list, because the list representation already contains quotes around its string elements.

import subprocess
import sys

cmd = [sys.executable, "-c", "import time; time.sleep(10)"]
subprocess.run(cmd, timeout=0.01)

Current output:

Traceback (most recent call last):
  ...
subprocess.TimeoutExpired: Command '['...python...', '-c', 'import time; time.sleep(10)']' timed out after 0.01 seconds

Expected output:

Traceback (most recent call last):
  ...
subprocess.TimeoutExpired: Command ['...python...', '-c', 'import time; time.sleep(10)'] timed out after 0.01 seconds
CPython versions tested on:

CPython main branch

Operating systems tested on:

Linux

Linked PRs
  • gh-152559

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 subprocess.TimeoutExpired.str et examinez les tests d’exception subprocess existants. Reproduisez l’exemple de timeout, ajustez le message attendu afin que la représentation de la commande ne soit pas entourée de manière redondante, et vérifiez que les tests subprocess concernés passent ; le PR lié gh-152559 indique que le travail est déjà en cours.

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

Évaluation

Stack technique
python
Domaine
operating-systems
Type d'issue
Bug
Difficulté
2/5
Temps estimé
1-3 heures
Activité
À l'abandon
Clarté
Clairement spécifiée
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

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