Who is Cindy?
Cindy is a browser test bot running on
cirrus-browser-bot.eqiad.wmflabs. Cindy queries gerrit for patches she has not yet voted on within the CirrusSearch repository every 10 minutes. For those patches she has not yet voted on she checks them out and runs the browser tests. Tests run against cirrustestwiki and commonswiki.
This is a fork of Barry-the-Browser-Test-Bot and runs under the gerrit username Cindy-the-browser-test-bot.
If some tests are intermittently failing
If some tests are intermittently failing and you can't fix it yet, tag them as @expect_failure so they are excluded from voting.
The server is
The code for the bot itself is in
The code that runs in a loop, runs the bot regularly and provides it options is in
Because the python bot is run in a loop from a shell script nothing special needs to be done when updating the python code. The next loop through will pick up the new code. If the loop needs to be restarted to pick up new arguments kill the old one and start a new one as the `cindy` user.
Running individual test
- Log in to
- sudo -u cindy -i
- cd /srv/mediawiki-vagrant/mediawiki/extensions/CirrusSearch/tests/browser
- bundle exec cucumber features/YOURTEST.feature
Some things that might, or might not help
Delete every last index in elasticsearch
Delete and recreate indexes for named wikis. Commons must be indexed before cirrustest or the OtherIndex values will be incorrect.
for wiki in commonswiki cirrustestwiki; do mwscript extensions/CirrusSearch/tests/jenkins/cleanSetup.php --wiki=$wiki done
If a class is missing this will pull in the latest dependencies.
cd /vagrant/mediawiki && composer update
Brute force reinitialization of the database
for wiki in commonswiki cirrustestwiki; do ( echo "drop database $wiki; create database $wiki;" && \ cat /vagrant/mediawiki/maintenance/tables.sql ) \ | mysql mwscript update.php --wiki=$wiki --quick done