test_perf_profiler: race condition when cleaning up perf-*.map files
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Python
- Sterne
- 77.2k
- Forks
- 35.9k
- PR-Merge-Kennzahlen
- PR-Kennzahlen ausstehend
Beschreibung
Bug report
Bug description:
What happens
Lib/test/test_perf_profiler.py uses setUp/tearDown to record all perf-*.map files in /tmp at test start, then deletes any new ones at the end.
When tests run in parallel (make -j, CI runners, pytest-xdist), one test deletes map files belonging to another test → race condition.
This causes:
- Flaky test failures
- Leftover
/tmp/perf-*.mapfiles - Unreliable CI results
What should happen
Each test should only delete the perf-*.map file(s) it created, regardless of other concurrent processes.
CPython versions tested on:
CPython main branch
Operating systems tested on:
No response
Linked PRs
- gh-141593
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne mit Lib/test/test_perf_profiler.py und konzentriere dich auf die Behandlung der perf-*.map-Dateien in /tmp durch setUp und tearDown. Führe den Test, sofern verfügbar, mit paralleler Ausführung aus und untersuche, wie Dateien erstellt und bereinigt werden. Erledigt ist die Aufgabe, wenn jeder Test nur die von ihm erstellten Map-Dateien entfernt, ohne Dateien zu löschen, die zu gleichzeitig ausgeführten Tests gehören.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- python
- Bereich
- testing-qa
- Issue-Typ
- Bug
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Klar beschrieben
- Anfängerfreundlichkeit
- 25/100