Solicitando ayuda con el fallo al encontrar DiscourseRedis::Connector ejecutando pruebas

Durante los últimos días, cuando intento ejecutar las pruebas localmente, obtengo este error:

$ bundle exec rake autospec

...

Ocurrió un error al cargar ./spec/components/discourse_redis_spec.rb.
Failure/Error:
    describe DiscourseRedis::Connector do
      let(:connector) { DiscourseRedis::Connector.new(config) }
  
      after do
        fallback_handler.master = true
      end
  
      it 'should return the master config when master is up' do
        expect(connector.resolve).to eq(config)
      end

NameError:
  uninitialized constant DiscourseRedis::Connector
  Did you mean?  ConnectionPool

No tengo conocimiento de qué podría haber cambiado inadvertidamente para que mi sistema ya no pueda ejecutar las pruebas. Redis definitivamente se está ejecutando, por lo que no es un efecto secundario de que Redis no esté activo.

Obtengo este error incluso al ejecutar las pruebas en una copia limpia de tests-passed, por lo que es algo relacionado con mi entorno, pero no sé por dónde empezar a buscar.

¿Alguna sugerencia?

2 Me gusta

Parece que logramos subir especificaciones rotas. He desactivado las especificaciones rotas en este commit:

Pero tenemos dos puntos de seguimiento:

  1. Corregir las especificaciones rotas
  2. Asegurarnos de que no podamos volver a subirlas en el futuro.
2 Me gusta

¡Gracias por revisar esto! ¿Las especificaciones rotas llegaron a tests-passed debido a problemas intermitentes?

He hecho pull y en ac9577bcc7b69593bcdd204368d35492fc0cee15 sigo viendo exactamente el mismo error localmente. Así que probablemente haya más de un problema. :confused:

Lo siento, fue mi culpa. Se me olvidó hacer push :facepalm: He actualizado el mensaje anterior con el commit correcto.

Y sí, significa que pruebas fallidas llegaron a tests-passed. Afortunadamente, Discourse en sí está bien: lo que necesita actualizarse son las pruebas, no hay errores en nuestra aplicación. Aún así, vamos a evitar que esto vuelva a ocurrir en el futuro.

3 Me gusta

¡Ya lo hice! Las pruebas se están ejecutando felizmente ahora.

Disculpa que no lo preguntara antes. Sé que estoy fuera del desarrollo principal de Discourse, ya que trabajo en Fedora y no en Ubuntu, así que tengo la tendencia a asumir que hay alguna variante ambiental en mi máquina que simplemente es diferente. ¡Gracias por desbloquear mis pruebas!

1 me gusta

Veo que hay desacuerdo sobre deshabilitar esas pruebas desde el commit 25db91e35180b2707ca4a9f7ffd173823f86f18d, que revertió tu cambio.

Pero no es porque se haya seguido con la corrección del problema, ya que probé en d775338d637d9ef3843acf227a138e8f11352151, que es la rama master, y las pruebas pasaron en el momento en que actualicé mi repositorio, pero el problema ha vuelto.

Al menos logré que mis pruebas pasaran localmente y descubrí qué tenía que hacer de forma diferente para manejar los nuevos mecanismos de seguridad que implementé en el script de migración.

@tgxworld, ¿cuál es el plan para resolver el conflicto? ¿Supongo que puedo simplemente hacer un cherry-pick de b1114b9a20343525c805d7339bd64954965a12f9 temporalmente sobre la base de mi rama cuando necesite probar mientras tanto?

1 me gusta

Las pruebas estaban destinadas a eliminarse y no lo noté porque nuestro CI tenía un error por el cual no fallaba al encontrar un error. Esto se ha corregido en

3 Me gusta