Ces derniers jours, lorsque j’essaie d’exécuter les tests localement, je rencontre cette erreur :
$ bundle exec rake autospec
...
Une erreur s'est produite lors du chargement de ./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
Je ne sais pas ce que j’ai pu modifier par inadvertance pour que mon système ne puisse plus exécuter les tests. Redis est bien en cours d’exécution, donc ce n’est pas une conséquence de l’arrêt de Redis.
Je rencontre cette erreur même en exécutant les tests sur une copie propre de tests-passed, il s’agit donc de quelque chose dans mon environnement, mais je ne sais pas par où commencer à chercher.
Merci d’avoir regardé ça ! Est-ce que les spécifications cassées ont atterri sur tests-passed à cause de problèmes intermittents ?
J’ai fait un pull, et sur ac9577bcc7b69593bcdd204368d35492fc0cee15, je vois exactement la même erreur localement. Donc probablement plus d’un problème.
Désolé, ma faute. J’ai oublié de pousser J’ai mis à jour le message précédent avec le commit correct.
Et oui, cela signifie que des tests cassés ont été inclus dans tests-passed. Heureusement, Discourse lui-même est intact : ce sont les tests qui doivent être mis à jour, et non des bogues dans notre application. Cependant, nous allons empêcher que cela se reproduise à l’avenir.
Ça y est, c’est fait ! Les tests s’exécutent maintenant sans problème.
Désolé de ne pas avoir demandé plus tôt. Je sais que je ne suis pas dans le courant principal des développeurs de Discourse puisque je travaille sur Fedora et non sur Ubuntu, donc j’ai tendance à supposer qu’il y a une variante environnementale sur ma machine qui est simplement différente. Merci d’avoir débloqué mes tests !
Je constate qu’il y a désaccord concernant la désactivation de ces tests à partir du commit 25db91e35180b2707ca4a9f7ffd173823f86f18d, qui annule votre modification.
Ce n’est pas parce que cela est suivi d’une correction du problème, car j’ai testé sur d775338d637d9ef3843acf227a138e8f11352151, qui est la branche master, et les tests ont passé au moment où j’ai effectué le pull, mais le problème est de retour.
Du moins, j’ai réussi à faire passer mes tests localement et j’ai compris ce que je devais faire différemment pour gérer les nouveaux mécanismes de sécurité que j’ai intégrés dans le script de migration.
@tgxworld, quel est le plan pour résoudre ce conflit ? Je suppose que je peux simplement appliquer temporairement b1114b9a20343525c805d7339bd64954965a12f9 par cherry-pick sur la base de ma branche lorsque j’ai besoin de tester en attendant ?
Les tests devaient être supprimés et je ne l’ai pas remarqué car notre CI avait un bogue où elle ne tombait pas lorsqu’elle rencontrait une erreur. Cela a été corrigé dans