matplotlib / matplotlib/pytest-mpl

Improving hash library workflow

Offen
#158 2 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Vorherrschende Sprache
Python
Sterne
272
Forks
53
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

For the current workflow, if there are hash library test failures for a pytest session, then these are easily discoverable thanks to the rich loveliness of the html figure comparison.

However, given any single hash library failure, the outcome is essentially three-fold:

  1. the graphic test has detected a genuine failure that requires to be resolved (somehow)
  2. the tolerance of the test requires to be increased
  3. a new hash value requires to be associated with the test and recorded in the hash library along with a new image

The choice of including or not including a new hash can result in a blend of the existing hash library and a new hash library (as opposed to accepting all new hashes).

We could extend the workflow to offer the user the choice to manually accept or reject any new proposed hashes. This would ease the burden of customising the hash library and also resolving any result-failed-diff.png images, all of which should then be placed under version control (somewhere).

We adopt this approach on SciTools/iris and SciTools/tephi, for example see https://github.com/SciTools/tephi/pull/78.

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne mit der Überprüfung des pytest-Session-Workflows, der Handhabung der Hash-Bibliothek und der im Issue beschriebenen result-failed-diff.png-Artefakte. Vergleiche den in SciTools/tephi pull request 78 verwendeten Ansatz; die Arbeit wäre abgeschlossen, wenn Benutzer vorgeschlagene Hashes manuell akzeptieren oder ablehnen können und die daraus resultierenden Hashes und Bilder unter Versionskontrolle gehalten werden.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
python
Bereich
testing-qa, tooling
Issue-Typ
Feature
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
25/100

Neue Issues direkt in Ihr Postfach

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