python / python/cpython

test_track_literals depends on a garbage collection

Ouverte
#155,728 7 commentaires 0 réactions 1 personne assignée Voir sur GitHub

@sergey-miryanov y travaille déjà.

Depuis le 13/8/2026.

3.14 3.15 3.16 interpreter-core tests 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

_not_tracked_instantly() requires the tuple to be untracked without a collection. This holds for tuples created at run time, but tuple constants are created tracked and are only untracked by _PyTuple_MaybeUntrack(), which is called only from the collector.

$ ./python -c "import gc; print(gc.is_tracked((1,)))"
True

So test_track_literals passes only if a collection happens between importing the module and running the test. Under regrtest it does not:

$ ./python -m test test_tuple -m test_track_literals
AssertionError: True is not false : (1,)

while ./python -m unittest test.test_tuple.TupleTest.test_track_literals passes.

Untracking tuple constants when the code object is created would let the test keep the stronger check.

Linked PRs
  • gh-156419
  • gh-156423

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.

Évaluation

Cette issue n'a pas encore été évaluée.

Recevez les nouvelles issues par e-mail

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