Richiesta di aiuto per l'errore nel trovare DiscourseRedis::Connector durante l'esecuzione dei test

Negli ultimi giorni, quando provo a eseguire i test in locale, ricevo questo errore:

$ bundle exec rake autospec

...

Si è verificato un errore durante il caricamento di ./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

Non sono a conoscenza di eventuali modifiche involontarie che potrebbero aver impedito al mio sistema di eseguire i test. Redis è sicuramente in esecuzione, quindi non si tratta di un effetto collaterale dovuto al fatto che Redis non è attivo.

Ricevo questo errore anche quando eseguo i test su una versione pulita di tests-passed, quindi il problema riguarda il mio ambiente, ma non so da dove iniziare a cercare.

Avete qualche suggerimento?

Sembra che siamo riusciti a inserire spec difettosi. Ho disabilitato gli spec difettosi in questo commit:

Ma abbiamo due punti da seguire:

  1. Riparare gli spec difettosi
  2. Assicurarsi che non possano essere inseriti di nuovo in futuro.

Grazie per aver dato un’occhiata! Le specifiche non funzionanti sono finite su tests-passed a causa di problemi intermittenti?

Ho fatto un pull e su ac9577bcc7b69593bcdd204368d35492fc0cee15 vedo esattamente lo stesso errore in locale. Quindi probabilmente ci sono più di un problema. :confused:

Scusa, mia colpa. Ho dimenticato di fare il push :facepalm: Ho aggiornato il post precedente con il commit corretto.

E sì, significa che test difettosi sono finiti in tests-passed. Fortunatamente Discourse stesso è a posto: sono i test che devono essere aggiornati, non ci sono bug nella nostra applicazione. Tuttavia, faremo in modo che questo non accada in futuro.

L’ho già fatto! I test sono ora in esecuzione con successo.

Scusa se non l’ho chiesto prima. So di essere fuori dal mainstream degli sviluppatori di Discourse dato che lavoro su Fedora e non su Ubuntu, quindi ho il pregiudizio di assumere che ci sia una variante ambientale sulla mia macchina che è semplicemente diversa. Grazie per aver sbloccato i miei test!

Vedo che c’è disaccordo riguardo alla disattivazione di quei test dal commit 25db91e35180b2707ca4a9f7ffd173823f86f18d che ha annullato la tua modifica.

Tuttavia, non è perché è seguito dalla risoluzione del problema, poiché ho testato alla d775338d637d9ef3843acf227a138e8f11352151 che è master e i test sono passati al momento del mio pull, e il problema è tornato.

Almeno ho fatto sì che i miei test passassero localmente e ho capito cosa dovevo fare diversamente per gestire i nuovi meccanismi di sicurezza che ho inserito nello script di migrazione.

@tgxworld qual è il piano per risolvere il conflitto? Immagino che possa semplicemente fare cherry-pick di b1114b9a20343525c805d7339bd64954965a12f9 temporaneamente sulla base del mio ramo quando devo testare nel frattempo?

I test dovevano essere rimossi e non l’ho notato perché il nostro CI aveva un bug che impediva l’arresto in caso di errore. Questo è stato corretto in