Jump to content

Cindy The Browser Test Bot

From Wikitech

Cindy is the browser test bot which runs browser tests for CirrusSearch extension. It is run on any patch against mediawiki/extensions/CirrusSearch repository and V+1 or V-1 the patch in Gerrit depending on the test results. It is based on Barry The Browser Test Bot.

The tests

The tests are located in tests/integration subdirectory in the CirrusSearch source. They can also be run manually by cloning the integration test runner repository and running:

./create-env.sh && ./run-integration.sh

The runner

The runner is found in search-platform/cirrus-integration-test-runner. This polls gerrit for patches to review, sets up a multi-wiki environment for each, and runs the integration test.

The bot

The bot is running on cirrus-integ03.search.eqiad1.wikimedia.cloud. In order to control it, after logging in, run:

sudo -u integration-bot tmux attach

Then you can run the bot with:

~/cirrus-integration-test-runner/run-cindy.sh

The bot should always be run from within the tmux session, this simplifies administration and ensures it keeps running after disconnect.

TODO: Could this be more reliable as a systemd unit?

Logs

Most logs are destroyed when the next test run starts. A record of the console output of the last integration test run for each tested patch is found in /tmp/cindy_run.<gerrit id>.log

Web Access

Access to the http site under test is done through SSH port forwarding. You may need to stop any local service using port 8080.

Connect like so: ssh -L 8080:localhost:8080 cirrus-integ03.search.eqiad1.wikimedia.cloud

And then visit cirrustestwiki.mediawiki.mwdd.localhost:8080.