QA/Mozmill Test Automation/On Demand Update Testing/Documentation

The following is just an initial dump of information to be used for future documentation.

Heartbeat Emitter

  • Generates traffic to keep Pulse connections from being automatically closed.
  • Must be running -somewhere- on the internet. Can be anywhere.
  • Fine to run more than one. If you're not sure, boot one.

Usage

./heartbeat_emitter.py

Options/Behavior

No other requirements. It will print out local time every time a heartbeat is sent, so you can diagnose time of any server failures or freezes.

Release Listener

  • Listens for a release request and automatically runs the correct script
  • Run one per platform. Make sure a heartbeat has been set up.

Usage

./release_listener.py --help
Usage: release_listener.py [options] cluster platform

Launches a listener for the on-demand testing system. The listener will only 
respond to requests for the specified cluster. The listener will respond to
requests for either the specified platform or for all platforms.

Options:
  -h, --help            show this help message and exit
  -u UPDATE_SCRIPT, --update=UPDATE_SCRIPT
                        update test script to run [default:
                        ./release_update.py]
  -f FUNCTIONAL_SCRIPT, --functional=FUNCTIONAL_SCRIPT
                        functional test script to run [default:
                        ./release_bft.py]
  -d, --debug           print out extra debug information on ignored messages

Sample command lines

./release_listener.py qa-foobar mac

This runs a listener in the qa-foobar cluster, platform set to mac.

Options/Behavior

  • Cluster is an additional arbitrary key to indicate which listeners should respond. Only listeners that match a push's cluster will respond.
  • --update will redefine which test script is called for update requests
  • --functional will redefine which test script is called for functional requests