Nos últimos dias, ao tentar executar os testes localmente, estou recebendo este erro:
$ bundle exec rake autospec
...
Ocorreu um erro ao carregar ./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
Não tenho conhecimento de que tenha alterado algo inadvertidamente que impedisse meu sistema de executar os testes. O Redis está definitivamente em execução, então não se trata de um efeito colateral da inatividade do Redis.
Isso ocorre mesmo ao executar os testes em uma cópia limpa de tests-passed, o que indica que o problema está relacionado ao meu ambiente, mas não sei por onde começar a investigar.
Obrigado por verificar isso! As especificações com erro foram para tests-passed por causa de problemas intermitentes?
Fiz o pull e, no commit ac9577bcc7b69593bcdd204368d35492fc0cee15, ainda estou vendo exatamente o mesmo erro localmente. Então, provavelmente há mais de um problema.
Desculpe, minha culpa. Esqueci de fazer o push Atualizei a postagem anterior com o commit correto.
E sim, isso significa que testes quebrados foram incluídos nos testes aprovados. Felizmente, o próprio Discourse está ok — são os testes que precisam ser atualizados, não há bugs em nossa aplicação. Ainda assim, vamos impedir que isso aconteça no futuro.
Já passei por isso! Os testes estão rodando felizmente agora.
Desculpe não ter perguntado antes. Sei que estou fora do desenvolvimento principal do Discourse, já que estou trabalhando no Fedora e não no Ubuntu, então tenho um viés de assumir que há alguma variação ambiental na minha máquina que é apenas diferente. Obrigado por destravar meus testes!
Vejo que há discordância sobre a desativação desses testes a partir do commit 25db91e35180b2707ca4a9f7ffd173823f86f18d, que reverteu sua alteração.
Mas não é porque isso foi seguido pela correção do problema, pois eu testei em d775338d637d9ef3843acf227a138e8f11352151, que é a master, e os testes passaram no momento em que fiz o pull, e o problema voltou.
Pelo menos consegui fazer meus testes passarem localmente e descobri o que precisava fazer de diferente para lidar com os novos mecanismos de segurança que implementei no script de migração.
@tgxworld, qual é o plano para resolver o conflito? Acredito que posso apenas fazer um cherry-pick de b1114b9a20343525c805d7339bd64954965a12f9 temporariamente na base da minha branch quando precisar testar no meio do caminho?
Os testes deveriam ter sido removidos e eu não percebi porque nosso CI tinha um bug que fazia com que ele não falhasse ao encontrar um erro. Isso foi corrigido em