matplotlib / matplotlib/pytest-mpl

Improving hash library workflow

Abierto
#158 2 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Lenguaje dominante
Python
Estrellas
272
Forks
53
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

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.

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Línea de trabajo

Comienza revisando el flujo de trabajo de la sesión de pytest, el manejo de la biblioteca de hashes y los artefactos result-failed-diff.png descritos en el issue. Compara el enfoque utilizado en SciTools/tephi pull request 78; el trabajo estaría terminado cuando los usuarios puedan aceptar o rechazar manualmente los hashes propuestos y los hashes e imágenes resultantes se mantengan bajo control de versiones.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
python
Área
testing-qa, tooling
Tipo de issue
Nueva funcionalidad
Dificultad
5/5
Tiempo estimado
Más de una semana
Estado de actividad
Estancado
Claridad
Necesita aclaración
Aptitud para principiantes
25/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.