NeckoNet: Difference between revisions

Jump to navigation Jump to search
2,072 bytes added ,  22 July 2011
no edit summary
No edit summary
No edit summary
Line 9: Line 9:
*db4 development package(s) for whatever distro you're using
*db4 development package(s) for whatever distro you're using
*Python from the 2.7 series
*Python from the 2.7 series
*Django 1.3
*sqlite 3
*sqlite 3
*sqlalchemy (www.sqlalchemy.org)
*flask (flask.pocoo.org)
*jinja2 (jinja2.pocoo.org)
*werkzeug (werkzeug.pocoo.org)
*wtforms (wtforms.simplecodes.com)
*Everything necessary for [[StandaloneTalos]] (but you don't need to download talos itself, that's included in our tarball)
*Everything necessary for [[StandaloneTalos]] (but you don't need to download talos itself, that's included in our tarball)
Most of the python modules should be available through your package manager, but the URLs for them are above just in case.


== Installation ==
== Installation ==
Line 17: Line 23:
#Download http://people.mozilla.org/~hurley/neckonet.tar.gz
#Download http://people.mozilla.org/~hurley/neckonet.tar.gz
#tar xzf neckonet.tar.gz
#tar xzf neckonet.tar.gz
#cd testing
#cd neckonet
#Run install.sh as root to build & install the custom kernel module & userspace control program
#Run "python install.py" to build & install everything (it will ask for your sudo password)
#Run "python necko.py dbsync" to upgrade/create the database
 
== Creating testsuites, page sets, etc ==
 
*To get a simple one, run "python necko.py basic"
*Otherwise, create a page set, config, and repository of your own to create a test suite.
*To create a page set:
#Create a manifest of pages you want to have in your archive (one URL per line, pretty simple file)
#Create a talos.config pointing at that manifest (see talos/necko.config for the one I use, but change the paths as appropriate for your machine)
#Run web-page-replay (in the wpr directory) to record: "python replay.py --record <path to archive file>"
#While web-page-replay is running, run talos: "python run_tests.py <path to talos.config>"
#Once talos is done, ^C web-page-replay
*Now you can stick that in the database, and create your config, repo, and test suite:
#Run "python necko.py web"
#Go to localhost:8000 on the machine you're running the web ui on
#Upload your pageset under "Manage Pagesets"
#Create your config under "Manage Configurations"
#Create your repo under "Manage Source Repositories"
#Create your test suite out of the pageset, configuration, and source repo you just created


== Running ==
== Running ==


#Build whatever branch you want
This is still much less automated than we'd all like, but it's something...
#Edit talos.config to point to your local build's binary (the line beginning "browser_path:" is the one you want)
 
#Run neckonet/daemons/neckod.py
#Open 3 terminals
#Go to localhost:8000 to create your configs and run tests with them. The text output of these will be put in a timestamp-named directory at the top level of the extracted tarball
#In one terminal, run "python necko.py slave"
#In the other terminal, run "python necko.py runtest <testid>" (you can get test ids from "python necko.py listtests")
#Wait a bit for it to download and build firefox
#When prompted, create/edit your talos.config appropriately
#In the third terminal, cd talos && python run_tests.py <your talos.config>
#Once talos is done running, hit enter in the second terminal
#rm -rf src under your neckonet directory
#Move your testout directory somewhere else so you have the results backed up (and so it doesn't crash next time you try to run a test)


= History =
= History =
== Version 3 (7/22/11) ==
*NOTE THAT THE PREREQUISITES HAVE CHANGED SINCE VERSION 2
*Bandwidth control
*Updated web UI
*CLI controls for most everything (good since the background version isn't 100% yet, hence the crazy 'running' directions)
*DB upgrader
*Now uses apache for serving content to support pipelining


== Version 2 (6/2/11) ==
== Version 2 (6/2/11) ==
Confirmed users
96

edits

Navigation menu