- One machine needs to run simplesignaling. This is a nodejs-based server to facilitate Firefox communication.
- A machine needs to run steelpechase. This can be the same machine as the one that runs simplesignalling, but not required.
- Each of the client machines runs Negatus, which is a test agent.
The steeplechase machine needs to download the firefox binaries and tests from http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/latest-trunk/. The binaries and test files have to be de-archived. Steeplechase can then be run:
% tar xvfj firefox-33.0a1.en-US.linux-x86_64.tar.bz2 % mkdir tests % cd tests/ % unzip ../firefox-33.0a1.en-US.linux-x86_64.tests.zip % mkdir ~/logs % python ~/src/steeplechase/steeplechase/runsteeplechase.py --binary /home/mozilla/firefox-releases/firefox/firefox --specialpowers-path /home/mozilla/firefox-releases/tests/steeplechase/specialpowers --prefs-file /home/mozilla/firefox-releases/tests/steeplechase/prefs_general.js --signalling-server 'http://192.168.1.2:8080/' --html-manifest /home/mozilla/firefox-releases/tests/steeplechase/tests/steeplechase.ini --save-logs-to ~/logs/ --host1 192.168.1.3:20701 --host2 192.168.1.4:20701 steeplechase INFO | Pushing app to Client 1... steeplechase INFO | Pushing app to Client 2... Writing profile for Client 1... Pushing profile to Client 1... cmd: ['/tmp/tests/steeplechase/app/firefox', '-no-remote', '-profile', '/tmp/tests/steeplechase/profile', 'http://192.168.1.3:38439/index.html'] Writing profile for Client 2... Pushing profile to Client 2... cmd: ['/tmp/tests/steeplechase/app/firefox', '-no-remote', '-profile', '/tmp/tests/steeplechase/profile', 'http://192.168.1.4:38439/index.html'] steeplechase INFO | Waiting for results... steeplechase INFO | All clients finished steeplechase INFO | Result summary: steeplechase INFO | Passed: 118 steeplechase INFO | Failed: 0 %
I now have this working on both my lab at home and the ESX lab in Mountain View. Next: making it work autonomously.
No comments:
Post a Comment