Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

rspec-queue does not fail if there are NameErrors in specs

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

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
3/5
Tiempo estimado
1-2 días
Aptitud para principiantes
42/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
ruby
Área
cli, testing-qa

Línea de trabajo

Comienza por ruby/lib/rspec/queue.rb alrededor de las líneas 387-401 y reproduce el caso de NameError usando rspec-queue, comparando su estado de salida con el de bare rspec. Traza cómo afectan NameError y los errores de sintaxis al resultado informado y determina si el comportamiento completado debería devolver un estado distinto de cero sin interrumpir los reintentos; se considera terminado cuando haya cobertura de regresión y el estado de error correcto.

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

Descripción

I've just encountered the following behaviour with the rspec runner of ci-queue:

  1. Modify a spec to reference an uninitialized constant so as to trigger a NameError, e.g. by referring to a non-existent class:
describe MyNonExistentClass do
 ...
end
  1. Run rspec-queue
  2. rspec-queue exits successfully.

I guessed wrongly that rspec-queue would fail with a non-zero exit code, but it exited with 0.

Bare rspec exits with 1 in the above situation.

I'm wondering if this is intended behaviour - perhaps its needed for retries to work?

The error message output is:

NameError: uninitialized constant MyNonExistentClass

Debugging shows that line 400 is where the 0 exit code is returned, because the NameError causes @world.non_example_failure to be true. Syntax errors appear to have the same result:

https://github.com/Shopify/ci-queue/blob/cba2cddb6de4342fc7b5dd911f53d99651e3723e/ruby/lib/rspec/queue.rb#L387-L401

Lenguaje dominante
Ruby
Estrellas
240
Forks
36
Merge medio
28 min
PR fusionados (30 d)
3

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.

Más de Shopify/ci-queue

Todos los issues de Shopify/ci-queue

Issues similares

Más issues de Ruby

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.