Mozlint publisher ignores lineoffset, so multi-line warnings aren't posted inline

Abierto Apto para principiantes
#3,399 1 comentario 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
74/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Tranquilo
Stack tecnológico
python
Área
tooling

Línea de trabajo

Comienza en bot/code_review_bot/tasks/lint.py, en el nb_lines=1 codificado, y sigue cómo se analiza el artefacto JSON de mozlint. Revisa la definición de result.py de mozlint referenciada y el uso de lineoffset en compare-locales. Se considera terminado cuando las advertencias multilínea estén ancladas en todas las líneas afectadas y se publiquen inline cuando las líneas relevantes estén en el diff.

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

Descripción

I have updated compare-locales to provide a lineoffset on top of lineno when finding an error in a multiline string. Turns out that doesn't do anything.

The mozlint parser in hardcodes nb_lines=1 and never reads the lineoffset field from the mozlint JSON artifact (guessing it should use lineoffset + 1).

As a result, warnings that apply to a multi-line entity are anchored to a single line and dropped from publishing when that line isn't part of the diff.

Example revision: https://phabricator.services.mozilla.com/D304024 — 4 changed strings, only a general comment, no inline comments.

P.S. compare-locales still has an issue, because I set lineoffset as a value, not as a tuple. I honestly don't understand why that's the case, since lineno is already defined.

Lenguaje dominante
Python
Estrellas
67
Forks
52
Merge medio
3 d 23 h
PR fusionados (30 d)
54

Guía de contribución

Abrir la guía de contribución

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.

Más de mozilla/code-review

Todos los issues de mozilla/code-review

Issues similares

Más issues de Python

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.