Split up _testcapimodule.c

Offen
#93,649 38 Kommentare 4 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Anfängerfreundlichkeit
20/100
Issue-Typ
Refactoring
Klarheit
Größtenteils klar
Aktivitätsstatus
Veraltet
Tech-Stack
c, python
Bereich
testing-qa

Rechercherichtung

Beginne mit der Durchsicht von Modules/_testcapimodule.c und den vorhandenen Modulen _testmultiphase, _testimportmultiple, _testinternalcapi und _testbuffer und untersuche anschließend die in der Issue aufgeführten verlinkten PRs. Als abgeschlossen gilt die Arbeit, wenn die C-API-Tests in kohärente Module aufgeteilt sind, die relevante Testabdeckung erhalten bleibt und eine Verschmutzung des Namespace der Top-Level-Module vermieden wird.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

tests topic-C-API type-refactor

Modules/_testcapimodule.c is a nearly-8000-line behemoth with no clear structure or organization. It is getting hard to maintain.

It also doesn't work well with testing (a) feature macros that affect Python.h and (b) module initialization, so we have additional C-API testing modules: _testmultiphase, _testimportmultiple, _testinternalcapi.
_testbuffer is already split out, but there are many other aspects of the API that would use a similar dedicated test suite.

We should split and combine these, ideally without polluting the namespace of top-level modules.

  • PR: gh-94549
  • PR: gh-94695
  • PR: gh-94702
  • PR: gh-95386
  • PR: gh-95793
  • PR: gh-95819
  • PR: gh-99346
  • PR: gh-99494
  • PR: gh-99517
  • PR: gh-99532
  • PR: gh-99549
  • PR: gh-99551
  • PR: gh-102173
  • PR: gh-104403
  • PR: gh-129400
  • PR: gh-129512
  • PR: gh-129516
  • PR: gh-129521
  • PR: gh-129544
Vorherrschende Sprache
Python
Sterne
77.2k
Forks
36k
Ø Merge
1 T. 9 Std.
Gemergte PRs (30 T.)
558

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus python/cpython

Alle Issues in python/cpython

Ähnliche Issues

Weitere Issues zu Python

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.