Bug 656736 - Upgrade to the latest version of MozMill. r=Standard8
authorSiddharth Agarwal <sid.bugzilla@gmail.com>
Thu, 18 Aug 2011 14:40:55 +0530
changeset 9008 790cc2369783c05a19a3c87f41ec88c0c2b8bbbb
parent 9007 ff7b4aaace254449b9de72ec625d2348d748d579
child 9009 c0fa78af189d806b821b1e7b38992a6af7cd961b
push id230
push userbugzilla@standard8.plus.com
push dateTue, 08 Nov 2011 22:55:24 +0000
treeherdercomm-beta@63dad5648415 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersStandard8
bugs656736
Bug 656736 - Upgrade to the latest version of MozMill. r=Standard8 This patch adds mozmill 1.5.4b4, mozrunner 2.5.5b4 and jsbridge 2.4.4b4 to the tree. It also sets up a virtualenv to install mozmill and its dependencies in. This patch means Thunderbird developers will no longer need to have MozMill or its dependencies installed in order to run MozMill tests.
mail/test/mozmill/Makefile.in
mail/test/mozmill/folder-display/test-message-commands.js
mail/test/mozmill/message-header/test-message-header.js
mail/test/mozmill/runtest.py
mail/test/mozmill/runtestlist.py
mail/test/mozmill/shared-modules/test-folder-display-helpers.js
mail/test/mozmill/shared-modules/test-migration-helpers.js
mail/test/resources/ManifestDestiny/PKG-INFO
mail/test/resources/ManifestDestiny/README.txt
mail/test/resources/ManifestDestiny/manifestparser.py
mail/test/resources/ManifestDestiny/setup.cfg
mail/test/resources/ManifestDestiny/setup.py
mail/test/resources/installmozmill.py
mail/test/resources/jsbridge/MANIFEST.in
mail/test/resources/jsbridge/jsbridge/__init__.py
mail/test/resources/jsbridge/jsbridge/extension/chrome.manifest
mail/test/resources/jsbridge/jsbridge/extension/chrome/content/overlay.js
mail/test/resources/jsbridge/jsbridge/extension/chrome/content/overlay.xul
mail/test/resources/jsbridge/jsbridge/extension/components/cmdarg.js
mail/test/resources/jsbridge/jsbridge/extension/install.rdf
mail/test/resources/jsbridge/jsbridge/extension/resource/modules/events.js
mail/test/resources/jsbridge/jsbridge/extension/resource/modules/init.js
mail/test/resources/jsbridge/jsbridge/extension/resource/modules/json2.js
mail/test/resources/jsbridge/jsbridge/extension/resource/modules/server.js
mail/test/resources/jsbridge/jsbridge/jsobjects.py
mail/test/resources/jsbridge/jsbridge/network.py
mail/test/resources/jsbridge/setup.py
mail/test/resources/mozmill/MANIFEST.in
mail/test/resources/mozmill/docs/Makefile
mail/test/resources/mozmill/docs/_build/doctrees/environment.pickle
mail/test/resources/mozmill/docs/_build/doctrees/index.doctree
mail/test/resources/mozmill/docs/_build/html/_sources/index.txt
mail/test/resources/mozmill/docs/_build/html/_static/contents.png
mail/test/resources/mozmill/docs/_build/html/_static/default.css
mail/test/resources/mozmill/docs/_build/html/_static/doctools.js
mail/test/resources/mozmill/docs/_build/html/_static/file.png
mail/test/resources/mozmill/docs/_build/html/_static/jquery.js
mail/test/resources/mozmill/docs/_build/html/_static/minus.png
mail/test/resources/mozmill/docs/_build/html/_static/navigation.png
mail/test/resources/mozmill/docs/_build/html/_static/plus.png
mail/test/resources/mozmill/docs/_build/html/_static/pygments.css
mail/test/resources/mozmill/docs/_build/html/_static/rightsidebar.css
mail/test/resources/mozmill/docs/_build/html/_static/searchtools.js
mail/test/resources/mozmill/docs/_build/html/_static/sphinxdoc.css
mail/test/resources/mozmill/docs/_build/html/_static/stickysidebar.css
mail/test/resources/mozmill/docs/_build/html/_static/traditional.css
mail/test/resources/mozmill/docs/_build/html/genindex.html
mail/test/resources/mozmill/docs/_build/html/index.html
mail/test/resources/mozmill/docs/_build/html/modindex.html
mail/test/resources/mozmill/docs/_build/html/objects.inv
mail/test/resources/mozmill/docs/_build/html/search.html
mail/test/resources/mozmill/docs/_build/html/searchindex.js
mail/test/resources/mozmill/docs/conf.py
mail/test/resources/mozmill/docs/index.rst
mail/test/resources/mozmill/mozmill/__init__.py
mail/test/resources/mozmill/mozmill/extension/build.xml
mail/test/resources/mozmill/mozmill/extension/chrome-jar.manifest
mail/test/resources/mozmill/mozmill/extension/chrome.manifest
mail/test/resources/mozmill/mozmill/extension/content/chrome.js
mail/test/resources/mozmill/mozmill/extension/content/css/fg.menu.css
mail/test/resources/mozmill/mozmill/extension/content/css/mozmill.css
mail/test/resources/mozmill/mozmill/extension/content/css/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png
mail/test/resources/mozmill/mozmill/extension/content/css/smoothness/images/ui-bg_flat_75_ffffff_40x100.png
mail/test/resources/mozmill/mozmill/extension/content/css/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png
mail/test/resources/mozmill/mozmill/extension/content/css/smoothness/images/ui-bg_glass_65_ffffff_1x400.png
mail/test/resources/mozmill/mozmill/extension/content/css/smoothness/images/ui-bg_glass_75_dadada_1x400.png
mail/test/resources/mozmill/mozmill/extension/content/css/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png
mail/test/resources/mozmill/mozmill/extension/content/css/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png
mail/test/resources/mozmill/mozmill/extension/content/css/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png
mail/test/resources/mozmill/mozmill/extension/content/css/smoothness/images/ui-icons_222222_256x240.png
mail/test/resources/mozmill/mozmill/extension/content/css/smoothness/images/ui-icons_2e83ff_256x240.png
mail/test/resources/mozmill/mozmill/extension/content/css/smoothness/images/ui-icons_454545_256x240.png
mail/test/resources/mozmill/mozmill/extension/content/css/smoothness/images/ui-icons_888888_256x240.png
mail/test/resources/mozmill/mozmill/extension/content/css/smoothness/images/ui-icons_cd0a0a_256x240.png
mail/test/resources/mozmill/mozmill/extension/content/css/smoothness/jquery-ui-1.7.1.custom.css
mail/test/resources/mozmill/mozmill/extension/content/dx.js
mail/test/resources/mozmill/mozmill/extension/content/dxwindow.xul
mail/test/resources/mozmill/mozmill/extension/content/editor/bespin/BespinEmbedded.css
mail/test/resources/mozmill/mozmill/extension/content/editor/bespin/BespinEmbedded.js
mail/test/resources/mozmill/mozmill/extension/content/editor/bespin/BespinMain.js
mail/test/resources/mozmill/mozmill/extension/content/editor/bespin/BespinWorker.js
mail/test/resources/mozmill/mozmill/extension/content/editor/bespin/resources/screen_theme/theme.less
mail/test/resources/mozmill/mozmill/extension/content/editor/editor.js
mail/test/resources/mozmill/mozmill/extension/content/img/wmIcon.png
mail/test/resources/mozmill/mozmill/extension/content/inspector.js
mail/test/resources/mozmill/mozmill/extension/content/jquery/fg.menu.css
mail/test/resources/mozmill/mozmill/extension/content/jquery/fg.menu.js
mail/test/resources/mozmill/mozmill/extension/content/jquery/jquery-1.3.2.min.js
mail/test/resources/mozmill/mozmill/extension/content/jquery/jquery-ui-1.7.1.custom.min.js
mail/test/resources/mozmill/mozmill/extension/content/jquery/jquery.ui.core.js
mail/test/resources/mozmill/mozmill/extension/content/jquery/jquery.ui.menu.js
mail/test/resources/mozmill/mozmill/extension/content/menus.js
mail/test/resources/mozmill/mozmill/extension/content/mozmill.html
mail/test/resources/mozmill/mozmill/extension/content/mozmill.js
mail/test/resources/mozmill/mozmill/extension/content/mozmill.xul
mail/test/resources/mozmill/mozmill/extension/content/output.js
mail/test/resources/mozmill/mozmill/extension/content/overlay.js
mail/test/resources/mozmill/mozmill/extension/content/overlay.xul
mail/test/resources/mozmill/mozmill/extension/content/overlay_tb.xul
mail/test/resources/mozmill/mozmill/extension/content/prefs.xul
mail/test/resources/mozmill/mozmill/extension/content/rec.js
mail/test/resources/mozmill/mozmill/extension/content/shell.js
mail/test/resources/mozmill/mozmill/extension/content/shortcuts.js
mail/test/resources/mozmill/mozmill/extension/content/test/test.css
mail/test/resources/mozmill/mozmill/extension/content/test/test.html
mail/test/resources/mozmill/mozmill/extension/content/test/test.js
mail/test/resources/mozmill/mozmill/extension/content/test/test.xul
mail/test/resources/mozmill/mozmill/extension/content/testwindow.xul
mail/test/resources/mozmill/mozmill/extension/content/ui.js
mail/test/resources/mozmill/mozmill/extension/defaults/preferences/debug.js
mail/test/resources/mozmill/mozmill/extension/install.rdf
mail/test/resources/mozmill/mozmill/extension/locale/en-US/mozmill.dtd
mail/test/resources/mozmill/mozmill/extension/locale/en-US/overlay.dtd
mail/test/resources/mozmill/mozmill/extension/readme.txt
mail/test/resources/mozmill/mozmill/extension/resource/modules/controller.js
mail/test/resources/mozmill/mozmill/extension/resource/modules/elementslib.js
mail/test/resources/mozmill/mozmill/extension/resource/modules/events.js
mail/test/resources/mozmill/mozmill/extension/resource/modules/frame.js
mail/test/resources/mozmill/mozmill/extension/resource/modules/init.js
mail/test/resources/mozmill/mozmill/extension/resource/modules/inspection.js
mail/test/resources/mozmill/mozmill/extension/resource/modules/jum.js
mail/test/resources/mozmill/mozmill/extension/resource/modules/mozmill.js
mail/test/resources/mozmill/mozmill/extension/resource/modules/utils.js
mail/test/resources/mozmill/mozmill/extension/resource/stdlib/EventUtils.js
mail/test/resources/mozmill/mozmill/extension/resource/stdlib/arrays.js
mail/test/resources/mozmill/mozmill/extension/resource/stdlib/dom.js
mail/test/resources/mozmill/mozmill/extension/resource/stdlib/httpd.js
mail/test/resources/mozmill/mozmill/extension/resource/stdlib/json2.js
mail/test/resources/mozmill/mozmill/extension/resource/stdlib/objects.js
mail/test/resources/mozmill/mozmill/extension/resource/stdlib/os.js
mail/test/resources/mozmill/mozmill/extension/resource/stdlib/securable-module.js
mail/test/resources/mozmill/mozmill/extension/resource/stdlib/strings.js
mail/test/resources/mozmill/mozmill/extension/resource/stdlib/withs.js
mail/test/resources/mozmill/mozmill/extension/skin/chrome.css
mail/test/resources/mozmill/mozmill/extension/skin/overlay.css
mail/test/resources/mozmill/mozmill/extension/zipexclude.lst
mail/test/resources/mozmill/patches/eventUtils.patch
mail/test/resources/mozmill/patches/httpd.patch
mail/test/resources/mozmill/scripts/songmill.py
mail/test/resources/mozmill/scripts/sync_dependencies.py
mail/test/resources/mozmill/setup.py
mail/test/resources/mozmill/test/commonjs/modules1/moda.js
mail/test/resources/mozmill/test/commonjs/modules1/modb.js
mail/test/resources/mozmill/test/commonjs/modules2/modc.js
mail/test/resources/mozmill/test/commonjs/tests/test_require.js
mail/test/resources/mozmill/test/dnd/testDragLink.js
mail/test/resources/mozmill/test/dnd/testTabView.js
mail/test/resources/mozmill/test/dnd/testhtml.js
mail/test/resources/mozmill/test/dnd/testxul.js
mail/test/resources/mozmill/test/elementLib-UnitTest.js
mail/test/resources/mozmill/test/files/singlediv.html
mail/test/resources/mozmill/test/first_sunbird_test.js
mail/test/resources/mozmill/test/first_thunderbird_test.js
mail/test/resources/mozmill/test/restart/test_browser/testPost.js
mail/test/resources/mozmill/test/restart/test_browser/testPre.js
mail/test/resources/mozmill/test/restart/test_fails/testPost.js
mail/test/resources/mozmill/test/restart/test_fails/testPre.js
mail/test/resources/mozmill/test/restart/test_multi_restart/test1.js
mail/test/resources/mozmill/test/restart/test_multi_restart/test2.js
mail/test/resources/mozmill/test/restart/test_multi_restart/test3.js
mail/test/resources/mozmill/test/restart/test_multi_restart/test4.js
mail/test/resources/mozmill/test/restart/test_multi_restart/test5.js
mail/test/resources/mozmill/test/restart/test_nothing/testPost.js
mail/test/resources/mozmill/test/restart/test_nothing/testPre.js
mail/test/resources/mozmill/test/restart/test_python_callback/callbacks.py
mail/test/resources/mozmill/test/restart/test_python_callback/testPost.js
mail/test/resources/mozmill/test/restart/test_python_callback/testPre.js
mail/test/resources/mozmill/test/restart/test_user_restart/test1.js
mail/test/resources/mozmill/test/restart/test_user_restart/test2.js
mail/test/resources/mozmill/test/restart/test_user_restart/test3.js
mail/test/resources/mozmill/test/restart/test_user_restart/test4.js
mail/test/resources/mozmill/test/restart/test_user_restart/test5.js
mail/test/resources/mozmill/test/test_assert.js
mail/test/resources/mozmill/test/test_demo.js
mail/test/resources/mozmill/test/test_diggIterator.js
mail/test/resources/mozmill/test/test_focus.js
mail/test/resources/mozmill/test/test_git.js
mail/test/resources/mozmill/test/test_googleIterator.js
mail/test/resources/mozmill/test/test_jum.js
mail/test/resources/mozmill/test/test_menu.js
mail/test/resources/mozmill/test/test_prefs.js
mail/test/resources/mozmill/test/test_property.js
mail/test/resources/mozmill/test/test_python_callbacks.js
mail/test/resources/mozmill/test/test_python_callbacks_callbacks.py
mail/test/resources/mozmill/test/test_radio.js
mail/test/resources/mozmill/test/test_reportErrorConsole.js
mail/test/resources/mozmill/test/test_selector.js
mail/test/resources/mozmill/test/test_something/test_parents.js
mail/test/resources/mozmill/test/test_something/test_sub/test_deps.js
mail/test/resources/mozmill/test/test_staleelement.js
mail/test/resources/mozmill/test/test_synthesizeEvents.js
mail/test/resources/mozmill/test/test_unit.js
mail/test/resources/mozmill/test/test_usershutdown.js
mail/test/resources/mozmill/test/test_waitForPageLoad.js
mail/test/resources/mozrunner/mozrunner/__init__.py
mail/test/resources/mozrunner/mozrunner/killableprocess.py
mail/test/resources/mozrunner/mozrunner/qijo.py
mail/test/resources/mozrunner/mozrunner/winprocess.py
mail/test/resources/mozrunner/mozrunner/wpk.py
mail/test/resources/mozrunner/setup.py
mail/test/resources/mozrunner/tests/debub_settings.py
mail/test/resources/mozrunner/tests/jss_settings.py
mail/test/resources/simplejson-2.1.6/.gitignore
mail/test/resources/simplejson-2.1.6/.gitmodules
mail/test/resources/simplejson-2.1.6/CHANGES.txt
mail/test/resources/simplejson-2.1.6/LICENSE.txt
mail/test/resources/simplejson-2.1.6/PKG-INFO
mail/test/resources/simplejson-2.1.6/README.rst
mail/test/resources/simplejson-2.1.6/conf.py
mail/test/resources/simplejson-2.1.6/ez_setup.py
mail/test/resources/simplejson-2.1.6/index.rst
mail/test/resources/simplejson-2.1.6/scripts/make_docs.py
mail/test/resources/simplejson-2.1.6/setup.cfg
mail/test/resources/simplejson-2.1.6/setup.py
mail/test/resources/simplejson-2.1.6/simplejson/__init__.py
mail/test/resources/simplejson-2.1.6/simplejson/_speedups.c
mail/test/resources/simplejson-2.1.6/simplejson/decoder.py
mail/test/resources/simplejson-2.1.6/simplejson/encoder.py
mail/test/resources/simplejson-2.1.6/simplejson/ordered_dict.py
mail/test/resources/simplejson-2.1.6/simplejson/scanner.py
mail/test/resources/simplejson-2.1.6/simplejson/tests/__init__.py
mail/test/resources/simplejson-2.1.6/simplejson/tests/test_check_circular.py
mail/test/resources/simplejson-2.1.6/simplejson/tests/test_decimal.py
mail/test/resources/simplejson-2.1.6/simplejson/tests/test_decode.py
mail/test/resources/simplejson-2.1.6/simplejson/tests/test_default.py
mail/test/resources/simplejson-2.1.6/simplejson/tests/test_dump.py
mail/test/resources/simplejson-2.1.6/simplejson/tests/test_encode_basestring_ascii.py
mail/test/resources/simplejson-2.1.6/simplejson/tests/test_encode_for_html.py
mail/test/resources/simplejson-2.1.6/simplejson/tests/test_errors.py
mail/test/resources/simplejson-2.1.6/simplejson/tests/test_fail.py
mail/test/resources/simplejson-2.1.6/simplejson/tests/test_float.py
mail/test/resources/simplejson-2.1.6/simplejson/tests/test_indent.py
mail/test/resources/simplejson-2.1.6/simplejson/tests/test_pass1.py
mail/test/resources/simplejson-2.1.6/simplejson/tests/test_pass2.py
mail/test/resources/simplejson-2.1.6/simplejson/tests/test_pass3.py
mail/test/resources/simplejson-2.1.6/simplejson/tests/test_recursion.py
mail/test/resources/simplejson-2.1.6/simplejson/tests/test_scanstring.py
mail/test/resources/simplejson-2.1.6/simplejson/tests/test_separators.py
mail/test/resources/simplejson-2.1.6/simplejson/tests/test_speedups.py
mail/test/resources/simplejson-2.1.6/simplejson/tests/test_unicode.py
mail/test/resources/simplejson-2.1.6/simplejson/tool.py
mail/test/resources/virtualenv/AUTHORS.txt
mail/test/resources/virtualenv/LICENSE.txt
mail/test/resources/virtualenv/MANIFEST.in
mail/test/resources/virtualenv/PKG-INFO
mail/test/resources/virtualenv/docs/index.txt
mail/test/resources/virtualenv/docs/news.txt
mail/test/resources/virtualenv/scripts/virtualenv
mail/test/resources/virtualenv/setup.cfg
mail/test/resources/virtualenv/setup.py
mail/test/resources/virtualenv/virtualenv.py
mail/test/resources/virtualenv/virtualenv_support/__init__.py
mail/test/resources/virtualenv/virtualenv_support/distribute-0.6.16.tar.gz
mail/test/resources/virtualenv/virtualenv_support/pip-1.0.1.tar.gz
mail/test/resources/virtualenv/virtualenv_support/setuptools-0.6c11-py2.4.egg
mail/test/resources/virtualenv/virtualenv_support/setuptools-0.6c11-py2.5.egg
mail/test/resources/virtualenv/virtualenv_support/setuptools-0.6c11-py2.6.egg
mail/test/resources/virtualenv/virtualenv_support/setuptools-0.6c11-py2.7.egg
mail/testsuite-targets.mk
mailnews/test/resources/logHelper.js
--- a/mail/test/mozmill/Makefile.in
+++ b/mail/test/mozmill/Makefile.in
@@ -70,18 +70,31 @@ GARBAGE += automation.py
 
 # Copy the mozmill bits to $(_DEST_DIR)
 libs:: $(_HARNESS_FILES)
 	echo $(_HARNESS_FILES)
 	$(INSTALL) $(_HARNESS_FILES) $(_DEST_DIR)
 
 # Copy the mailnews and mail resources that we require.
 libs::
-	$(INSTALL) $(topsrcdir)/mailnews/test/resources/* $(MOZDEPTH)/_tests/mozmill/resources
-	$(INSTALL) $(topsrcdir)/mailnews/test/fakeserver/* $(MOZDEPTH)/_tests/mozmill/resources
-	$(INSTALL) $(topsrcdir)/mail/base/test/unit/resources/* $(MOZDEPTH)/_tests/mozmill/resources
+	$(INSTALL) $(topsrcdir)/mailnews/test/resources/* $(_DEST_DIR)/resources
+	$(INSTALL) $(topsrcdir)/mailnews/test/fakeserver/* $(_DEST_DIR)/resources
+	$(INSTALL) $(topsrcdir)/mail/base/test/unit/resources/* $(_DEST_DIR)/resources
+
+# Copy MozMill and its dependencies over, and set up a virtualenv. The
+# virtualenv directory is outside because we don't want to bundle it up during
+# stage-package.
+VIRTUALENV_DIR = $(_DEST_DIR)/../mozmill-virtualenv
+mozmill-virtualenv: NSDISTMODE=copy
+mozmill-virtualenv:
+	$(DIR_INSTALL) $(topsrcdir)/mail/test/resources $(_DEST_DIR)
+	rm -rf $(VIRTUALENV_DIR) && \
+	mkdir $(VIRTUALENV_DIR) && \
+	$(PYTHON) $(_DEST_DIR)/resources/installmozmill.py $(VIRTUALENV_DIR)
+
+libs:: mozmill-virtualenv
 
 PKG_STAGE = $(DIST)/test-package-stage
 
 stage-package:
 	$(NSINSTALL) -D $(PKG_STAGE)/mozmill/
 	@(cd $(topsrcdir)/mail/test/mozmill && tar $(TAR_CREATE_FLAGS) - *) | (cd $(PKG_STAGE)/mozmill/ && tar -xf -)
 	@(cd $(MOZDEPTH)/_tests/mozmill && tar $(TAR_CREATE_FLAGS) - *) | (cd $(PKG_STAGE)/mozmill/ && tar -xf -)
--- a/mail/test/mozmill/folder-display/test-message-commands.js
+++ b/mail/test/mozmill/folder-display/test-message-commands.js
@@ -477,8 +477,13 @@ function test_tag_keys_disabled_in_conte
   wait_for_content_tab_load(tab);
   assert_content_tab_has_url(tab, 'about:addons');
 
   // Make sure pressing the "1" key in a content tab doesn't tag a message
   check_tag_in_message(curMessage, tagArray[0], false);
   mc.keypress(null, "1", {});
   check_tag_in_message(curMessage, tagArray[0], false);
 }
+
+function teardownModule() {
+  // Make sure archiving is enabled at the end
+  enable_archiving(true);
+}
\ No newline at end of file
--- a/mail/test/mozmill/message-header/test-message-header.js
+++ b/mail/test/mozmill/message-header/test-message-header.js
@@ -44,43 +44,44 @@ var MODULE_NAME = 'test-message-header';
 var RELATIVE_ROOT = '../shared-modules';
 var MODULE_REQUIRES = ['folder-display-helpers', 'window-helpers',
                        'address-book-helpers'];
 
 var elib = {};
 Cu.import('resource://mozmill/modules/elementslib.js', elib);
 
 var folder;
+var gInterestingMessage;
 
 function setupModule(module) {
   let fdh = collector.getModule('folder-display-helpers');
   fdh.installInto(module);
   let wh = collector.getModule('window-helpers');
   wh.installInto(module);
   let abh = collector.getModule('address-book-helpers');
   abh.installInto(module);
 
   folder = create_folder("MessageWindowA");
 
   // create a message that has the interesting headers that commonly
   // show up in the message header pane for testing
-  let msg = create_message({cc: msgGen.makeNamesAndAddresses(20), // YYY
-                            subject: "This is a really, really, really, really, really, really, really, really, long subject.",
-                            clobberHeaders: {
-                              "Newsgroups": "alt.test",
-                              "Reply-To": "J. Doe <j.doe@momo.invalid>",
-                              "Content-Base": "http://example.com/",
-                              "Bcc": "Richard Roe <richard.roe@momo.invalid>"
-                            }});
+  gInterestingMessage = create_message({cc: msgGen.makeNamesAndAddresses(20), // YYY
+    subject: "This is a really, really, really, really, really, really, really, really, long subject.",
+    clobberHeaders: {
+      "Newsgroups": "alt.test",
+      "Reply-To": "J. Doe <j.doe@momo.invalid>",
+      "Content-Base": "http://example.com/",
+      "Bcc": "Richard Roe <richard.roe@momo.invalid>"
+    }});
 
-  add_message_to_folder(folder, msg);
+  add_message_to_folder(folder, gInterestingMessage);
 
   // create a message that has boring headers to be able to switch to and
   // back from, to force the more button to collapse again.
-  msg = create_message();
+  let msg = create_message();
   add_message_to_folder(folder, msg);
 }
 
 function test_add_tag_with_really_long_label() {
   be_in_folder(folder);
 
   // select the first message, which will display it
   let curMessage = select_click_row(0);
@@ -127,161 +128,16 @@ function test_add_tag_with_really_long_l
 
   // Remove the tag and put it back so that the a11y label gets regenerated
   // with the normal value rather than "taaaaaaaags"
   tagsLabel.value = oldTagsValue;
   mc.keypress(mc.eid("expandedHeadersNameColumn"), "1", {});
   mc.keypress(mc.eid("expandedHeadersNameColumn"), "1", {});
 }
 
-/**
- * @param headerName used for pretty-printing in exceptions
- * @param headerValueElement code to be eval()ed returning the DOM element
- *        with the data.
- * @param expectedName code to be eval()ed returning the expected value of
- *                     nsIAccessible.name for the DOM element in question
- * @param expectedRole the expected value for nsIAccessible.role
- */
-let headersToTest = [
-{
-  headerName: "Subject",
-  headerValueElement: "mc.a('expandedsubjectBox', {class: 'headerValue'})",
-  expectedName: "mc.e('expandedsubjectLabel').value.slice(0,-1) + ': ' + " +
-                "headerValueElement.textContent",
-  expectedRole: Ci.nsIAccessibleRole.ROLE_ENTRY
-},
-{
-  headerName: "Content-Base",
-  headerValueElement: "mc.a('expandedcontent-baseBox', {class: 'headerValue text-link headerValueUrl'})",
-  expectedName: "mc.e('expandedcontent-baseLabel').value.slice(0,-1) + ': ' + " +
-                "headerValueElement.textContent",
-  expectedRole: Ci.nsIAccessibleRole.ROLE_ENTRY
-},
-{
-  headerName: "From",
-  headerValueElement: "mc.window.document.getAnonymousElementByAttribute(" +
-                      "mc.a('expandedfromBox', {tagName: 'mail-emailaddress'})," +
-                      "'class', 'emailDisplayButton')",
-  expectedName: "mc.e('expandedfromLabel').value.slice(0,-1) + ': ' + " +
-                "headerValueElement.parentNode.getAttribute('fullAddress')",
-  expectedRole: Ci.nsIAccessibleRole.ROLE_ENTRY
-},
-{
-  headerName: "To",
-  headerValueElement: "mc.window.document.getAnonymousElementByAttribute(" +
-                      "mc.a('expandedtoBox', {tagName: 'mail-emailaddress'})," +
-                      "'class', 'emailDisplayButton')",
-  expectedName: "mc.e('expandedtoLabel').value.slice(0,-1) + ': ' + " +
-                "headerValueElement.parentNode.getAttribute('fullAddress')",
-  expectedRole: Ci.nsIAccessibleRole.ROLE_ENTRY
-},
-{
-  headerName: "Cc",
-  headerValueElement: "mc.window.document.getAnonymousElementByAttribute(" +
-                      "mc.a('expandedccBox', {tagName: 'mail-emailaddress'})," +
-                      "'class', 'emailDisplayButton')",
-  expectedName: "mc.e('expandedccLabel').value.slice(0,-1) + ': ' + " +
-                "headerValueElement.parentNode.getAttribute('fullAddress')",
-  expectedRole: Ci.nsIAccessibleRole.ROLE_ENTRY
-},
-{
-  headerName: "Bcc",
-  headerValueElement: "mc.window.document.getAnonymousElementByAttribute(" +
-                      "mc.a('expandedbccBox', {tagName: 'mail-emailaddress'})," +
-                      "'class', 'emailDisplayButton')",
-  expectedName: "mc.e('expandedbccLabel').value.slice(0,-1) + ': ' + " +
-                "headerValueElement.parentNode.getAttribute('fullAddress')",
-  expectedRole: Ci.nsIAccessibleRole.ROLE_ENTRY
-},
-{
-  headerName: "Reply-To",
-  headerValueElement: "mc.window.document.getAnonymousElementByAttribute(" +
-                      "mc.a('expandedreply-toBox', {tagName: 'mail-emailaddress'})," +
-                      "'class', 'emailDisplayButton')",
-  expectedName: "mc.e('expandedreply-toLabel').value.slice(0,-1) + ': ' + " +
-                "headerValueElement.parentNode.getAttribute('fullAddress')",
-  expectedRole: Ci.nsIAccessibleRole.ROLE_ENTRY
-},
-{
-  headerName: "Newsgroups",
-  headerValueElement: "mc.window.document.getAnonymousElementByAttribute(" +
-                      "mc.a('expandednewsgroupsBox', {tagName: 'mail-newsgroup'})," +
-                      "'class', 'newsgrouplabel')",
-  expectedName: "mc.e('expandednewsgroupsLabel').value.slice(0,-1) + ': ' + " +
-                "headerValueElement.parentNode.parentNode.getAttribute('newsgroup')",
-  expectedRole: Ci.nsIAccessibleRole.ROLE_ENTRY
-},
-{
-  headerName: "Tags",
-  headerValueElement: "mc.a('expandedtagsBox', {class: 'tagvalue blc-FF0000'})",
-  expectedName: "mc.e('expandedtagsLabel').value.slice(0,-1) + ': ' + " +
-                "headerValueElement.getAttribute('value')",
-  expectedRole: Ci.nsIAccessibleRole.ROLE_LABEL
-}
-];
-
-// used to get the accessible object for a DOM node
-let gAccRetrieval = Cc["@mozilla.org/accessibleRetrieval;1"].
-                    getService(Ci.nsIAccessibleRetrieval);
-
-/**
- * Use the information from aHeaderInfo to verify that screenreaders will
- * do the right thing with the given message header.
- *
- * @param {Object} aHeaderInfo  Information about how to do the verification;
- *                              See the comments above the headersToTest array
- *                              for details.
- */
-function verify_header_a11y(aHeaderInfo) {
-  // XXX Don't use eval here.
-  let headerValueElement = eval(aHeaderInfo.headerValueElement);
-
-  let headerAccessible = gAccRetrieval.getAccessibleFor(headerValueElement);
-  if (headerAccessible.role != aHeaderInfo.expectedRole) {
-    throw new Error("role for " + aHeaderInfo.headerName + " was " +
-                    headerAccessible.role + "; should have been " +
-                    aHeaderInfo.expectedRole);
-  }
-
-  // XXX Don't use eval here.
-  let expectedName = eval(aHeaderInfo.expectedName);
-  if (headerAccessible.name != expectedName) {
-    throw new Error("headerAccessible.name for " + aHeaderInfo.headerName +
-                    " was '" + headerAccessible.name + "'; expected '" +
-                    expectedName + "'");
-  }
-}
-
-/**
- * Test the accessibility attributes of the various message headers.
- *
- * XXX This test used to be after test_more_button_with_many_recipients,
- * however, there were some accessibility changes that it didn't seem to play
- * nicely with, and the toggling of the "more" button on the cc field was
- * causing this test to fail on the cc element. Tests with accessibilty
- * hardware/software showed that the code was working fine. Therefore the test
- * may be suspect.
- */
-function test_a11y_attrs() {
-  // skip this test on platforms that don't support accessibility
-  if (!("nsIAccessibleRole" in Components.interfaces))
-    return;
-
-  be_in_folder(folder);
-
-  // select and open the first message
-  let curMessage = select_click_row(0);
-
-  // make sure it loads
-  wait_for_message_display_completion(mc);
-  assert_selected_and_displayed(mc, curMessage);
-
-  headersToTest.forEach(verify_header_a11y);
-}
-
 function test_more_button_with_many_recipients()
 {
   // Start on the interesting message.
   let curMessage = select_click_row(0);
 
   // make sure it loads
   wait_for_message_display_completion(mc);
   assert_selected_and_displayed(mc, curMessage);
@@ -877,8 +733,152 @@ function test_get_msg_button_customize_h
   if (originalServerCount != finalServerCount) {
     throw new Error("number of entries in Get Message Button popup menu after " +
                     "header toolbar customization " +
                     finalServerCount + " <> as before: " +
                     originalServerCount);
   }
 }
 
+// Some platforms (notably Mac) don't have a11y, so disable these tests there.
+if ("nsIAccessibleRole" in Ci) {
+  /**
+   * @param headerName used for pretty-printing in exceptions
+   * @param headerValueElement code to be eval()ed returning the DOM element
+   *        with the data.
+   * @param expectedName code to be eval()ed returning the expected value of
+   *                     nsIAccessible.name for the DOM element in question
+   * @param expectedRole the expected value for nsIAccessible.role
+   */
+  let headersToTest = [
+  {
+    headerName: "Subject",
+    headerValueElement: "mc.a('expandedsubjectBox', {class: 'headerValue'})",
+    expectedName: "mc.e('expandedsubjectLabel').value.slice(0,-1) + ': ' + " +
+                  "headerValueElement.textContent",
+    expectedRole: Ci.nsIAccessibleRole.ROLE_ENTRY
+  },
+  {
+    headerName: "Content-Base",
+    headerValueElement: "mc.a('expandedcontent-baseBox', {class: 'headerValue text-link headerValueUrl'})",
+    expectedName: "mc.e('expandedcontent-baseLabel').value.slice(0,-1) + ': ' + " +
+                  "headerValueElement.textContent",
+    expectedRole: Ci.nsIAccessibleRole.ROLE_ENTRY
+  },
+  {
+    headerName: "From",
+    headerValueElement: "mc.window.document.getAnonymousElementByAttribute(" +
+                        "mc.a('expandedfromBox', {tagName: 'mail-emailaddress'})," +
+                        "'class', 'emailDisplayButton')",
+    expectedName: "mc.e('expandedfromLabel').value.slice(0,-1) + ': ' + " +
+                  "headerValueElement.parentNode.getAttribute('fullAddress')",
+    expectedRole: Ci.nsIAccessibleRole.ROLE_ENTRY
+  },
+  {
+    headerName: "To",
+    headerValueElement: "mc.window.document.getAnonymousElementByAttribute(" +
+                        "mc.a('expandedtoBox', {tagName: 'mail-emailaddress'})," +
+                        "'class', 'emailDisplayButton')",
+    expectedName: "mc.e('expandedtoLabel').value.slice(0,-1) + ': ' + " +
+                  "headerValueElement.parentNode.getAttribute('fullAddress')",
+    expectedRole: Ci.nsIAccessibleRole.ROLE_ENTRY
+  },
+  {
+    headerName: "Cc",
+    headerValueElement: "mc.window.document.getAnonymousElementByAttribute(" +
+                        "mc.a('expandedccBox', {tagName: 'mail-emailaddress'})," +
+                        "'class', 'emailDisplayButton')",
+    expectedName: "mc.e('expandedccLabel').value.slice(0,-1) + ': ' + " +
+                  "headerValueElement.parentNode.getAttribute('fullAddress')",
+    expectedRole: Ci.nsIAccessibleRole.ROLE_ENTRY
+  },
+  {
+    headerName: "Bcc",
+    headerValueElement: "mc.window.document.getAnonymousElementByAttribute(" +
+                        "mc.a('expandedbccBox', {tagName: 'mail-emailaddress'})," +
+                        "'class', 'emailDisplayButton')",
+    expectedName: "mc.e('expandedbccLabel').value.slice(0,-1) + ': ' + " +
+                  "headerValueElement.parentNode.getAttribute('fullAddress')",
+    expectedRole: Ci.nsIAccessibleRole.ROLE_ENTRY
+  },
+  {
+    headerName: "Reply-To",
+    headerValueElement: "mc.window.document.getAnonymousElementByAttribute(" +
+                        "mc.a('expandedreply-toBox', {tagName: 'mail-emailaddress'})," +
+                        "'class', 'emailDisplayButton')",
+    expectedName: "mc.e('expandedreply-toLabel').value.slice(0,-1) + ': ' + " +
+                  "headerValueElement.parentNode.getAttribute('fullAddress')",
+    expectedRole: Ci.nsIAccessibleRole.ROLE_ENTRY
+  },
+  {
+    headerName: "Newsgroups",
+    headerValueElement: "mc.window.document.getAnonymousElementByAttribute(" +
+                        "mc.a('expandednewsgroupsBox', {tagName: 'mail-newsgroup'})," +
+                        "'class', 'newsgrouplabel')",
+    expectedName: "mc.e('expandednewsgroupsLabel').value.slice(0,-1) + ': ' + " +
+                  "headerValueElement.parentNode.parentNode.getAttribute('newsgroup')",
+    expectedRole: Ci.nsIAccessibleRole.ROLE_ENTRY
+  },
+  {
+    headerName: "Tags",
+    headerValueElement: "mc.a('expandedtagsBox', {class: 'tagvalue blc-FF0000'})",
+    expectedName: "mc.e('expandedtagsLabel').value.slice(0,-1) + ': ' + " +
+                  "headerValueElement.getAttribute('value')",
+    expectedRole: Ci.nsIAccessibleRole.ROLE_LABEL
+  }
+  ];
+
+  // used to get the accessible object for a DOM node
+  let gAccRetrieval = Cc["@mozilla.org/accessibleRetrieval;1"].
+                      getService(Ci.nsIAccessibleRetrieval);
+
+  /**
+   * Use the information from aHeaderInfo to verify that screenreaders will
+   * do the right thing with the given message header.
+   *
+   * @param {Object} aHeaderInfo  Information about how to do the verification;
+   *                              See the comments above the headersToTest array
+   *                              for details.
+   */
+  function verify_header_a11y(aHeaderInfo) {
+    // XXX Don't use eval here.
+    let headerValueElement = eval(aHeaderInfo.headerValueElement);
+
+    let headerAccessible = gAccRetrieval.getAccessibleFor(headerValueElement)
+    if (headerAccessible.role != aHeaderInfo.expectedRole) {
+      throw new Error("role for " + aHeaderInfo.headerName + " was " +
+                      headerAccessible.role + "; should have been " +
+                      aHeaderInfo.expectedRole);
+    }
+
+    // XXX Don't use eval here.
+    let expectedName = eval(aHeaderInfo.expectedName);
+    if (headerAccessible.name != expectedName) {
+      throw new Error("headerAccessible.name for " + aHeaderInfo.headerName +
+                      " was '" + headerAccessible.name + "'; expected '" +
+                      expectedName + "'");
+    }
+  }
+
+  /**
+   * Test the accessibility attributes of the various message headers.
+   *
+   * XXX This test used to be after test_more_button_with_many_recipients,
+   * however, there were some accessibility changes that it didn't seem to play
+   * nicely with, and the toggling of the "more" button on the cc field was
+   * causing this test to fail on the cc element. Tests with accessibilty
+   * hardware/software showed that the code was working fine. Therefore the test
+   * may be suspect.
+   */
+  function test_a11y_attrs() {
+    be_in_folder(folder);
+
+    // select and open the interesting message
+    
+    let curMessage = select_click_row(mc.dbView.findIndexOfMsgHdr(
+                                        gInterestingMessage, false));
+
+    // make sure it loads
+    assert_selected_and_displayed(mc, curMessage);
+
+    headersToTest.forEach(verify_header_a11y);
+  }
+} // if ("nsIAccessibleRole" in Ci)
--- a/mail/test/mozmill/runtest.py
+++ b/mail/test/mozmill/runtest.py
@@ -197,16 +197,19 @@ class ThunderTestProfile(mozrunner.Thund
         We always put our profile in the same location.  We only clear it out
         when we are creating a new profile so that we can go in after the run
         and examine things for debugging or general interest.
         '''
         # create a clean directory
         if os.path.exists(PROFILE_DIR):
             shutil.rmtree(PROFILE_DIR, onerror=rmtree_onerror)
         os.makedirs(PROFILE_DIR)
+        print 'Using profile dir:', PROFILE_DIR
+        if not os.path.exists(PROFILE_DIR):
+            raise Exception('somehow failed to create profile dir!')
 
         if wrapper is not None and hasattr(wrapper, "on_profile_created"):
             # It's a little dangerous to allow on_profile_created access to the
             # profile object, because it isn't fully initalized yet
             wrapper.on_profile_created(PROFILE_DIR)
 
         if (wrapper is not None and hasattr(wrapper, "NO_ACCOUNTS")
             and wrapper.NO_ACCOUNTS):
@@ -287,64 +290,105 @@ class ThunderTestRunner(mozrunner.Thunde
             try:
                 if self.use_vnc_server and self.vnc_alive:
                     subprocess.check_call([self.VNC_SERVER_PATH,
                                            '-kill', ':99'])
             except Exception, ex:
                 print '!!! Exception during killing VNC server:', ex
 
 
+def monkeypatched_15_run_tests(self, tests, sleeptime=0):
+    frame = mozmill.jsbridge.JSObject(self.bridge,
+                "Components.utils.import('resource://mozmill/modules/frame.js')")
+    sleep(sleeptime)
+
+    # transfer persisted data
+    frame.persisted = self.persisted
+
+    if len(tests) == 1 and not os.path.isdir(tests[0]):
+        # tests[0] isn't necessarily an abspath'd path, so do that now
+        test = os.path.abspath(tests[0])
+        frame.runTestFile(test)
+    else:
+        # run the test files
+        for test_dir in self.test_dirs:
+            frame.runTestDirectory(test_dir)
+
+    # Give a second for any callbacks to finish.
+    sleep(1)
+if hasattr(mozmill.MozMill, 'find_tests'):
+    # Monkey-patch run_tests
+    mozmill.MozMill.old_run_tests = mozmill.MozMill.run_tests
+    mozmill.MozMill.run_tests = monkeypatched_15_run_tests
+
 class ThunderTestCLI(mozmill.CLI):
 
     profile_class = ThunderTestProfile
     runner_class = ThunderTestRunner
     parser_options = copy.copy(mozmill.CLI.parser_options)
     parser_options[('--symbols-path',)] = {"default": None, "dest": "symbols",
                                            "help": "The path to the symbol files from build_symbols"}
 
     def __init__(self, *args, **kwargs):
         global SYMBOLS_PATH, TEST_NAME
-        # invoke jsbridge.CLI's constructor directly since we are explicitly
-        #  trying to replace mozmill's CLI constructor here (which hardcodes
-        #  the firefox runner and profile in 1.3 for no clear reason).
-        jsbridge.CLI.__init__(self, *args, **kwargs)
+
+        # mozmill 1.5.4 still explicitly hardcodes references to Firefox; in
+        # order to avoid missing out on initializer logic or needing to copy
+        # it, we monkeypatch mozmill's view of mozrunner.  (Keep in mind that
+        # the python module import process shallow copies dictionaries...)
+        mozmill.mozrunner.FirefoxRunner = self.runner_class
+        mozmill.mozrunner.FirefoxProfile = self.profile_class
+
+        # note: we previously hardcoded a JS bridge timeout of 300 seconds,
+        # but the default is now 60 seconds...
+        mozmill.CLI.__init__(self, *args, **kwargs)
+
         SYMBOLS_PATH = self.options.symbols
-        TEST_NAME = os.path.basename(self.options.test)
+        if isinstance(self.options.test, basestring):
+            test_paths = [self.options.test]
+        else:
+            test_paths = self.options.test
+        TEST_NAME = ', '.join([os.path.basename(t) for t in test_paths])
+
+        test_dirs = self.test_dirs = []
+        for test_file in test_paths:
+            test_file = os.path.abspath(test_file)
+            if not os.path.isdir(test_file):
+                test_file = os.path.dirname(test_file)
+            if not test_file in test_dirs:
+                test_dirs.append(test_file)
+
+        # if we are monkeypatching, give it the test directories.
+        if hasattr(self.mozmill, 'find_tests'):
+            self.mozmill.test_dirs = test_dirs
 
         self._load_wrapper()
 
-        self.mozmill = self.mozmill_class(runner_class=self.runner_class,
-                                          profile_class=self.profile_class,
-                                          jsbridge_port=int(self.options.port),
-                                          jsbridge_timeout=300)
-
-        self.mozmill.add_global_listener(mozmill.LoggerListener())
-
     def _load_wrapper(self):
         global wrapper
         """
         Load the wrapper module if it is present in the test directory.
         """
-        if os.path.isdir(self.options.test):
-            testdir = self.options.test
-        else:
-            testdir = os.path.dirname(self.options.test)
+        if len(self.test_dirs) > 1:
+            raise Exception("Wrapper semantics require only a single test dir")
+        testdir = self.test_dirs[0]
 
         try:
             (fd, path, desc) = imp.find_module(WRAPPER_MODULE_NAME, [testdir])
         except ImportError:
             # No wrapper module, which is fine.
             pass
         else:
             try:
                 wrapper = imp.load_module(WRAPPER_MODULE_NAME, fd, path, desc)
             finally:
                 if fd is not None:
                     fd.close()
 
+
 TEST_RESULTS = []
 # Versions of MozMill prior to 1.5 did not output test-pass /
 # TEST-UNEXPECTED-FAIL. Since 1.5 happened this gets output, so we only want
 # a summary at the end to make it easy for developers.
 def logEndTest(obj):
     # If we've got a string here, we know we're later than 1.5, and we can just
     # display a summary at the end as 1.5 will do TEST-UNEXPECTED-FAIL for us.
     if isinstance(obj, str):
@@ -356,17 +400,25 @@ mozmill.LoggerListener.cases['mozmill.en
 # We now send extended meta-data about failures.  We do not want the entire
 # message dumped with this extra data, so clobber the default mozmill.fail
 # with one that wraps it and only tells it the exception message rather than
 # the whole JSON blob.
 ORIGINAL_FAILURE_LOGGER = mozmill.LoggerListener.cases['mozmill.fail']
 def logFailure(obj):
     if isinstance(obj, basestring):
         obj = json.loads(obj)
-    ORIGINAL_FAILURE_LOGGER(obj["exception"]["message"])
+    if 'exception' in obj:
+        objex = obj['exception']
+        if 'message' in objex:
+            report_as = objex['message']
+        else:
+            report_as = 'Empty object thrown as an exception somehow'
+    else:
+        report_as = 'No exception provided'
+    ORIGINAL_FAILURE_LOGGER(report_as)
 mozmill.LoggerListener.cases['mozmill.fail'] = logFailure
 
 
 def prettifyFilename(path, tail_segs_desired=1):
     parts = path.split('/')
     return '/'.join(parts[-tail_segs_desired:])
 
 def prettyPrintException(e):
@@ -404,18 +456,22 @@ import pprint, atexit
 @atexit.register
 def prettyPrintResults():
     for result in TEST_RESULTS:
         #pprint.pprint(result)
         testOrSummary = 'TEST'
         if 'summary' in result:
             testOrSummary = 'SUMMARY'
         if len(result['fails']) == 0:
+            if result.get('skipped', False):
+                kind = 'SKIP'
+            else:
+                kind = 'PASS'
             if result['name'] not in TEST_BLACKLIST:
-                print '%s-PASS | %s' % (testOrSummary, result['name'])
+                print '%s-%s | %s' % (testOrSummary, kind, result['name'])
         else:
             print '%s-UNEXPECTED-FAIL | %s | %s' % (testOrSummary, prettifyFilename(result['filename']), result['name'])
         for failure in result['fails']:
             if 'exception' in failure:
                 prettyPrintException(failure['exception'])
 
 @atexit.register
 def dumpRichResults():
--- a/mail/test/mozmill/runtestlist.py
+++ b/mail/test/mozmill/runtestlist.py
@@ -98,17 +98,17 @@ totalDirectories = 0
 f = open(options.list, 'rt')
 for directory in f:
     log.info("INFO | (runtestlist.py) | Running directory: %s",
              directory.rstrip())
     if options.dir != "":
         testDirectory = os.path.join(options.dir, directory.rstrip())
     else:
         testDirectory = directory.rstrip()
-    args = ["python", "runtest.py", "-t", testDirectory,
+    args = [sys.executable, "runtest.py", "-t", testDirectory,
             "--binary", options.binary, "--symbols-path", options.symbols]
     print args
     outputPipe = subprocess.PIPE
 
     proc = subprocess.Popen(args, cwd=SCRIPT_DIRECTORY, stdout = subprocess.PIPE, stderr = subprocess.STDOUT)
 
     testErrors = 0
     testPasses = 0
--- a/mail/test/mozmill/shared-modules/test-folder-display-helpers.js
+++ b/mail/test/mozmill/shared-modules/test-folder-display-helpers.js
@@ -192,21 +192,37 @@ function setupModule() {
       testHelperModule.mark_sub_test_start(obj.name);
     });
   // Listen for the fail event so that we can annotate the failure object
   //  with additional metadata.  This works out because we are directly handed
   //  a reference to the object that will be provided to the jsbridge and we
   //  can mutate it.  (The jsbridge is a global listener and so is guaranteed
   //  to be invoked after our specific named listener.)
   frame.events.addListener("fail", function(obj) {
+      // normalize nsIExceptions so they look like JS exceptions...
+      rawex = obj.exception;
+      if (obj.exception != null &&
+          (obj.exception instanceof Ci.nsIException)) {
+        obj.exception = {
+          message: "nsIException: " + rawex.message + " (" + rawex.result + ")",
+          fileName: rawex.filename,
+          lineNumber: rawex.lineNumber,
+          name: rawex.name,
+          result: rawex.result,
+          stack: "",
+        };
+      }
+
       // generate the failure notification now so it shows up in the event log
       //  bucket for presentation purposes.
       testHelperModule._xpcshellLogger.info(
         testHelperModule._testLoggerActiveContext,
-        new testHelperModule._Failure(obj.exception.message, obj.exception));
+        new testHelperModule._Failure(
+          obj.exception ? obj.exception.message : "No Exception!",
+          rawex));
 
       try {
         obj.failureContext = {
           preEvents: bucketAppender.getPreviousBucketEvents(10000),
           events: bucketAppender.getBucketEvents(),
           windows: windowHelper.captureWindowStatesForErrorReporting(
                      testHelperModule._normalize_for_json),
         };
--- a/mail/test/mozmill/shared-modules/test-migration-helpers.js
+++ b/mail/test/mozmill/shared-modules/test-migration-helpers.js
@@ -124,15 +124,15 @@ function close_migration_assistant(fc) {
  *     contentFrame displaying the appropriate pane.
  */
 function get_subpage(fc) {
   let contentWindow = fc.e("contentFrame").contentWindow;
   // XXX this is not my fault, but I'm not going to fix it.  just make it less
   // broken:
 
   // Lie to mozmill to convince it to not explode because these frames never
-  // get a documentLoaded attribute.
-  contentWindow.documentLoaded = true;
+  // get a mozmillDocumentLoaded attribute.
+  contentWindow.mozmillDocumentLoaded = true;
   // And sleep so the page has a chance to load
   controller.sleep(1000);
   let aController = new controller.MozMillController(contentWindow);
   return wh.augment_controller(aController);
 }
new file mode 100644
--- /dev/null
+++ b/mail/test/resources/ManifestDestiny/PKG-INFO
@@ -0,0 +1,189 @@
+Metadata-Version: 1.0
+Name: ManifestDestiny
+Version: 0.2.2
+Summary: universal reader for manifests
+Home-page: https://wiki.mozilla.org/Auto-tools/Projects/ManifestDestiny
+Author: Jeff Hammel
+Author-email: jhammel@mozilla.com
+License: MPL
+Description: ManifestDestiny
+        ===============
+        
+        Universal manifests for Mozilla test harnesses
+        
+        
+        What is ManifestDestiny?
+        ------------------------
+        
+        What ManifestDestiny gives you is:
+        
+        * manifests are (ordered) lists of tests
+        * tests may have an arbitrary number of key, value pairs
+        * the parser returns an ordered list of test data structures, which
+          are just dicts with some keys.  For example, a test with no
+          user-specified metadata looks like this::
+        
+          [{'path':
+            '/home/jhammel/mozmill/src/ManifestDestiny/manifestdestiny/tests/testToolbar/testBackForwardButtons.js',
+            'name': 'testToolbar/testBackForwardButtons.js', 'here':
+            '/home/jhammel/mozmill/src/ManifestDestiny/manifestdestiny/tests',
+            'manifest': '/home/jhammel/mozmill/src/ManifestDestiny/manifestdestiny/tests',}]
+        
+        The keys displayed here (path, name, here, and manifest) are reserved
+        words for ManifestDestiny and any consuming APIs.
+        
+        
+        Manifest Format
+        ---------------
+        
+        Manifests are .ini file with the section names denoting the path
+        relative to the manifest::
+        
+         [foo.js]
+         [bar.js]
+         [fleem.js]
+        
+        The sections are read in order. In addition, tests may include
+        arbitrary key, value metadata to be used by the harness.  You can also
+        have a ``[DEFAULT]`` section that will give key, value pairs that will
+        be inherited by each test unless overridden::
+        
+         [DEFAULT]
+         type = restart
+        
+         [lilies.js]
+         color = white
+        
+         [daffodils.js]
+         color = yellow
+         type = other
+         # override type from DEFAULT
+        
+         [roses.js]
+         color = red
+        
+        You can also include other manifests::
+        
+         [include:subdir/anothermanifest.ini]
+        
+        
+        Data
+        ----
+        
+        Manifest Destiny gives tests as a list of dictionary (in python
+        terms). 
+        
+        * path: full path to the test
+        * name: short name of the test; this is the (usually) relative path
+          specified in the section name
+        * here: the parent directory of the manifest
+        * manifest: the path to the manifest containing the test
+        
+        This data corresponds to a one-line manifest::
+        
+         [testToolbar/testBackForwardButtons.js]
+        
+        If additional key, values were specified, they would be in this dict
+        as well.
+        
+        Outside of the reserved keys, the remaining key, values
+        are up to convention to use.  There is a (currently very minimal)
+        generic integration layer in ManifestDestiny for use of all tests.
+        For instance, if the 'disabled' key is present, you can get the set of
+        tests without disabled (various other queries are doable as well).
+        
+        Since the system is convention-based, the harnesses may do whatever
+        they want with the data.  They may ignore it completely, they may use
+        the provided integration layer, or they may provide their own
+        integration layer.  This should allow whatever sort of logic they
+        want.  For instance, if in yourtestharness you wanted to run only on
+        mondays for a certain class of tests::
+        
+         tests = []
+         for test in manifests.tests:
+             if 'runOnDay' in test:
+                if calendar.day_name[calendar.weekday(*datetime.datetime.now().timetuple()[:3])].lower() == test['runOnDay'].lower():
+                    tests.append(test)
+             else:
+                tests.append(test)
+        
+        To recap:
+        * the manifests allow you to specify test data
+        * the parser gives you this data
+        * you can use it however you want or process it further as you need
+        
+        Tests are denoted by sections in an .ini file (see
+        http://hg.mozilla.org/automation/ManifestDestiny/file/tip/manifestdestiny/tests/mozmill-example.ini). 
+        
+        Additional manifest files may be included with a [include:] directive::
+        
+         [include:path-to-additional-file.manifest]
+        
+        The path to included files is relative to the current manifest.
+        
+        The ``[DEFAULT]`` section contains variables that all tests inherit from.
+        
+        Included files will inherit the top-level variables but may override
+        in their own ``[DEFAULT]`` section.
+        
+        
+        Creating Manifests
+        ------------------
+        
+        ManifestDestiny comes with a console script, ``manifestparser create``, that
+        may be used to create a seed manifest structure from a directory of
+        files.  Run ``manifestparser help create`` for usage information.
+        
+        
+        Copying Manifests
+        -----------------
+        
+        To copy tests and manifests from a source::
+        
+         manifestparser [options] copy from_manifest to_directory -tag1 -tag2 --key1=value1 key2=value2 ...
+        
+        
+        Upating Tests
+        -------------
+        
+        To update the tests associated with with a manifest from a source
+        directory::
+        
+         manifestparser [options] update manifest from_directory -tag1 -tag2 --key1=value1 --key2=value2 ...
+        
+        
+        Tests
+        -----
+        
+        ManifestDestiny includes a suite of tests:
+        
+        http://hg.mozilla.org/automation/ManifestDestiny/file/tip/manifestdestiny/tests
+        
+        ``test_manifest.txt`` is a doctest that may be helpful in figuring out
+        how to use the API.  Tests are run via ``python test.py``.
+        
+        
+        CLI
+        ---
+        
+        Run ``manifestparser help`` for usage information.
+        
+        To create a manifest from a set of directories::
+        
+         manifestparser [options] create directory <directory> <...> [create-options]
+        
+        To output a manifest of tests::
+        
+         manifestparser [options] write manifest <manifest> <...> -tag1 -tag2 --key1=value1 --key2=value2 ...
+        
+        To copy tests and manifests from a source::
+        
+         manifestparser [options] copy from_manifest to_manifest -tag1 -tag2 --key1=value1 key2=value2 ...
+        
+        To update the tests associated with with a manifest from a source
+        directory::
+        
+         manifestparser [options] update manifest from_directory -tag1 -tag2 --key1=value1 --key2=value2 ...
+        
+Keywords: mozilla manifests
+Platform: UNKNOWN
new file mode 100644
--- /dev/null
+++ b/mail/test/resources/ManifestDestiny/README.txt
@@ -0,0 +1,178 @@
+ManifestDestiny
+===============
+
+Universal manifests for Mozilla test harnesses
+
+
+What is ManifestDestiny?
+------------------------
+
+What ManifestDestiny gives you is:
+
+* manifests are (ordered) lists of tests
+* tests may have an arbitrary number of key, value pairs
+* the parser returns an ordered list of test data structures, which
+  are just dicts with some keys.  For example, a test with no
+  user-specified metadata looks like this::
+
+  [{'path':
+    '/home/jhammel/mozmill/src/ManifestDestiny/manifestdestiny/tests/testToolbar/testBackForwardButtons.js',
+    'name': 'testToolbar/testBackForwardButtons.js', 'here':
+    '/home/jhammel/mozmill/src/ManifestDestiny/manifestdestiny/tests',
+    'manifest': '/home/jhammel/mozmill/src/ManifestDestiny/manifestdestiny/tests',}]
+
+The keys displayed here (path, name, here, and manifest) are reserved
+words for ManifestDestiny and any consuming APIs.
+
+
+Manifest Format
+---------------
+
+Manifests are .ini file with the section names denoting the path
+relative to the manifest::
+
+ [foo.js]
+ [bar.js]
+ [fleem.js]
+
+The sections are read in order. In addition, tests may include
+arbitrary key, value metadata to be used by the harness.  You can also
+have a ``[DEFAULT]`` section that will give key, value pairs that will
+be inherited by each test unless overridden::
+
+ [DEFAULT]
+ type = restart
+
+ [lilies.js]
+ color = white
+
+ [daffodils.js]
+ color = yellow
+ type = other
+ # override type from DEFAULT
+
+ [roses.js]
+ color = red
+
+You can also include other manifests::
+
+ [include:subdir/anothermanifest.ini]
+
+
+Data
+----
+
+Manifest Destiny gives tests as a list of dictionary (in python
+terms). 
+
+* path: full path to the test
+* name: short name of the test; this is the (usually) relative path
+  specified in the section name
+* here: the parent directory of the manifest
+* manifest: the path to the manifest containing the test
+
+This data corresponds to a one-line manifest::
+
+ [testToolbar/testBackForwardButtons.js]
+
+If additional key, values were specified, they would be in this dict
+as well.
+
+Outside of the reserved keys, the remaining key, values
+are up to convention to use.  There is a (currently very minimal)
+generic integration layer in ManifestDestiny for use of all tests.
+For instance, if the 'disabled' key is present, you can get the set of
+tests without disabled (various other queries are doable as well).
+
+Since the system is convention-based, the harnesses may do whatever
+they want with the data.  They may ignore it completely, they may use
+the provided integration layer, or they may provide their own
+integration layer.  This should allow whatever sort of logic they
+want.  For instance, if in yourtestharness you wanted to run only on
+mondays for a certain class of tests::
+
+ tests = []
+ for test in manifests.tests:
+     if 'runOnDay' in test:
+        if calendar.day_name[calendar.weekday(*datetime.datetime.now().timetuple()[:3])].lower() == test['runOnDay'].lower():
+            tests.append(test)
+     else:
+        tests.append(test)
+
+To recap:
+* the manifests allow you to specify test data
+* the parser gives you this data
+* you can use it however you want or process it further as you need
+
+Tests are denoted by sections in an .ini file (see
+http://hg.mozilla.org/automation/ManifestDestiny/file/tip/manifestdestiny/tests/mozmill-example.ini). 
+
+Additional manifest files may be included with a [include:] directive::
+
+ [include:path-to-additional-file.manifest]
+
+The path to included files is relative to the current manifest.
+
+The ``[DEFAULT]`` section contains variables that all tests inherit from.
+
+Included files will inherit the top-level variables but may override
+in their own ``[DEFAULT]`` section.
+
+
+Creating Manifests
+------------------
+
+ManifestDestiny comes with a console script, ``manifestparser create``, that
+may be used to create a seed manifest structure from a directory of
+files.  Run ``manifestparser help create`` for usage information.
+
+
+Copying Manifests
+-----------------
+
+To copy tests and manifests from a source::
+
+ manifestparser [options] copy from_manifest to_directory -tag1 -tag2 --key1=value1 key2=value2 ...
+
+
+Upating Tests
+-------------
+
+To update the tests associated with with a manifest from a source
+directory::
+
+ manifestparser [options] update manifest from_directory -tag1 -tag2 --key1=value1 --key2=value2 ...
+
+
+Tests
+-----
+
+ManifestDestiny includes a suite of tests:
+
+http://hg.mozilla.org/automation/ManifestDestiny/file/tip/manifestdestiny/tests
+
+``test_manifest.txt`` is a doctest that may be helpful in figuring out
+how to use the API.  Tests are run via ``python test.py``.
+
+
+CLI
+---
+
+Run ``manifestparser help`` for usage information.
+
+To create a manifest from a set of directories::
+
+ manifestparser [options] create directory <directory> <...> [create-options]
+
+To output a manifest of tests::
+
+ manifestparser [options] write manifest <manifest> <...> -tag1 -tag2 --key1=value1 --key2=value2 ...
+
+To copy tests and manifests from a source::
+
+ manifestparser [options] copy from_manifest to_manifest -tag1 -tag2 --key1=value1 key2=value2 ...
+
+To update the tests associated with with a manifest from a source
+directory::
+
+ manifestparser [options] update manifest from_directory -tag1 -tag2 --key1=value1 --key2=value2 ...
new file mode 100644
--- /dev/null
+++ b/mail/test/resources/ManifestDestiny/manifestparser.py
@@ -0,0 +1,776 @@
+#!/usr/bin/env python
+
+# ***** BEGIN LICENSE BLOCK *****
+# Version: MPL 1.1/GPL 2.0/LGPL 2.1
+# 
+# The contents of this file are subject to the Mozilla Public License Version
+# 1.1 (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+# http://www.mozilla.org/MPL/
+# 
+# Software distributed under the License is distributed on an "AS IS" basis,
+# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+# for the specific language governing rights and limitations under the
+# License.
+# 
+# The Original Code is mozilla.org code.
+# 
+# The Initial Developer of the Original Code is
+# Mozilla.org.
+# Portions created by the Initial Developer are Copyright (C) 2010
+# the Initial Developer. All Rights Reserved.
+# 
+# Contributor(s):
+#     Jeff Hammel <jhammel@mozilla.com>     (Original author)
+# 
+# Alternatively, the contents of this file may be used under the terms of
+# either of the GNU General Public License Version 2 or later (the "GPL"),
+# or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+# in which case the provisions of the GPL or the LGPL are applicable instead
+# of those above. If you wish to allow use of your version of this file only
+# under the terms of either the GPL or the LGPL, and not to allow others to
+# use your version of this file under the terms of the MPL, indicate your
+# decision by deleting the provisions above and replace them with the notice
+# and other provisions required by the GPL or the LGPL. If you do not delete
+# the provisions above, a recipient may use your version of this file under
+# the terms of any one of the MPL, the GPL or the LGPL.
+# 
+# ***** END LICENSE BLOCK *****
+
+"""
+Mozilla universal manifest parser
+"""
+
+# this file lives at
+# http://hg.mozilla.org/automation/ManifestDestiny/raw-file/tip/manifestparser.py
+
+__all__ = ['ManifestParser', 'TestManifest', 'convert']
+
+import os
+import shutil
+import sys
+from fnmatch import fnmatch
+from optparse import OptionParser
+
+version = '0.2.2' # package version
+try:
+    from setuptools import setup
+except ImportError:
+    setup = None
+
+def read_ini(fp, variables=None, default='DEFAULT',
+             comments=';#', separators=('=', ':'),
+             strict=True):
+    """
+    read an .ini file and return a list of [(section, values)]
+    - fp : file pointer or path to read
+    - variables : default set of variables
+    - default : name of the section for the default section
+    - comments : characters that if they start a line denote a comment
+    - separators : strings that denote key, value separation in order
+    - strict : whether to be strict about parsing
+    """
+
+    if variables is None:
+        variables = {}
+
+    if isinstance(fp, basestring):
+        fp = file(fp)
+
+    sections = []
+    key = value = None
+    section_names = set([])
+
+    # read the lines
+    for line in fp.readlines():
+
+        stripped = line.strip()
+
+        # ignore blank lines
+        if not stripped:
+            # reset key and value to avoid continuation lines
+            key = value = None
+            continue
+
+        # ignore comment lines
+        if stripped[0] in comments:
+            continue
+
+        # check for a new section
+        if len(stripped) > 2 and stripped[0] == '[' and stripped[-1] == ']':
+            section = stripped[1:-1].strip()
+            key = value = None
+
+            # deal with DEFAULT section
+            if section.lower() == default.lower():
+                if strict:
+                    assert default not in section_names
+                section_names.add(default)
+                current_section = variables
+                continue
+
+            if strict:
+                # make sure this section doesn't already exist
+                assert section not in section_names
+
+            section_names.add(section)
+            current_section = {}
+            sections.append((section, current_section))
+            continue
+
+        # if there aren't any sections yet, something bad happen
+        if not section_names:
+            raise Exception('No sections yet :(')
+
+        # (key, value) pair
+        for separator in separators:
+            if separator in stripped:
+                key, value = stripped.split(separator, 1)
+                key = key.strip()
+                value = value.strip()
+
+                if strict:
+                    # make sure this key isn't already in the section or empty
+                    assert key
+                    if current_section is not variables:
+                        assert key not in current_section
+
+                current_section[key] = value
+                break
+        else:
+            # continuation line ?
+            if line[0].isspace() and key:
+                value = '%s%s%s' % (value, os.linesep, stripped)
+                current_section[key] = value
+            else:
+                # something bad happen!
+                raise Exception("Not sure what you're trying to do")
+
+    # interpret the variables
+    def interpret_variables(global_dict, local_dict):
+        variables = global_dict.copy()
+        variables.update(local_dict)
+        return variables
+
+    sections = [(i, interpret_variables(variables, j)) for i, j in sections]
+    return sections
+
+
+### objects for parsing manifests
+
+class ManifestParser(object):
+    """read .ini manifests"""
+
+    ### methods for reading manifests
+
+    def __init__(self, manifests=(), defaults=None, strict=True):
+        self._defaults = defaults or {}
+        self.tests = []
+        self.strict = strict
+        self.rootdir = None
+        if manifests:
+            self.read(*manifests)
+
+    def read(self, *filenames, **defaults):
+
+        # ensure all files exist
+        missing = [ filename for filename in filenames
+                    if not os.path.exists(filename) ]
+        if missing:
+            raise IOError('Missing files: %s' % ', '.join(missing))
+
+        # process each file
+        for filename in filenames:
+
+            # set the per file defaults
+            defaults = defaults.copy() or self._defaults.copy()
+            here = os.path.dirname(os.path.abspath(filename))
+            defaults['here'] = here
+
+            if self.rootdir is None:
+                # set the root directory
+                # == the directory of the first manifest given
+                self.rootdir = here
+
+            # read the configuration
+            sections = read_ini(filename, variables=defaults)
+
+            # get the tests
+            for section, data in sections:
+
+                # a file to include
+                # TODO: keep track of structure:
+                # self.manifests = {'manifest.ini': 'relative/path.ini'}
+                if section.startswith('include:'):
+                    include_file = section.split('include:', 1)[-1]
+                    include_file = os.path.join(here, include_file)
+                    if not os.path.exists(include_file):
+                        if strict:
+                            raise IOError("File '%s' does not exist" % include_file)
+                        else:
+                            continue
+                    include_defaults = data.copy()
+                    self.read(include_file, **include_defaults)
+                    continue
+
+                # otherwise a test
+                test = data
+                test['name'] = section
+                test['path'] = os.path.join(here, section)
+                test['manifest'] = os.path.abspath(filename)
+                self.tests.append(test)
+
+    ### methods for querying manifests
+
+    def query(self, *checks):
+        """
+        general query function for tests
+        - checks : callable conditions to test if the test fulfills the query
+        """
+        retval = []
+        for test in self.tests:
+            for check in checks:
+                if not check(test):
+                    break
+            else:
+                retval.append(test)
+        return retval
+
+    def get(self, _key=None, inverse=False, tags=None, **kwargs):
+        # TODO: pass a dict instead of kwargs since you might hav
+        # e.g. 'inverse' as a key in the dict
+
+        # TODO: tags should just be part of kwargs with None values
+        # (None == any is kinda weird, but probably still better)
+
+        # fix up tags
+        if tags:
+            tags = set(tags)
+        else:
+            tags = set()
+
+        # make some check functions
+        if inverse:
+            has_tags = lambda test: tags.isdisjoint(test.keys())
+            def dict_query(test):
+                for key, value in kwargs.items():
+                    if test.get(key) == value:
+                        return False
+                return True
+        else:
+            has_tags = lambda test: tags.issubset(test.keys())
+            def dict_query(test):
+                for key, value in kwargs.items():
+                    if test.get(key) != value:
+                        return False
+                return True
+
+        # query the tests
+        tests = self.query(has_tags, dict_query)
+
+        # if a key is given, return only a list of that key
+        # useful for keys like 'name' or 'path'
+        if _key:
+            return [test[_key] for test in tests]
+
+        # return the tests
+        return tests
+
+    def missing(self, tests=None):
+        """return list of tests that do not exist on the filesystem"""
+        if tests is None:
+            tests = self.tests
+        return [test for test in tests
+                if not os.path.exists(test['path'])]
+
+    def manifests(self, tests=None):
+        """
+        return manifests in order in which they appear in the tests
+        """
+        if tests is None:
+            tests = self.tests
+        manifests = []
+        for test in tests:
+            manifest = test.get('manifest')
+            if not manifest:
+                continue
+            if manifest not in manifests:
+                manifests.append(manifest)
+        return manifests
+
+
+    ### methods for outputting from manifests
+
+    def write(self, fp=sys.stdout, rootdir=None,
+              global_tags=None, global_kwargs=None,
+              local_tags=None, local_kwargs=None):
+        """
+        write a manifest given a query
+        global and local options will be munged to do the query
+        globals will be written to the top of the file
+        locals (if given) will be written per test
+        """
+
+        # root directory
+        if rootdir is None:
+            rootdir = self.rootdir
+
+        # sanitize input
+        global_tags = global_tags or set()
+        local_tags = local_tags or set()
+        global_kwargs = global_kwargs or {}
+        local_kwargs = local_kwargs or {}
+        
+        # create the query
+        tags = set([])
+        tags.update(global_tags)
+        tags.update(local_tags)
+        kwargs = {}
+        kwargs.update(global_kwargs)
+        kwargs.update(local_kwargs)
+
+        # get matching tests
+        tests = self.get(tags=tags, **kwargs)
+
+        # print the .ini manifest
+        if global_tags or global_kwargs:
+            print >> fp, '[DEFAULT]'
+            for tag in global_tags:
+                print >> fp, '%s =' % tag
+            for key, value in global_kwargs.items():
+                print >> fp, '%s = %s' % (key, value)
+            print >> fp
+
+        for test in tests:
+            test = test.copy() # don't overwrite
+
+            path = test['name']
+            if not os.path.isabs(path):
+                path = os.path.relpath(test['path'], self.rootdir)
+            print >> fp, '[%s]' % path
+          
+            # reserved keywords:
+            reserved = ['path', 'name', 'here', 'manifest']
+            for key in sorted(test.keys()):
+                if key in reserved:
+                    continue
+                if key in global_kwargs:
+                    continue
+                if key in global_tags and not test[key]:
+                    continue
+                print >> fp, '%s = %s' % (key, test[key])
+            print >> fp
+
+    def copy(self, directory, rootdir=None, *tags, **kwargs):
+        """
+        copy the manifests and associated tests
+        - directory : directory to copy to
+        - rootdir : root directory to copy to (if not given from manifests)
+        - tags : keywords the tests must have
+        - kwargs : key, values the tests must match
+        """
+        # XXX note that copy does *not* filter the tests out of the
+        # resulting manifest; it just stupidly copies them over.
+        # ideally, it would reread the manifests and filter out the
+        # tests that don't match *tags and **kwargs
+        
+        # destination
+        if not os.path.exists(directory):
+            os.path.makedirs(directory)
+        else:
+            # sanity check
+            assert os.path.isdir(directory)
+
+        # tests to copy
+        tests = self.get(tags=tags, **kwargs)
+        if not tests:
+            return # nothing to do!
+
+        # root directory
+        if rootdir is None:
+            rootdir = self.rootdir
+
+        # copy the manifests + tests
+        manifests = [os.path.relpath(manifest, rootdir) for manifest in self.manifests()]
+        for manifest in manifests:
+            destination = os.path.join(directory, manifest)
+            dirname = os.path.dirname(destination)
+            if not os.path.exists(dirname):
+                os.makedirs(dirname)
+            else:
+                # sanity check
+                assert os.path.isdir(dirname)
+            shutil.copy(os.path.join(rootdir, manifest), destination)
+        for test in tests:
+            if os.path.isabs(test['name']):
+                continue
+            source = test['path']
+            if not os.path.exists(source):
+                print >> sys.stderr, "Missing test: '%s' does not exist!" % source
+                continue
+                # TODO: should err on strict
+            destination = os.path.join(directory, os.path.relpath(test['path'], rootdir))
+            shutil.copy(source, destination)
+            # TODO: ensure that all of the tests are below the from_dir
+
+    def update(self, from_dir, rootdir=None, *tags, **kwargs):
+        """
+        update the tests as listed in a manifest from a directory
+        - from_dir : directory where the tests live
+        - rootdir : root directory to copy to (if not given from manifests)
+        - tags : keys the tests must have
+        - kwargs : key, values the tests must match
+        """
+    
+        # get the tests
+        tests = self.get(tags=tags, **kwargs)
+
+        # get the root directory
+        if not rootdir:
+            rootdir = self.rootdir
+
+        # copy them!
+        for test in tests:
+            if not os.path.isabs(test['name']):
+                relpath = os.path.relpath(test['path'], rootdir)
+                source = os.path.join(from_dir, relpath)
+                if not os.path.exists(source):
+                    # TODO err on strict
+                    print >> sys.stderr, "Missing test: '%s'; skipping" % test['name']
+                    continue
+                destination = os.path.join(rootdir, relpath)
+                shutil.copy(source, destination)
+
+
+class TestManifest(ManifestParser):
+    """
+    apply logic to manifests;  this is your integration layer :)
+    specific harnesses may subclass from this if they need more logic
+    """
+
+    def active_tests(self):
+
+        # ignore disabled tests
+        tests = self.get(inverse=True, tags=['disabled'])
+
+        # TODO: could filter out by current platform, existence, etc
+        return tests
+
+    def test_paths(self):
+        return [test['path'] for test in self.active_tests()]
+
+
+### utility function(s); probably belongs elsewhere
+
+def convert(directories, pattern=None, ignore=(), write=None):
+    """
+    convert directories to a simple manifest
+    """
+
+    retval = []
+    include = []
+    for directory in directories:
+        for dirpath, dirnames, filenames in os.walk(directory):
+
+            # filter out directory names
+            dirnames = [ i for i in dirnames if i not in ignore ]
+            dirnames.sort()
+
+            # reference only the subdirectory
+            _dirpath = dirpath
+            dirpath = dirpath.split(directory, 1)[-1].strip('/')
+
+            if dirpath.split(os.path.sep)[0] in ignore:
+                continue
+
+            # filter by glob
+            if pattern:
+                filenames = [filename for filename in filenames
+                             if fnmatch(filename, pattern)]
+
+            filenames.sort()
+
+            # write a manifest for each directory
+            if write and (dirnames or filenames):
+                manifest = file(os.path.join(_dirpath, write), 'w')
+                for dirname in dirnames:
+                    print >> manifest, '[include:%s]' % os.path.join(dirname, write)
+                for filename in filenames:
+                    print >> manifest, '[%s]' % filename
+                manifest.close()
+
+            # add to the list
+            retval.extend([os.path.join(dirpath, filename)
+                           for filename in filenames])
+
+    if write:
+        return # the manifests have already been written!
+  
+    retval.sort()
+    retval = ['[%s]' % filename for filename in retval]
+    return '\n'.join(retval)
+
+### command line attributes
+
+class ParserError(Exception):
+  """error for exceptions while parsing the command line"""
+
+def parse_args(_args):
+    """
+    parse and return:
+    --keys=value (or --key value)
+    -tags
+    args
+    """
+
+
+    # return values
+    _dict = {}
+    tags = []
+    args = []
+
+    # parse the arguments
+    key = None
+    for arg in _args:
+        if arg.startswith('---'):
+            raise ParserError("arguments should start with '-' or '--' only")
+        elif arg.startswith('--'):
+            if key:
+                raise ParserError("Key %s still open" % key)
+            key = arg[2:]
+            if '=' in key:
+                key, value = key.split('=', 1)
+                _dict[key] = value
+                key = None
+                continue
+        elif arg.startswith('-'):
+            if key:
+                raise ParserError("Key %s still open" % key)
+            tags.append(arg[1:])
+            continue
+        else:
+            if key:
+                _dict[key] = arg
+                continue
+            args.append(arg)
+
+    # return values
+    return (_dict, tags, args)
+
+
+### classes for subcommands
+
+class CLICommand(object):
+    usage = '%prog [options] command'
+    def __init__(self, parser):
+      self._parser = parser # master parser
+    def parser(self):
+      return OptionParser(usage=self.usage, description=self.__doc__,
+                          add_help_option=False)
+
+class Copy(CLICommand):
+    usage = '%prog [options] copy manifest directory -tag1 -tag2 --key1=value1 --key2=value2 ...'
+    def __call__(self, options, args):
+      # parse the arguments
+      try:
+        kwargs, tags, args = parse_args(args)
+      except ParserError, e:
+        self._parser.error(e.message)
+
+      # make sure we have some manifests, otherwise it will
+      # be quite boring
+      if not len(args) == 2:
+        HelpCLI(self._parser)(options, ['copy'])
+        return
+
+      # read the manifests
+      # TODO: should probably ensure these exist here
+      manifests = ManifestParser()
+      manifests.read(args[0])
+
+      # print the resultant query
+      manifests.copy(args[1], None, *tags, **kwargs)
+
+
+class CreateCLI(CLICommand):
+    """
+    create a manifest from a list of directories
+    """
+    usage = '%prog [options] create directory <directory> <...>'
+
+    def parser(self):
+        parser = CLICommand.parser(self)
+        parser.add_option('-p', '--pattern', dest='pattern',
+                          help="glob pattern for files")
+        parser.add_option('-i', '--ignore', dest='ignore',
+                          default=[], action='append',
+                          help='directories to ignore')
+        parser.add_option('-w', '--in-place', dest='in_place',
+                          help='Write .ini files in place; filename to write to')
+        return parser
+
+    def __call__(self, _options, args):
+        parser = self.parser()
+        options, args = parser.parse_args(args)
+
+        # need some directories
+        if not len(args):
+            parser.print_usage()
+            return
+
+        # add the directories to the manifest
+        for arg in args:
+            assert os.path.exists(arg)
+            assert os.path.isdir(arg)
+            manifest = convert(args, pattern=options.pattern, ignore=options.ignore,
+                               write=options.in_place)
+        if manifest:
+            print manifest
+
+
+class WriteCLI(CLICommand):
+    """
+    write a manifest based on a query
+    """
+    usage = '%prog [options] write manifest <manifest> -tag1 -tag2 --key1=value1 --key2=value2 ...'
+    def __call__(self, options, args):
+
+        # parse the arguments
+        try:
+            kwargs, tags, args = parse_args(args)
+        except ParserError, e:
+            self._parser.error(e.message)
+
+        # make sure we have some manifests, otherwise it will
+        # be quite boring
+        if not args:
+            HelpCLI(self._parser)(options, ['write'])
+            return
+
+        # read the manifests
+        # TODO: should probably ensure these exist here
+        manifests = ManifestParser()
+        manifests.read(*args)
+
+        # print the resultant query
+        manifests.write(global_tags=tags, global_kwargs=kwargs)
+      
+
+class HelpCLI(CLICommand):
+    """
+    get help on a command
+    """
+    usage = '%prog [options] help [command]'
+
+    def __call__(self, options, args):
+        if len(args) == 1 and args[0] in commands:
+            commands[args[0]](self._parser).parser().print_help()
+        else:
+            self._parser.print_help()
+            print '\nCommands:'
+            for command in sorted(commands):
+                print '  %s : %s' % (command, commands[command].__doc__.strip())
+
+class SetupCLI(CLICommand):
+    """
+    setup using setuptools
+    """
+    usage = '%prog [options] setup [setuptools options]'
+    
+    def __call__(self, options, args):
+        sys.argv = [sys.argv[0]] + args
+        assert setup is not None, "You must have setuptools installed to use SetupCLI"
+        here = os.path.dirname(os.path.abspath(__file__))
+        try:
+            filename = os.path.join(here, 'README.txt')
+            description = file(filename).read()
+        except:    
+            description = ''
+        os.chdir(here)
+
+        setup(name='ManifestDestiny',
+              version=version,
+              description="universal reader for manifests",
+              long_description=description,
+              classifiers=[], # Get strings from http://pypi.python.org/pypi?%3Aaction=list_classifiers
+              keywords='mozilla manifests',
+              author='Jeff Hammel',
+              author_email='jhammel@mozilla.com',
+              url='https://wiki.mozilla.org/Auto-tools/Projects/ManifestDestiny',
+              license='MPL',
+              zip_safe=False,
+              py_modules=['manifestparser'],
+              install_requires=[
+                  # -*- Extra requirements: -*-
+                  ],
+              entry_points="""
+              [console_scripts]
+              manifestparser = manifestparser:main
+              """,
+              )
+
+
+class UpdateCLI(CLICommand):
+    """
+    update the tests as listed in a manifest from a directory
+    """
+    usage = '%prog [options] update manifest directory -tag1 -tag2 --key1=value1 --key2=value2 ...'
+
+    def __call__(self, options, args):
+        # parse the arguments
+        try:
+            kwargs, tags, args = parse_args(args)
+        except ParserError, e:
+            self._parser.error(e.message)
+
+        # make sure we have some manifests, otherwise it will
+        # be quite boring
+        if not len(args) == 2:
+            HelpCLI(self._parser)(options, ['update'])
+            return
+
+        # read the manifests
+        # TODO: should probably ensure these exist here
+        manifests = ManifestParser()
+        manifests.read(args[0])
+
+        # print the resultant query
+        manifests.update(args[1], None, *tags, **kwargs)
+
+
+# command -> class mapping
+commands = { 'create': CreateCLI,
+             'help': HelpCLI,
+             'update': UpdateCLI,
+             'write': WriteCLI }
+if setup is not None:
+    commands['setup'] = SetupCLI
+
+def main(args=sys.argv[1:]):
+    """console_script entry point"""
+
+    # set up an option parser
+    usage = '%prog [options] [command] ...'
+    description = __doc__
+    parser = OptionParser(usage=usage, description=description)
+    parser.add_option('-s', '--strict', dest='strict',
+                      action='store_true', default=False,
+                      help='adhere strictly to errors')
+    parser.disable_interspersed_args()
+
+    options, args = parser.parse_args(args)
+
+    if not args:
+        HelpCLI(parser)(options, args)
+        parser.exit()
+
+    # get the command
+    command = args[0]
+    if command not in commands:
+        parser.error("Command must be one of %s (you gave '%s')" % (', '.join(sorted(commands.keys())), command))
+
+    handler = commands[command](parser)
+    handler(options, args[1:])
+
+if __name__ == '__main__':
+    main()
new file mode 100644
--- /dev/null
+++ b/mail/test/resources/ManifestDestiny/setup.cfg
@@ -0,0 +1,5 @@
+[egg_info]
+tag_build = 
+tag_date = 0
+tag_svn_revision = 0
+
new file mode 100644
--- /dev/null
+++ b/mail/test/resources/ManifestDestiny/setup.py
@@ -0,0 +1,48 @@
+#!/usr/bin/env python
+
+# ***** BEGIN LICENSE BLOCK *****
+# Version: MPL 1.1/GPL 2.0/LGPL 2.1
+# 
+# The contents of this file are subject to the Mozilla Public License Version
+# 1.1 (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+# http://www.mozilla.org/MPL/
+# 
+# Software distributed under the License is distributed on an "AS IS" basis,
+# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+# for the specific language governing rights and limitations under the
+# License.
+# 
+# The Original Code is mozilla.org code.
+# 
+# The Initial Developer of the Original Code is
+# Mozilla.org.
+# Portions created by the Initial Developer are Copyright (C) 2011
+# the Initial Developer. All Rights Reserved.
+# 
+# Contributor(s):
+#     Jeff Hammel <jhammel@mozilla.com>     (Original author)
+# 
+# Alternatively, the contents of this file may be used under the terms of
+# either of the GNU General Public License Version 2 or later (the "GPL"),
+# or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+# in which case the provisions of the GPL or the LGPL are applicable instead
+# of those above. If you wish to allow use of your version of this file only
+# under the terms of either the GPL or the LGPL, and not to allow others to
+# use your version of this file under the terms of the MPL, indicate your
+# decision by deleting the provisions above and replace them with the notice
+# and other provisions required by the GPL or the LGPL. If you do not delete
+# the provisions above, a recipient may use your version of this file under
+# the terms of any one of the MPL, the GPL or the LGPL.
+# 
+# ***** END LICENSE BLOCK *****
+
+# The real details are in manifestparser.py; this is just a front-end
+
+
+import sys
+from manifestparser import SetupCLI
+SetupCLI(None)(None, sys.argv[1:])
+
+
+                 
new file mode 100644
--- /dev/null
+++ b/mail/test/resources/installmozmill.py
@@ -0,0 +1,128 @@
+#!/usr/bin/env python
+
+# ***** BEGIN LICENSE BLOCK *****
+# Version: MPL 1.1/GPL 2.0/LGPL 2.1
+#
+# The contents of this file are subject to the Mozilla Public License Version
+# 1.1 (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+# http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS IS" basis,
+# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+# for the specific language governing rights and limitations under the
+# License.
+#
+# The Original Code is mozilla.org code.
+#
+# The Initial Developer of the Original Code is
+# Mozilla.org.
+# Portions created by the Initial Developer are Copyright (C) 2010
+# the Initial Developer. All Rights Reserved.
+#
+# Contributor(s):
+#     Jeff Hammel <jhammel@mozilla.com>     (Original author)
+#     Siddharth Agarwal <sid.bugzilla@gmail.com>
+#
+# Alternatively, the contents of this file may be used under the terms of
+# either of the GNU General Public License Version 2 or later (the "GPL"),
+# or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+# in which case the provisions of the GPL or the LGPL are applicable instead
+# of those above. If you wish to allow use of your version of this file only
+# under the terms of either the GPL or the LGPL, and not to allow others to
+# use your version of this file under the terms of the MPL, indicate your
+# decision by deleting the provisions above and replace them with the notice
+# and other provisions required by the GPL or the LGPL. If you do not delete
+# the provisions above, a recipient may use your version of this file under
+# the terms of any one of the MPL, the GPL or the LGPL.
+#
+# ***** END LICENSE BLOCK *****
+
+"""
+install mozmill and its dependencies
+"""
+
+import os
+import sys
+from subprocess import call
+
+### utility functions for cross-platform
+
+def is_windows():
+  return sys.platform.startswith('win')
+
+def esc(path):
+  """quote and escape a path for cross-platform use"""
+  return '"%s"' % repr(path)[1:-1]
+
+def scripts_path(virtual_env):
+  """path to scripts directory"""
+  if is_windows():
+    return os.path.join(virtual_env, 'Scripts')
+  return os.path.join(virtual_env, 'bin')
+
+def python_script_path(virtual_env, script_name):
+  """path to a python script in a virtualenv"""
+  scripts_dir = scripts_path(virtual_env)
+  if is_windows():
+    script_name = script_name + '-script.py'
+  return os.path.join(scripts_dir, script_name)
+
+def entry_point_path(virtual_env, entry_point):
+  path = os.path.join(scripts_path(virtual_env), entry_point)
+  if is_windows():
+    path += '.exe'
+  return path
+
+### command-line entry point
+
+def main(args=None):
+  """command line front-end function"""
+
+  # parse command line arguments
+  args = args or sys.argv[1:]
+  usage = "Usage: %prog [destination]"
+
+  # Print the python version
+  print 'Python: %s' % sys.version
+
+  # The data is kept in the same directory as the script
+  source=os.path.abspath(os.path.dirname(__file__))
+
+  # directory to install to
+  if not len(args):
+    destination = source
+  elif len(args) == 1:
+    destination = os.path.abspath(args[0])
+  else:
+    print "Usage: %s [destination]" % sys.argv[0]
+    sys.exit(1)
+
+  os.chdir(source)
+
+  # check for existence of necessary files
+  if not os.path.exists('virtualenv'):
+    print "File not found: virtualenv"
+    sys.exit(1)
+
+  # packages to install in dependency order
+  packages = ["ManifestDestiny", "simplejson-2.1.6", "mozrunner", "jsbridge",
+              "mozmill"]
+  
+  # create the virtualenv and install packages
+  env = os.environ.copy()
+  env.pop('PYTHONHOME', None)
+  # The --no-site-packages is because of https://github.com/pypa/virtualenv/issues/165
+  returncode = call([sys.executable, os.path.join('virtualenv', 'virtualenv.py'),
+                     '--no-site-packages', destination], env=env)
+  if returncode:
+    print 'Failure to install virtualenv'
+    sys.exit(returncode)
+  pip = entry_point_path(destination, 'pip')
+  returncode = call([pip, 'install'] + [os.path.abspath(package) for package in packages], env=env)
+  if returncode:
+    print 'Failure to install packages'
+    sys.exit(returncode)
+
+if __name__ == '__main__':
+  main()
new file mode 100644
--- /dev/null
+++ b/mail/test/resources/jsbridge/MANIFEST.in
@@ -0,0 +1,2 @@
+recursive-include jsbridge/extension *
+recursive-include jsbridge/xpi *
new file mode 100644
--- /dev/null
+++ b/mail/test/resources/jsbridge/jsbridge/__init__.py
@@ -0,0 +1,181 @@
+# ***** BEGIN LICENSE BLOCK *****
+# Version: MPL 1.1/GPL 2.0/LGPL 2.1
+# 
+# The contents of this file are subject to the Mozilla Public License Version
+# 1.1 (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+# http://www.mozilla.org/MPL/
+# 
+# Software distributed under the License is distributed on an "AS IS" basis,
+# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+# for the specific language governing rights and limitations under the
+# License.
+# 
+# The Original Code is Mozilla Corporation Code.
+# 
+# The Initial Developer of the Original Code is
+# Mikeal Rogers.
+# Portions created by the Initial Developer are Copyright (C) 2008 -2009
+# the Initial Developer. All Rights Reserved.
+# 
+# Contributor(s):
+#  Mikeal Rogers <mikeal.rogers@gmail.com>
+#  Henrik Skupin <hskupin@mozilla.com>
+# 
+# Alternatively, the contents of this file may be used under the terms of
+# either the GNU General Public License Version 2 or later (the "GPL"), or
+# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+# in which case the provisions of the GPL or the LGPL are applicable instead
+# of those above. If you wish to allow use of your version of this file only
+# under the terms of either the GPL or the LGPL, and not to allow others to
+# use your version of this file under the terms of the MPL, indicate your
+# decision by deleting the provisions above and replace them with the notice
+# and other provisions required by the GPL or the LGPL. If you do not delete
+# the provisions above, a recipient may use your version of this file under
+# the terms of any one of the MPL, the GPL or the LGPL.
+# 
+# ***** END LICENSE BLOCK *****
+
+import socket
+import os
+import copy
+import asyncore
+
+from time import sleep
+from network import Bridge, BackChannel, create_network
+from jsobjects import JSObject
+
+import mozrunner
+
+settings_env = 'JSBRIDGE_SETTINGS_FILE'
+
+parent = os.path.abspath(os.path.dirname(__file__))
+extension_path = os.path.join(parent, 'extension')
+
+window_string = "Components.classes['@mozilla.org/appshell/window-mediator;1'].getService(Components.interfaces.nsIWindowMediator).getMostRecentWindow('')"
+
+wait_to_create_timeout = 60
+
+def wait_and_create_network(host, port, timeout=wait_to_create_timeout):
+    ttl = 0
+    while ttl < timeout:
+        try:
+            s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
+            s.connect((host, port))
+            s.close()
+            break
+        except socket.error:
+            pass
+        sleep(.25)
+        ttl += .25
+    if ttl == timeout:
+        raise Exception("Sorry, cannot connect to jsbridge extension, port %s" % port)
+    
+    back_channel, bridge = create_network(host, port)
+    sleep(.5)
+    
+    while back_channel.registered is False:
+        back_channel.close()
+        bridge.close()
+        asyncore.socket_map = {}
+        sleep(1)
+        back_channel, bridge = create_network(host, port)
+    
+    return back_channel, bridge
+
+class CLI(mozrunner.CLI):
+    """Command line interface."""
+    
+    module = "jsbridge"
+
+    parser_options = copy.copy(mozrunner.CLI.parser_options)
+    parser_options[('-D', '--debug',)] = dict(dest="debug", 
+                                             action="store_true",
+                                             help="Debug mode", 
+                                             metavar="JSBRIDGE_DEBUG",
+                                             default=False )
+    parser_options[('-s', '--shell',)] = dict(dest="shell", 
+                                             action="store_true",
+                                             help="Start a Python shell",
+                                             metavar="JSBRIDGE_SHELL",
+                                             default=False )
+    parser_options[('-u', '--usecode',)] = dict(dest="usecode", action="store_true",
+                                               help="Use code module instead of iPython",
+                                               default=False)
+    parser_options[('-P', '--port')] = dict(dest="port", default="24242",
+                                            help="TCP port to run jsbridge on.")
+
+    def get_profile(self, *args, **kwargs):
+        if self.options.debug:
+            kwargs.setdefault('preferences', {}).update({
+              'extensions.checkCompatibility':False,
+              'devtools.errorconsole.enabled':True,
+              'javascript.options.strict': True
+            })
+        profile = mozrunner.CLI.get_profile(self, *args, **kwargs)
+        profile.install_addon(extension_path)
+        return profile
+        
+    def get_runner(self, *args, **kwargs):
+        runner = super(CLI, self).get_runner(*args, **kwargs)
+        if self.options.debug:
+            runner.cmdargs.append('-jsconsole')
+        if not '-jsbridge' in runner.cmdargs: 
+            runner.cmdargs += ['-jsbridge', self.options.port]
+        return runner
+        
+    def run(self):
+        runner = self.create_runner()
+        runner.start()
+        self.start_jsbridge_network()
+        if self.options.shell:
+            self.start_shell(runner)
+        else:
+            try:
+                runner.wait()
+            except KeyboardInterrupt:
+                runner.stop()
+                
+        runner.profile.cleanup()
+    
+    def start_shell(self, runner):
+        try:
+            import IPython
+        except:
+            IPython = None
+        if not hasattr(self, 'bridge'):
+            self.start_jsbridge_network()
+        jsobj = JSObject(self.bridge, window_string)
+        
+        if IPython is None or self.options.usecode:
+            import code
+            code.interact(local={"jsobj":jsobj, 
+                                 "getBrowserWindow":lambda : getBrowserWindow(self.bridge),
+                                 "back_channel":self.back_channel,
+                                 })
+        else:
+            from IPython.Shell import IPShellEmbed
+            ipshell = IPShellEmbed([])
+            ipshell(local_ns={"jsobj":jsobj, 
+                              "getBrowserWindow":lambda : getBrowserWindow(self.bridge),
+                              "back_channel":self.back_channel,
+                              })
+        runner.stop()
+        
+    def start_jsbridge_network(self, timeout=10):
+        port = int(self.options.port)
+        host = '127.0.0.1'
+        self.back_channel, self.bridge = wait_and_create_network(host, port, timeout)
+
+def cli():
+    CLI().run()
+
+def getBrowserWindow(bridge):
+    return JSObject(bridge, "Components.classes['@mozilla.org/appshell/window-mediator;1'].getService(Components.interfaces.nsIWindowMediator).getMostRecentWindow('')")
+    
+
+
+
+
+
+
new file mode 100644
--- /dev/null
+++ b/mail/test/resources/jsbridge/jsbridge/extension/chrome.manifest
@@ -0,0 +1,14 @@
+resource jsbridge resource/
+
+content jsbridge chrome/content/
+
+overlay chrome://browser/content/browser.xul chrome://jsbridge/content/overlay.xul
+overlay chrome://messenger/content/mailWindowOverlay.xul chrome://jsbridge/content/overlay.xul
+
+overlay chrome://calendar/content/calendar.xul chrome://jsbridge/content/overlay.xul
+
+overlay windowtype:Songbird:Main chrome://jsbridge/content/overlay.xul
+
+component {2872d428-14f6-11de-ac86-001f5bd9235c} components/cmdarg.js
+contract @mozilla.org/commandlinehandler/general-startup;1?type=jsbridge {2872d428-14f6-11de-ac86-001f5bd9235c}
+category command-line-handler jsbridge @mozilla.org/commandlinehandler/general-startup;1?type=jsbridge
new file mode 100644
--- /dev/null
+++ b/mail/test/resources/jsbridge/jsbridge/extension/chrome/content/overlay.js
@@ -0,0 +1,40 @@
+// ***** BEGIN LICENSE BLOCK *****
+// Version: MPL 1.1/GPL 2.0/LGPL 2.1
+// 
+// The contents of this file are subject to the Mozilla Public License Version
+// 1.1 (the "License"); you may not use this file except in compliance with
+// the License. You may obtain a copy of the License at
+// http://www.mozilla.org/MPL/
+// 
+// Software distributed under the License is distributed on an "AS IS" basis,
+// WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+// for the specific language governing rights and limitations under the
+// License.
+// 
+// The Original Code is Mozilla Corporation Code.
+// 
+// The Initial Developer of the Original Code is
+// Mikeal Rogers.
+// Portions created by the Initial Developer are Copyright (C) 2008
+// the Initial Developer. All Rights Reserved.
+// 
+// Contributor(s):
+//  Mikeal Rogers <mikeal.rogers@gmail.com>
+// 
+// Alternatively, the contents of this file may be used under the terms of
+// either the GNU General Public License Version 2 or later (the "GPL"), or
+// the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+// in which case the provisions of the GPL or the LGPL are applicable instead
+// of those above. If you wish to allow use of your version of this file only
+// under the terms of either the GPL or the LGPL, and not to allow others to
+// use your version of this file under the terms of the MPL, indicate your
+// decision by deleting the provisions above and replace them with the notice
+// and other provisions required by the GPL or the LGPL. If you do not delete
+// the provisions above, a recipient may use your version of this file under
+// the terms of any one of the MPL, the GPL or the LGPL.
+// 
+// ***** END LICENSE BLOCK *****
+
+var jsbridgeInit = {}; Components.utils.import('resource://jsbridge/modules/init.js',jsbridgeInit);
+
+
new file mode 100644
--- /dev/null
+++ b/mail/test/resources/jsbridge/jsbridge/extension/chrome/content/overlay.xul
@@ -0,0 +1,5 @@
+<?xml version="1.0"?>
+<overlay id="jsbridge-overlay"
+         xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
+  <script src="overlay.js"/>
+</overlay>
new file mode 100644
--- /dev/null
+++ b/mail/test/resources/jsbridge/jsbridge/extension/components/cmdarg.js
@@ -0,0 +1,124 @@
+Components.utils.import("resource://gre/modules/XPCOMUtils.jsm");
+
+const nsIAppShellService    = Components.interfaces.nsIAppShellService;
+const nsISupports           = Components.interfaces.nsISupports;
+const nsICategoryManager    = Components.interfaces.nsICategoryManager;
+const nsIComponentRegistrar = Components.interfaces.nsIComponentRegistrar;
+const nsICommandLine        = Components.interfaces.nsICommandLine;
+const nsICommandLineHandler = Components.interfaces.nsICommandLineHandler;
+const nsIFactory            = Components.interfaces.nsIFactory;
+const nsIModule             = Components.interfaces.nsIModule;
+const nsIWindowWatcher      = Components.interfaces.nsIWindowWatcher;
+
+// CHANGEME: to the chrome URI of your extension or application
+const CHROME_URI = "chrome://jsbridge/content/";
+
+// CHANGEME: change the contract id, CID, and category to be unique
+// to your application.
+const clh_contractID = "@mozilla.org/commandlinehandler/general-startup;1?type=jsbridge";
+
+// use uuidgen to generate a unique ID
+const clh_CID = Components.ID("{2872d428-14f6-11de-ac86-001f5bd9235c}");
+
+// category names are sorted alphabetically. Typical command-line handlers use a
+// category that begins with the letter "m".
+const clh_category = "jsbridge";
+
+var aConsoleService = Components.classes["@mozilla.org/consoleservice;1"].
+     getService(Components.interfaces.nsIConsoleService);
+
+/**
+ * Utility functions
+ */
+
+/**
+ * Opens a chrome window.
+ * @param aChromeURISpec a string specifying the URI of the window to open.
+ * @param aArgument an argument to pass to the window (may be null)
+ */
+function openWindow(aChromeURISpec, aArgument)
+{
+  var ww = Components.classes["@mozilla.org/embedcomp/window-watcher;1"].
+    getService(Components.interfaces.nsIWindowWatcher);
+  ww.openWindow(null, aChromeURISpec, "_blank",
+                "chrome,menubar,toolbar,status,resizable,dialog=no",
+                aArgument);
+}
+
+/**
+ * The XPCOM component that implements nsICommandLineHandler.
+ * It also implements nsIFactory to serve as its own singleton factory.
+ */
+function jsbridgeHandler() {
+}
+jsbridgeHandler.prototype = {
+  classID: clh_CID,
+  contractID: clh_contractID,
+  classDescription: "jsbridgeHandler",
+  _xpcom_categories: [{category: "command-line-handler", entry: clh_category}],
+
+  /* nsISupports */
+  QueryInterface : function clh_QI(iid)
+  {
+    if (iid.equals(nsICommandLineHandler) ||
+        iid.equals(nsIFactory) ||
+        iid.equals(nsISupports))
+      return this;
+
+    throw Components.results.NS_ERROR_NO_INTERFACE;
+  },
+
+  /* nsICommandLineHandler */
+
+  handle : function clh_handle(cmdLine)
+  {
+    try {
+      var port = cmdLine.handleFlagWithParam("jsbridge", false);
+      if (port) {
+        var server = {};
+        Components.utils.import('resource://jsbridge/modules/server.js', server);
+        server.startServer(parseInt(port));
+      } else {
+        var server = {};
+        Components.utils.import('resource://jsbridge/modules/server.js', server);
+        server.startServer(24242);
+      }
+    }
+    catch (e) {
+      Components.utils.reportError("incorrect parameter passed to -jsbridge on the command line.");
+    }
+
+  },
+
+  // CHANGEME: change the help info as appropriate, but
+  // follow the guidelines in nsICommandLineHandler.idl
+  // specifically, flag descriptions should start at
+  // character 24, and lines should be wrapped at
+  // 72 characters with embedded newlines,
+  // and finally, the string should end with a newline
+  helpInfo : "  -jsbridge            Port to run jsbridge on.\n",
+
+  /* nsIFactory */
+
+  createInstance : function clh_CI(outer, iid)
+  {
+    if (outer != null)
+      throw Components.results.NS_ERROR_NO_AGGREGATION;
+
+    return this.QueryInterface(iid);
+  },
+
+  lockFactory : function clh_lock(lock)
+  {
+    /* no-op */
+  }
+};
+
+/**
+ * XPCOMUtils.generateNSGetFactory was introduced in Mozilla 2 (Firefox 4).
+ * XPCOMUtils.generateNSGetModule is for Mozilla 1.9.1 (Firefox 3.5).
+ */
+if (XPCOMUtils.generateNSGetFactory)
+  const NSGetFactory = XPCOMUtils.generateNSGetFactory([jsbridgeHandler]);
+else
+  const NSGetModule = XPCOMUtils.generateNSGetModule([jsbridgeHandler]);
new file mode 100644
--- /dev/null
+++ b/mail/test/resources/jsbridge/jsbridge/extension/install.rdf
@@ -0,0 +1,61 @@
+<?xml version="1.0"?>
+<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+     xmlns:em="http://www.mozilla.org/2004/em-rdf#">
+   <Description about="urn:mozilla:install-manifest">
+     <em:id>jsbridge@mozilla.com</em:id>
+     <em:name>jsbridge</em:name>
+     <em:version>2.4.4b4</em:version>
+     <em:creator>Mikeal Rogers</em:creator>
+     <em:description>Python to JavaScript bridge</em:description>
+     <em:unpack>true</em:unpack>
+     <em:targetApplication>
+       <!-- Firefox -->
+       <Description>
+         <em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id>
+         <em:minVersion>3.5</em:minVersion>
+         <em:maxVersion>7.*</em:maxVersion>
+       </Description>
+     </em:targetApplication>
+     <em:targetApplication>
+       <!-- Thunderbird -->
+       <Description>
+         <em:id>{3550f703-e582-4d05-9a08-453d09bdfdc6}</em:id>
+         <em:minVersion>3.0a1pre</em:minVersion>
+         <em:maxVersion>6.*</em:maxVersion>
+       </Description>
+     </em:targetApplication>
+     <em:targetApplication>
+       <!-- Sunbird -->
+       <Description>
+         <em:id>{718e30fb-e89b-41dd-9da7-e25a45638b28}</em:id>
+         <em:minVersion>1.0b1pre</em:minVersion>
+         <em:maxVersion>1.0pre</em:maxVersion>
+       </Description>
+     </em:targetApplication>
+     <em:targetApplication>
+       <!-- SeaMonkey -->
+       <Description>
+         <em:id>{92650c4d-4b8e-4d2a-b7eb-24ecf4f6b63a}</em:id>
+         <em:minVersion>2.0a1</em:minVersion>
+         <em:maxVersion>3.*</em:maxVersion>
+       </Description>
+     </em:targetApplication>
+	   <em:targetApplication>
+	      <!-- Songbird -->
+	      <Description>
+	        <em:id>songbird@songbirdnest.com</em:id>
+	        <em:minVersion>0.3pre</em:minVersion>
+	        <em:maxVersion>2.*</em:maxVersion>
+	      </Description>
+	   </em:targetApplication>
+	   <em:targetApplication>
+         <Description>
+          <em:id>toolkit@mozilla.org</em:id>
+          <em:minVersion>1.9.1</em:minVersion>
+          <em:maxVersion>2.0*</em:maxVersion>
+         </Description>
+     </em:targetApplication>
+   </Description>
+
+
+</RDF>
new file mode 100644
--- /dev/null
+++ b/mail/test/resources/jsbridge/jsbridge/extension/resource/modules/events.js
@@ -0,0 +1,13 @@
+var EXPORTED_SYMBOLS = ["backchannels", "fireEvent", "addBackChannel"];
+
+var backchannels = [];
+
+var fireEvent = function (name, obj) {
+  for each(backchannel in backchannels) {
+    backchannel.session.encodeOut({'eventType':name, 'result':obj});
+  }
+}
+
+var addBackChannel = function (backchannel) {
+    backchannels.push(backchannel);
+}
new file mode 100644
--- /dev/null
+++ b/mail/test/resources/jsbridge/jsbridge/extension/resource/modules/init.js
@@ -0,0 +1,40 @@
+// ***** BEGIN LICENSE BLOCK *****
+// Version: MPL 1.1/GPL 2.0/LGPL 2.1
+// 
+// The contents of this file are subject to the Mozilla Public License Version
+// 1.1 (the "License"); you may not use this file except in compliance with
+// the License. You may obtain a copy of the License at
+// http://www.mozilla.org/MPL/
+// 
+// Software distributed under the License is distributed on an "AS IS" basis,
+// WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+// for the specific language governing rights and limitations under the
+// License.
+// 
+// The Original Code is Mozilla Corporation Code.
+// 
+// The Initial Developer of the Original Code is
+// Mikeal Rogers.
+// Portions created by the Initial Developer are Copyright (C) 2008
+// the Initial Developer. All Rights Reserved.
+// 
+// Contributor(s):
+//  Mikeal Rogers <mikeal.rogers@gmail.com>
+// 
+// Alternatively, the contents of this file may be used under the terms of
+// either the GNU General Public License Version 2 or later (the "GPL"), or
+// the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+// in which case the provisions of the GPL or the LGPL are applicable instead
+// of those above. If you wish to allow use of your version of this file only
+// under the terms of either the GPL or the LGPL, and not to allow others to
+// use your version of this file under the terms of the MPL, indicate your
+// decision by deleting the provisions above and replace them with the notice
+// and other provisions required by the GPL or the LGPL. If you do not delete
+// the provisions above, a recipient may use your version of this file under
+// the terms of any one of the MPL, the GPL or the LGPL.
+// 
+// ***** END LICENSE BLOCK *****
+
+var EXPORTED_SYMBOLS = ["server"];
+
+var server = {}; Components.utils.import('resource://jsbridge/modules/server.js', server);
new file mode 100644
--- /dev/null
+++ b/mail/test/resources/jsbridge/jsbridge/extension/resource/modules/json2.js
@@ -0,0 +1,471 @@
+/*
+    http://www.JSON.org/json2.js
+    2008-05-25
+
+    Public Domain.
+
+    NO WARRANTY EXPRESSED OR IMPLIED. USE AT YOUR OWN RISK.
+
+    See http://www.JSON.org/js.html
+
+    This file creates a global JSON object containing two methods: stringify
+    and parse.
+
+        JSON.stringify(value, replacer, space)
+            value       any JavaScript value, usually an object or array.
+
+            replacer    an optional parameter that determines how object
+                        values are stringified for objects without a toJSON
+                        method. It can be a function or an array.
+
+            space       an optional parameter that specifies the indentation
+                        of nested structures. If it is omitted, the text will
+                        be packed without extra whitespace. If it is a number,
+                        it will specify the number of spaces to indent at each
+                        level. If it is a string (such as '\t' or '&nbsp;'),
+                        it contains the characters used to indent at each level.
+
+            This method produces a JSON text from a JavaScript value.
+
+            When an object value is found, if the object contains a toJSON
+            method, its toJSON method will be called and the result will be
+            stringified. A toJSON method does not serialize: it returns the
+            value represented by the name/value pair that should be serialized,
+            or undefined if nothing should be serialized. The toJSON method
+            will be passed the key associated with the value, and this will be
+            bound to the object holding the key.
+
+            For example, this would serialize Dates as ISO strings.
+
+                Date.prototype.toJSON = function (key) {
+                    function f(n) {
+                        // Format integers to have at least two digits.
+                        return n < 10 ? '0' + n : n;
+                    }
+
+                    return this.getUTCFullYear()   + '-' +
+                         f(this.getUTCMonth() + 1) + '-' +
+                         f(this.getUTCDate())      + 'T' +
+                         f(this.getUTCHours())     + ':' +
+                         f(this.getUTCMinutes())   + ':' +
+                         f(this.getUTCSeconds())   + 'Z';
+                };
+
+            You can provide an optional replacer method. It will be passed the
+            key and value of each member, with this bound to the containing
+            object. The value that is returned from your method will be
+            serialized. If your method returns undefined, then the member will
+            be excluded from the serialization.
+
+            If the replacer parameter is an array, then it will be used to
+            select the members to be serialized. It filters the results such
+            that only members with keys listed in the replacer array are
+            stringified.
+
+            Values that do not have JSON representations, such as undefined or
+            functions, will not be serialized. Such values in objects will be
+            dropped; in arrays they will be replaced with null. You can use
+            a replacer function to replace those with JSON values.
+            JSON.stringify(undefined) returns undefined.
+
+            The optional space parameter produces a stringification of the
+            value that is filled with line breaks and indentation to make it
+            easier to read.
+
+            If the space parameter is a non-empty string, then that string will
+            be used for indentation. If the space parameter is a number, then
+            the indentation will be that many spaces.
+
+            Example:
+
+            text = JSON.stringify(['e', {pluribus: 'unum'}]);
+            // text is '["e",{"pluribus":"unum"}]'
+
+
+            text = JSON.stringify(['e', {pluribus: 'unum'}], null, '\t');
+            // text is '[\n\t"e",\n\t{\n\t\t"pluribus": "unum"\n\t}\n]'
+
+            text = JSON.stringify([new Date()], function (key, value) {
+                return this[key] instanceof Date ?
+                    'Date(' + this[key] + ')' : value;
+            });
+            // text is '["Date(---current time---)"]'
+
+
+        JSON.parse(text, reviver)
+            This method parses a JSON text to produce an object or array.
+            It can throw a SyntaxError exception.
+
+            The optional reviver parameter is a function that can filter and
+            transform the results. It receives each of the keys and values,
+            and its return value is used instead of the original value.
+            If it returns what it received, then the structure is not modified.
+            If it returns undefined then the member is deleted.
+
+            Example:
+
+            // Parse the text. Values that look like ISO date strings will
+            // be converted to Date objects.
+
+            myData = JSON.parse(text, function (key, value) {
+                var a;
+                if (typeof value === 'string') {
+                    a =
+/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2}(?:\.\d*)?)Z$/.exec(value);
+                    if (a) {
+                        return new Date(Date.UTC(+a[1], +a[2] - 1, +a[3], +a[4],
+                            +a[5], +a[6]));
+                    }
+                }
+                return value;
+            });
+
+            myData = JSON.parse('["Date(09/09/2001)"]', function (key, value) {
+                var d;
+                if (typeof value === 'string' &&
+                        value.slice(0, 5) === 'Date(' &&
+                        value.slice(-1) === ')') {
+                    d = new Date(value.slice(5, -1));
+                    if (d) {
+                        return d;
+                    }
+                }
+                return value;
+            });
+
+
+    This is a reference implementation. You are free to copy, modify, or
+    redistribute.
+
+    This code should be minified before deployment.
+    See http://javascript.crockford.com/jsmin.html
+
+    USE YOUR OWN COPY. IT IS EXTREMELY UNWISE TO LOAD CODE FROM SERVERS YOU DO
+    NOT CONTROL.
+*/
+
+/*jslint evil: true */
+
+/*global JSON */
+
+/*members "", "\b", "\t", "\n", "\f", "\r", "\"", JSON, "\\", call,
+    charCodeAt, getUTCDate, getUTCFullYear, getUTCHours, getUTCMinutes,
+    getUTCMonth, getUTCSeconds, hasOwnProperty, join, lastIndex, length,
+    parse, propertyIsEnumerable, prototype, push, replace, slice, stringify,
+    test, toJSON, toString
+*/
+
+var EXPORTED_SYMBOLS = ["JSON"];
+
+if (!this.JSON) {
+
+// Create a JSON object only if one does not already exist. We create the
+// object in a closure to avoid creating global variables.
+
+    JSON = function () {
+
+        function f(n) {
+            // Format integers to have at least two digits.
+            return n < 10 ? '0' + n : n;
+        }
+
+        Date.prototype.toJSON = function (key) {
+
+            return this.getUTCFullYear()   + '-' +
+                 f(this.getUTCMonth() + 1) + '-' +
+                 f(this.getUTCDate())      + 'T' +
+                 f(this.getUTCHours())     + ':' +
+                 f(this.getUTCMinutes())   + ':' +
+                 f(this.getUTCSeconds())   + 'Z';
+        };
+
+        var cx = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,
+            escapeable = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,
+            gap,
+            indent,
+            meta = {    // table of character substitutions
+                '\b': '\\b',
+                '\t': '\\t',
+                '\n': '\\n',
+                '\f': '\\f',
+                '\r': '\\r',
+                '"' : '\\"',
+                '\\': '\\\\'
+            },
+            rep;
+
+
+        function quote(string) {
+
+// If the string contains no control characters, no quote characters, and no
+// backslash characters, then we can safely slap some quotes around it.
+// Otherwise we must also replace the offending characters with safe escape
+// sequences.
+
+            escapeable.lastIndex = 0;
+            return escapeable.test(string) ?
+                '"' + string.replace(escapeable, function (a) {
+                    var c = meta[a];
+                    if (typeof c === 'string') {
+                        return c;
+                    }
+                    return '\\u' + ('0000' +
+                            (+(a.charCodeAt(0))).toString(16)).slice(-4);
+                }) + '"' :
+                '"' + string + '"';
+        }
+
+
+        function str(key, holder) {
+
+// Produce a string from holder[key].
+
+            var i,          // The loop counter.
+                k,          // The member key.
+                v,          // The member value.
+                length,
+                mind = gap,
+                partial,
+                value = holder[key];
+
+// If the value has a toJSON method, call it to obtain a replacement value.
+
+            if (value && typeof value === 'object' &&
+                    typeof value.toJSON === 'function') {
+                value = value.toJSON(key);
+            }
+
+// If we were called with a replacer function, then call the replacer to
+// obtain a replacement value.
+
+            if (typeof rep === 'function') {
+                value = rep.call(holder, key, value);
+            }
+
+// What happens next depends on the value's type.
+
+            switch (typeof value) {
+            case 'string':
+                return quote(value);
+
+            case 'number':
+
+// JSON numbers must be finite. Encode non-finite numbers as null.
+
+                return isFinite(value) ? String(value) : 'null';
+
+            case 'boolean':
+            case 'null':
+
+// If the value is a boolean or null, convert it to a string. Note:
+// typeof null does not produce 'null'. The case is included here in
+// the remote chance that this gets fixed someday.
+
+                return String(value);
+
+// If the type is 'object', we might be dealing with an object or an array or
+// null.
+
+            case 'object':
+
+// Due to a specification blunder in ECMAScript, typeof null is 'object',
+// so watch out for that case.
+
+                if (!value) {
+                    return 'null';
+                }
+
+// Make an array to hold the partial results of stringifying this object value.
+
+                gap += indent;
+                partial = [];
+
+// If the object has a dontEnum length property, we'll treat it as an array.
+
+                if (typeof value.length === 'number' &&
+                        !(value.propertyIsEnumerable('length'))) {
+
+// The object is an array. Stringify every element. Use null as a placeholder
+// for non-JSON values.
+
+                    length = value.length;
+                    for (i = 0; i < length; i += 1) {
+                        partial[i] = str(i, value) || 'null';
+                    }
+
+// Join all of the elements together, separated with commas, and wrap them in
+// brackets.
+
+                    v = partial.length === 0 ? '[]' :
+                        gap ? '[\n' + gap +
+                                partial.join(',\n' + gap) + '\n' +
+                                    mind + ']' :
+                              '[' + partial.join(',') + ']';
+                    gap = mind;
+                    return v;
+                }
+
+// If the replacer is an array, use it to select the members to be stringified.
+
+                if (rep && typeof rep === 'object') {
+                    length = rep.length;
+                    for (i = 0; i < length; i += 1) {
+                        k = rep[i];
+                        if (typeof k === 'string') {
+                            v = str(k, value, rep);
+                            if (v) {
+                                partial.push(quote(k) + (gap ? ': ' : ':') + v);
+                            }
+                        }
+                    }
+                } else {
+
+// Otherwise, iterate through all of the keys in the object.
+
+                    for (k in value) {
+                        if (Object.hasOwnProperty.call(value, k)) {
+                            v = str(k, value, rep);
+                            if (v) {
+                                partial.push(quote(k) + (gap ? ': ' : ':') + v);
+                            }
+                        }
+                    }
+                }
+
+// Join all of the member texts together, separated with commas,
+// and wrap them in braces.
+
+                v = partial.length === 0 ? '{}' :
+                    gap ? '{\n' + gap + partial.join(',\n' + gap) + '\n' +
+                            mind + '}' : '{' + partial.join(',') + '}';
+                gap = mind;
+                return v;
+            }
+        }
+
+// Return the JSON object containing the stringify and parse methods.
+
+        return {
+            stringify: function (value, replacer, space) {
+
+// The stringify method takes a value and an optional replacer, and an optional
+// space parameter, and returns a JSON text. The replacer can be a function
+// that can replace values, or an array of strings that will select the keys.
+// A default replacer method can be provided. Use of the space parameter can
+// produce text that is more easily readable.
+
+                var i;
+                gap = '';
+                indent = '';
+
+// If the space parameter is a number, make an indent string containing that
+// many spaces.
+
+                if (typeof space === 'number') {
+                    for (i = 0; i < space; i += 1) {
+                        indent += ' ';
+                    }
+
+// If the space parameter is a string, it will be used as the indent string.
+
+                } else if (typeof space === 'string') {
+                    indent = space;
+                }
+
+// If there is a replacer, it must be a function or an array.
+// Otherwise, throw an error.
+
+                rep = replacer;
+                if (replacer && typeof replacer !== 'function' &&
+                        (typeof replacer !== 'object' ||
+                         typeof replacer.length !== 'number')) {
+                    throw new Error('JSON.stringify');
+                }
+
+// Make a fake root object containing our value under the key of ''.
+// Return the result of stringifying the value.
+
+                return str('', {'': value});
+            },
+
+
+            parse: function (text, reviver) {
+
+// The parse method takes a text and an optional reviver function, and returns
+// a JavaScript value if the text is a valid JSON text.
+
+                var j;
+
+                function walk(holder, key) {
+
+// The walk method is used to recursively walk the resulting structure so
+// that modifications can be made.
+
+                    var k, v, value = holder[key];
+                    if (value && typeof value === 'object') {
+                        for (k in value) {
+                            if (Object.hasOwnProperty.call(value, k)) {
+                                v = walk(value, k);
+                                if (v !== undefined) {
+                                    value[k] = v;
+                                } else {
+                                    delete value[k];
+                                }
+                            }
+                        }
+                    }
+                    return reviver.call(holder, key, value);
+                }
+
+
+// Parsing happens in four stages. In the first stage, we replace certain
+// Unicode characters with escape sequences. JavaScript handles many characters
+// incorrectly, either silently deleting them, or treating them as line endings.
+
+                cx.lastIndex = 0;
+                if (cx.test(text)) {
+                    text = text.replace(cx, function (a) {
+                        return '\\u' + ('0000' +
+                                (+(a.charCodeAt(0))).toString(16)).slice(-4);
+                    });
+                }
+
+// In the second stage, we run the text against regular expressions that look
+// for non-JSON patterns. We are especially concerned with '()' and 'new'
+// because they can cause invocation, and '=' because it can cause mutation.
+// But just to be safe, we want to reject all unexpected forms.
+
+// We split the second stage into 4 regexp operations in order to work around
+// crippling inefficiencies in IE's and Safari's regexp engines. First we
+// replace the JSON backslash pairs with '@' (a non-JSON character). Second, we
+// replace all simple value tokens with ']' characters. Third, we delete all
+// open brackets that follow a colon or comma or that begin the text. Finally,
+// we look to see that the remaining characters are only whitespace or ']' or
+// ',' or ':' or '{' or '}'. If that is so, then the text is safe for eval.
+
+                if (/^[\],:{}\s]*$/.
+test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, '@').
+replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, ']').
+replace(/(?:^|:|,)(?:\s*\[)+/g, ''))) {
+
+// In the third stage we use the eval function to compile the text into a
+// JavaScript structure. The '{' operator is subject to a syntactic ambiguity
+// in JavaScript: it can begin a block or an object literal. We wrap the text
+// in parens to eliminate the ambiguity.
+
+                    j = eval('(' + text + ')');
+
+// In the optional fourth stage, we recursively walk the new structure, passing
+// each name/value pair to a reviver function for possible transformation.
+
+                    return typeof reviver === 'function' ?
+                        walk({'': j}, '') : j;
+                }
+
+// If the text is not JSON parseable, then a SyntaxError is thrown.
+
+                throw new SyntaxError('JSON.parse');
+            }
+        };
+    }();
+}
new file mode 100644
--- /dev/null
+++ b/mail/test/resources/jsbridge/jsbridge/extension/resource/modules/server.js
@@ -0,0 +1,347 @@
+// ***** BEGIN LICENSE BLOCK *****
+// Version: MPL 1.1/GPL 2.0/LGPL 2.1
+// 
+// The contents of this file are subject to the Mozilla Public License Version
+// 1.1 (the "License"); you may not use this file except in compliance with
+// the License. You may obtain a copy of the License at
+// http://www.mozilla.org/MPL/
+// 
+// Software distributed under the License is distributed on an "AS IS" basis,
+// WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+// for the specific language governing rights and limitations under the
+// License.
+// 
+// The Original Code is Mozilla Corporation Code.
+// 
+// The Initial Developer of the Original Code is
+// based on the MozRepl project.
+// Portions created by the Initial Developer are Copyright (C) 2008
+// the Initial Developer. All Rights Reserved.
+// 
+// Contributor(s):
+//  Mikeal Rogers <mikeal.rogers@gmail.com>
+//  Massimiliano Mirra <bard@hyperstruct.net>
+//
+// Alternatively, the contents of this file may be used under the terms of
+// either the GNU General Public License Version 2 or later (the "GPL"), or
+// the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+// in which case the provisions of the GPL or the LGPL are applicable instead
+// of those above. If you wish to allow use of your version of this file only
+// under the terms of either the GPL or the LGPL, and not to allow others to
+// use your version of this file under the terms of the MPL, indicate your
+// decision by deleting the provisions above and replace them with the notice
+// and other provisions required by the GPL or the LGPL. If you do not delete
+// the provisions above, a recipient may use your version of this file under
+// the terms of any one of the MPL, the GPL or the LGPL.
+// 
+// ***** END LICENSE BLOCK *****
+
+var EXPORTED_SYMBOLS = ["Server", "server", "AsyncRead", "Session", "sessions", "globalRegistry", "startServer"];
+
+var events = {}; Components.utils.import("resource://jsbridge/modules/events.js", events);
+const DEBUG_ON = false;
+const BUFFER_SIZE = 1024;
+const Cc = Components.classes;
+const Ci = Components.interfaces;
+const loader = Cc['@mozilla.org/moz/jssubscript-loader;1']
+    .getService(Ci.mozIJSSubScriptLoader);
+
+var hwindow = Components.classes["@mozilla.org/appshell/appShellService;1"]
+    .getService(Components.interfaces.nsIAppShellService)
+    .hiddenDOMWindow;
+    
+var nativeJSON = Components.classes["@mozilla.org/dom/json;1"]
+    .createInstance(Components.interfaces.nsIJSON);
+
+var json2 = Components.utils.import("resource://jsbridge/modules/json2.js");
+
+var jsonEncode = json2.JSON.stringify;    
+
+var uuidgen = Components.classes["@mozilla.org/uuid-generator;1"]
+    .getService(Components.interfaces.nsIUUIDGenerator);
+
+function AsyncRead (session) {
+  this.session = session;
+}
+AsyncRead.prototype.onStartRequest = function (request, context) {};
+AsyncRead.prototype.onStopRequest = function (request, context, status) {
+  log("async onstoprequest: onstoprequest");
+  this.session.onQuit();
+}
+AsyncRead.prototype.onDataAvailable = function (request, context, inputStream, offset, count) {
+  var str = {};
+  str.value = '';
+
+  var bytesAvail = 0;
+  do {
+    var parts = {};
+    if (count > BUFFER_SIZE) {
+      bytesAvail = BUFFER_SIZE;
+    } else {
+      bytesAvail = count;
+    }
+
+    log("jsbridge: onDataAvailable, reading bytesAvail = " + bytesAvail + "\n");
+    var bytesRead = this.session.instream.readString(bytesAvail, parts);
+    count = count - bytesRead;
+    log("jsbridge: onDataAvailable, read bytes: " + bytesRead + " count is now: " + count + "\n"); 
+    str.value += parts.value;
+  } while (count > 0);
+  log("jsbridge: onDataAvailable, going into receive with: \n\n" + str.value + "\n\n");
+  this.session.receive(str.value);
+}
+
+
+
+globalRegistry = {};
+
+function Bridge (session) {
+  this.session = session;
+  this.registry = globalRegistry;
+}
+Bridge.prototype._register = function (_type) {
+  this.bridgeType = _type;
+  if (_type == "backchannel") {
+    events.addBackChannel(this);
+  }
+}
+Bridge.prototype.register = function (uuid, _type) {
+  try {
+    this._register(_type);
+    var passed = true;
+  } catch(e) {
+    if (typeof(e) == "string") {
+      var exception = e;
+    } else {
+      var exception = {'name':e.name, 'message':e.message};
+    }
+    this.session.encodeOut({'result':false, 'exception':exception, 'uuid':uuid});
+  }
+  if (passed != undefined) {
+    this.session.encodeOut({"result":true, 'eventType':'register', 'uuid':uuid});
+  }
+  
+}
+Bridge.prototype._describe = function (obj) {
+  var response = {};
+  if (obj == null) {
+    var type = "null";
+  } else {
+    var type = typeof(obj);
+  }
+  if (type == "object") {
+    if (obj.length != undefined) {
+      var type = "array";
+    }
+    response.attributes = [];
+    for (i in obj) {
+      response.attributes = response.attributes.concat(i);
+    }
+  }
+  else if (type != "function"){
+    response.data = obj;
+  }
+  response.type = type;
+  return response;
+}
+Bridge.prototype.describe = function (uuid, obj) {
+  var response = this._describe(obj);
+  response.uuid = uuid;
+  response.result = true;
+  this.session.encodeOut(response);
+}
+Bridge.prototype._set = function (obj) {
+  var uuid = uuidgen.generateUUID().toString();
+  this.registry[uuid] = obj;
+  return uuid;
+}
+Bridge.prototype.set = function (uuid, obj) {
+  var ruuid = this._set(obj);
+  this.session.encodeOut({'result':true, 'data':'bridge.registry["'+ruuid+'"]', 'uuid':uuid});
+}
+Bridge.prototype._setAttribute = function (obj, name, value) {
+  obj[name] = value;
+  return value;
+}
+Bridge.prototype.setAttribute = function (uuid, obj, name, value) {
+  try {
+    var result = this._setAttribute(obj, name, value);
+  } catch(e) {
+    if (typeof(e) == "string") {
+      var exception = e;
+    } else {
+      var exception = {'name':e.name, 'message':e.message};
+    }
+    this.session.encodeOut({'result':false, 'exception':exception, 'uuid':uuid});
+  }
+  if (result != undefined) {
+    this.set(uuid, obj[name]);
+  }
+}
+Bridge.prototype._execFunction = function (func, args) {
+  return func.apply(this.session.sandbox, args);
+}
+Bridge.prototype.execFunction = function (uuid, func, args) {
+  try {
+    var data = this._execFunction(func, args);
+    var result = true;
+  } catch(e) {
+    if (typeof(e) == "string") {
+      var exception = e;
+    } else {
+      var exception = {'name':e.name, 'message':e.message};
+    }
+    this.session.encodeOut({'result':false, 'exception':exception, 'uuid':uuid});
+    var result = true;
+  }  
+  if (data != undefined) {
+    this.set(uuid, data);
+  } else if ( result == true) {
+    this.session.encodeOut({'result':true, 'data':null, 'uuid':uuid});
+  } else {
+    log("jsbridge threw unknown data in execFunc");
+    throw 'JSBridge unknown data in execFunc';
+  }
+}
+
+backstage = this;
+
+function Session (transport) {
+  this.transpart = transport;
+  this.sandbox = Components.utils.Sandbox(backstage);
+  this.sandbox.bridge = new Bridge(this);
+  this.sandbox.openPreferences = hwindow.openPreferences;
+  try {
+      this.outputstream = transport.openOutputStream(Ci.nsITransport.OPEN_BLOCKING, 0, 0);	
+      this.outstream = Cc['@mozilla.org/intl/converter-output-stream;1']
+                    .createInstance(Ci.nsIConverterOutputStream);
+      this.outstream.init(this.outputstream, 'UTF-8', BUFFER_SIZE,
+                    Ci.nsIConverterOutputStream.DEFAULT_REPLACEMENT_CHARACTER);
+      this.stream = transport.openInputStream(0, 0, 0);
+      this.instream = Cc['@mozilla.org/intl/converter-input-stream;1']
+          .createInstance(Ci.nsIConverterInputStream);
+      this.instream.init(this.stream, 'UTF-8', BUFFER_SIZE,
+                    Ci.nsIConverterInputStream.DEFAULT_REPLACEMENT_CHARACTER);
+  } catch(e) {
+      log('jsbridge: Error: ' + e);
+  }
+  log('jsbridge: Accepted connection.');
+  
+  this.pump = Cc['@mozilla.org/network/input-stream-pump;1']
+      .createInstance(Ci.nsIInputStreamPump);
+  this.pump.init(this.stream, -1, -1, 0, 0, false);
+  this.pump.asyncRead(new AsyncRead(this), null);
+}
+Session.prototype.onOutput = function(string) {
+  log('jsbridge: write: '+string)
+  if (typeof(string) != "string") {
+    throw "This is not a string"
+  } 
+  try {
+    var stroffset = 0;
+    do {
+      var parts = '';
+      // Handle the case where we are writing something larger than our buffer
+      if (string.length > BUFFER_SIZE) {
+        log("jsbridge: onOutput: writing data stroffset is: " + stroffset + " string.length is: " + string.length);
+        parts = string.slice(stroffset, stroffset + BUFFER_SIZE);
+        log("jsbridge: onOutput: here is our part: \n" + parts + "\n");
+      } else {
+        parts = string;
+      }
+
+      // Update our offset
+      stroffset = stroffset += parts.length;
+
+      // write it
+      this.outstream.writeString(parts);
+    } while (stroffset < string.length);
+
+    // Ensure the entire stream is flushed
+    this.outstream.flush();
+  } catch (e) {
+    log("jsbridge: threw on writing string: " + string + "   exception: " + e);
+    throw "JSBridge cannot write: "+string
+  }
+};
+Session.prototype.onQuit = function() {
+  this.instream.close();
+  this.outstream.close();
+  sessions.remove(session);
+};
+Session.prototype.encodeOut = function (obj) {
+  try {
+    this.onOutput(jsonEncode(obj));
+  } catch(e) {
+    if (typeof(e) == "string") {
+      var exception = e;
+    } else {
+      var exception = {'name':e.name, 'message':e.message};
+    }
+    this.onOutput(jsonEncode({'result':false, 'exception':exception}));
+  }
+  
+}
+Session.prototype.receive = function(data) {
+  Components.utils.evalInSandbox(data, this.sandbox);
+}
+
+var sessions = {
+    _list: [],
+    add: function(session) {
+        this._list.push(session);
+    },
+    remove: function(session) {
+        var index = this._list.indexOf(session);
+        if(index != -1)
+            this._list.splice(index, 1);
+    },
+    get: function(index) {
+        return this._list[index];
+    },
+    quit: function() {
+        this._list.forEach(
+            function(session) { session.quit; });
+        this._list.splice(0, this._list.length);
+    }
+};
+
+function Server (port) {
+  this.port = port;
+}
+Server.prototype.start = function () {
+  try {
+    this.serv = Cc['@mozilla.org/network/server-socket;1']
+        .createInstance(Ci.nsIServerSocket);
+    this.serv.init(this.port, true, -1);
+    this.serv.asyncListen(this);
+  } catch(e) {
+    log('jsbridge: Exception: ' + e);
+  }    
+}
+Server.prototype.stop = function () {
+    log('jsbridge: Closing...');
+    this.serv.close();
+    this.sessions.quit();
+    this.serv = undefined;
+}
+Server.prototype.onStopListening = function (serv, status) {
+// Stub function
+}
+Server.prototype.onSocketAccepted = function (serv, transport) {
+  session = new Session(transport)
+  sessions.add(session);
+}
+
+function log(msg) {
+  if (DEBUG_ON) {
+    dump(msg + '\n');
+  } 
+}
+
+function startServer(port) {
+  var server = new Server(port)
+  server.start()
+}
+
+
new file mode 100644
--- /dev/null
+++ b/mail/test/resources/jsbridge/jsbridge/jsobjects.py
@@ -0,0 +1,167 @@
+# ***** BEGIN LICENSE BLOCK *****
+# Version: MPL 1.1/GPL 2.0/LGPL 2.1
+#
+# The contents of this file are subject to the Mozilla Public License Version
+# 1.1 (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+# http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS IS" basis,
+# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+# for the specific language governing rights and limitations under the
+# License.
+#
+# The Original Code is Mozilla Corporation Code.
+#
+# The Initial Developer of the Original Code is
+# Mikeal Rogers.
+# Portions created by the Initial Developer are Copyright (C) 2008
+# the Initial Developer. All Rights Reserved.
+#
+# Contributor(s):
+#  Mikeal Rogers <mikeal.rogers@gmail.com>
+#
+# Alternatively, the contents of this file may be used under the terms of
+# either the GNU General Public License Version 2 or later (the "GPL"), or
+# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+# in which case the provisions of the GPL or the LGPL are applicable instead
+# of those above. If you wish to allow use of your version of this file only
+# under the terms of either the GPL or the LGPL, and not to allow others to
+# use your version of this file under the terms of the MPL, indicate your
+# decision by deleting the provisions above and replace them with the notice
+# and other provisions required by the GPL or the LGPL. If you do not delete
+# the provisions above, a recipient may use your version of this file under
+# the terms of any one of the MPL, the GPL or the LGPL.
+#
+# ***** END LICENSE BLOCK *****
+
+def init_jsobject(cls, bridge, name, value, description=None):
+    """Initialize a js object that is a subclassed base type; int, str, unicode, float."""
+    obj = cls(value)
+    obj._bridge_ = bridge
+    obj._name_ = name
+    obj._description_ = description
+    return obj
+
+def create_jsobject(bridge, fullname, value=None, obj_type=None, override_set=False):
+    """Create a single JSObject for named object on other side of the bridge.
+    
+    Handles various initization cases for different JSObjects."""
+    description = bridge.describe(fullname)
+    obj_type = description['type']
+    value = description.get('data', None)
+    
+    if value is True or value is False:
+        return value
+
+    if js_type_cases.has_key(obj_type):
+        cls, needs_init = js_type_cases[obj_type]
+        # Objects that requires initialization are base types that have "values".
+        if needs_init:
+            obj = init_jsobject(cls, bridge, fullname, value, description=description)
+        else:
+            obj = cls(bridge, fullname, description=description, override_set=override_set)
+        return obj
+    else:
+        # Something very bad happened, we don't have a representation for the given type.
+        raise TypeError("Don't have a JSObject for javascript type "+obj_type)
+    
+class JSObject(object):
+    """Base javascript object representation."""
+    _loaded_ = False
+    
+    def __init__(self, bridge, name, override_set=False, description=None, *args, **kwargs):
+        self._bridge_ = bridge
+        if not override_set:
+            name = bridge.set(name)['data']
+        self._name_ = name
+        self._description_ = description
+    
+    def __jsget__(self, name):
+        """Abstraction for final step in get events; __getitem__ and __getattr__.
+        """
+        result = create_jsobject(self._bridge_, name, override_set=True)
+        return result
+    
+    def __getattr__(self, name):
+        """Get the object from jsbridge. 
+        
+        Handles lazy loading of all attributes of self."""
+        # A little hack so that ipython returns all the names.
+        if name == '_getAttributeNames':
+            return lambda : self._bridge_.describe(self._name_)['attributes']
+            
+        attributes = self._bridge_.describe(self._name_)['attributes']
+        if name in attributes:
+            return self.__jsget__(self._name_+'["'+name+'"]')
+        else:
+            raise AttributeError(name+" is undefined.")
+    
+    __getitem__ = __getattr__
+        
+    def __setattr__(self, name, value):
+        """Set the given JSObject as an attribute of this JSObject and make proper javascript
+        assignment on the other side of the bridge."""
+        if name.startswith('_') and name.endswith('_'):
+            return object.__setattr__(self, name, value)
+
+        response = self._bridge_.setAttribute(self._name_, name, value)
+        object.__setattr__(self, name, create_jsobject(self._bridge_, response['data'], override_set=True))
+    
+    __setitem__ = __setattr__
+
+class JSFunction(JSObject):
+    """Javascript function represenation.
+    
+    Returns a JSObject instance for the serialized js type with 
+    name set to the full javascript call for this function. 
+    """    
+    
+    def __init__(self, bridge, name, override_set=False, description=None, *args, **kwargs):
+        self._bridge_ = bridge
+        self._name_ = name
+        self._description_ = description
+    
+    def __call__(self, *args):
+        response = self._bridge_.execFunction(self._name_, args)
+        if response['data'] is not None:
+            return create_jsobject(self._bridge_, response['data'], override_set=True)
+
+
+class JSString(JSObject, unicode):
+    "Javascript string representation."
+    __init__ = unicode.__init__
+
+class JSInt(JSObject, int): 
+    """Javascript number representation for Python int."""
+    __init__ = int.__init__
+
+class JSFloat(JSObject, float):
+    """Javascript number representation for Python float."""
+    __init__ = float.__init__
+    
+class JSUndefined(JSObject):
+    """Javascript undefined representation."""    
+    __str__ = lambda self : "undefined"
+
+    def __cmp__(self, other):
+        if isinstance(other, JSUndefined):
+            return True
+        else:
+            return False
+
+    __nonzero__ = lambda self: False
+
+js_type_cases = {'function'  :(JSFunction, False,), 
+                  'object'   :(JSObject, False,), 
+                  'array'    :(JSObject, False,),
+                  'string'   :(JSString, True,), 
+                  'number'   :(JSFloat, True,),
+                  'undefined':(JSUndefined, False,),
+                  'null'     :(JSObject, False,),
+                  }
+py_type_cases = {unicode  :JSString,
+                  str     :JSString,
+                  int     :JSInt,
+                  float   :JSFloat,
+                  }
new file mode 100644
--- /dev/null
+++ b/mail/test/resources/jsbridge/jsbridge/network.py
@@ -0,0 +1,308 @@
+# ***** BEGIN LICENSE BLOCK *****
+# Version: MPL 1.1/GPL 2.0/LGPL 2.1
+#
+# The contents of this file are subject to the Mozilla Public License Version
+# 1.1 (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+# http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS IS" basis,
+# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+# for the specific language governing rights and limitations under the
+# License.
+#
+# The Original Code is Mozilla Corporation Code.
+#
+# The Initial Developer of the Original Code is
+# Mikeal Rogers.
+# Portions created by the Initial Developer are Copyright (C) 2008
+# the Initial Developer. All Rights Reserved.
+#
+# Contributor(s):
+#  Mikeal Rogers <mikeal.rogers@gmail.com>
+#
+# Alternatively, the contents of this file may be used under the terms of
+# either the GNU General Public License Version 2 or later (the "GPL"), or
+# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+# in which case the provisions of the GPL or the LGPL are applicable instead
+# of those above. If you wish to allow use of your version of this file only
+# under the terms of either the GPL or the LGPL, and not to allow others to
+# use your version of this file under the terms of the MPL, indicate your
+# decision by deleting the provisions above and replace them with the notice
+# and other provisions required by the GPL or the LGPL. If you do not delete
+# the provisions above, a recipient may use your version of this file under
+# the terms of any one of the MPL, the GPL or the LGPL.
+#
+# ***** END LICENSE BLOCK *****
+
+import asyncore
+import socket
+import select
+import logging
+import uuid
+from time import sleep
+from threading import Thread
+
+try:
+    import json as simplejson
+    from json.encoder import encode_basestring_ascii, encode_basestring
+except ImportError:
+    import simplejson
+    from simplejson.encoder import encode_basestring_ascii, encode_basestring
+
+logger = logging.getLogger(__name__)
+
+class JavaScriptException(Exception): pass
+
+class Telnet(asyncore.dispatcher):
+    def __init__(self, host, port):
+        self.host, self.port = host, port
+        asyncore.dispatcher.__init__(self)
+        self.create_socket(socket.AF_INET, socket.SOCK_STREAM)
+        self.connect((host, port))
+        self.buffer = ''
+        self.logger = logger
+
+    def __del__(self):
+        self.close()
+
+    def handle_close(self):
+        """override method of asyncore.dispatcher"""
+        self.close()
+
+    def handle_expt(self): 
+        self.close() # connection failed, shutdown
+    
+    def writable(self):
+        return (len(self.buffer) > 0)
+
+    def handle_write(self):
+        sent = self.send(self.buffer)
+        self.buffer = self.buffer[sent:]
+        
+    def read_all(self):
+        import socket
+        data = ''
+        while 1:
+            try:
+                data += self.recv(4096)
+            except socket.error:
+                return data
+
+    def handle_read(self):
+        self.data = self.read_all()
+        self.process_read(self.data)
+
+        
+    read_callback = lambda self, data: None
+
+decoder = simplejson.JSONDecoder()
+
+class JSObjectEncoder(simplejson.JSONEncoder):
+    """Encoder that supports jsobject references by name."""
+
+    def encode(self, o):
+        import jsobjects
+        if isinstance(o, jsobjects.JSObject):
+            return o._name_
+        else:
+            return simplejson.JSONEncoder.encode(self, o)
+
+    def _iterencode(self, o, markers=None):
+        import jsobjects
+        if isinstance(o, jsobjects.JSObject):
+            yield o._name_
+        elif isinstance(o, basestring):
+            if self.ensure_ascii:
+                encoder = encode_basestring_ascii
+            else:
+                encoder = encode_basestring
+            _encoding = self.encoding
+            if (_encoding is not None and isinstance(o, str)
+                    and not (_encoding == 'utf-8')):
+                o = o.decode(_encoding)
+            yield encoder(o)
+        elif o is None:
+            yield 'null'
+        elif o is True:
+            yield 'true'
+        elif o is False:
+            yield 'false'
+        elif isinstance(o, (int, long)):
+            yield str(o)
+        elif isinstance(o, float):
+            yield getattr(simplejson.encoder, 'floatstr', simplejson.encoder._floatstr)(o, self.allow_nan)
+        elif isinstance(o, (list, tuple)):
+            for chunk in self._iterencode_list(o, markers):
+                yield chunk
+        elif isinstance(o, dict):
+            for chunk in self._iterencode_dict(o, markers):
+                yield chunk
+        else:
+            if markers is not None:
+                markerid = id(o)
+                if markerid in markers:
+                    raise ValueError("Circular reference detected")
+                markers[markerid] = o
+            for chunk in self._iterencode_default(o, markers):
+                yield chunk
+            if markers is not None:
+                del markers[markerid]
+
+encoder = JSObjectEncoder()
+
+class JSBridgeDisconnectError(Exception): 
+    """exception raised when an unexpected disconect happens"""
+
+
+class Bridge(Telnet):
+    
+    trashes = []
+    reading = False
+    sbuffer = ''
+    events_list = []
+
+    callbacks = {}
+        
+    bridge_type = "bridge"
+    
+    registered = False
+    timeout_ctr = 0. # global timeout counter
+    
+    def __init__(self, host, port, timeout=60.):
+        """
+        - timeout : failsafe timeout for each call to run in seconds
+        """
+        self.timeout = timeout
+        Telnet.__init__(self, host, port)
+        sleep(.1)
+
+        # XXX we've actually already connected in Telnet
+        self.connect((host, port))
+    
+    def handle_connect(self):
+        self.register()
+
+    def run(self, _uuid, exec_string, interval=.2, raise_exeption=True):
+
+
+        exec_string += '\r\n'
+        self.send(exec_string)
+
+        while _uuid not in self.callbacks.keys():
+
+            Bridge.timeout_ctr += interval
+            if Bridge.timeout_ctr > self.timeout:
+                print 'Timeout: %s' % exec_string
+                raise JSBridgeDisconnectError("Connection timed out")
+            
+            sleep(interval)
+            try:
+                self.send('')
+            except socket.error, e:
+                raise JSBridgeDisconnectError("JSBridge Socket Disconnected: %s" % e)
+
+        Bridge.timeout_ctr = 0. # reset the counter
+        
+        callback = self.callbacks.pop(_uuid)
+        if callback['result'] is False and raise_exeption is True:
+            raise JavaScriptException(callback['exception'])
+        return callback 
+        
+    def register(self):
+        _uuid = str(uuid.uuid1())
+        self.send('bridge.register("'+_uuid+'", "'+self.bridge_type+'")\r\n')
+        self.registered = True
+
+    def execFunction(self, func_name, args, interval=.25):
+        _uuid = str(uuid.uuid1())
+        exec_args = [encoder.encode(_uuid), func_name, encoder.encode(args)]
+        return self.run(_uuid, 'bridge.execFunction('+ ', '.join(exec_args)+')', interval)
+        
+    def setAttribute(self, obj_name, name, value):
+        _uuid = str(uuid.uuid1())
+        exec_args = [encoder.encode(_uuid), obj_name, encoder.encode(name), encoder.encode(value)]
+        return self.run(_uuid, 'bridge.setAttribute('+', '.join(exec_args)+')')
+        
+    def set(self, obj_name):
+        _uuid = str(uuid.uuid1())
+        return self.run(_uuid, 'bridge.set('+', '.join([encoder.encode(_uuid), obj_name])+')')
+        
+    def describe(self, obj_name):
+        _uuid = str(uuid.uuid1())
+        return self.run(_uuid, 'bridge.describe('+', '.join([encoder.encode(_uuid), obj_name])+')')
+    
+    def fire_callbacks(self, obj):
+        self.callbacks[obj['uuid']] = obj
+    
+    def process_read(self, data):
+        """Parse out json objects and fire callbacks."""
+        self.sbuffer += data
+        self.reading = True
+        self.parsing = True
+        while self.parsing:
+            # Remove erroneus data in front of callback object
+            index = self.sbuffer.find('{')
+            if index is not -1 and index is not 0:
+                self.sbuffer = self.sbuffer[index:]
+            # Try to get a json object from the data stream    
+            try:
+                obj, index = decoder.raw_decode(self.sbuffer)
+            except Exception, e:
+                self.parsing = False
+            # If we got an object fire the callback infra    
+            if self.parsing:
+                self.fire_callbacks(obj)
+                self.sbuffer = self.sbuffer[index:]
+        
+class BackChannel(Bridge):
+    
+    bridge_type = "backchannel"
+    
+    def __init__(self, host, port):
+        Bridge.__init__(self, host, port)
+        self.uuid_listener_index = {}
+        self.event_listener_index = {}
+        self.global_listeners = []
+        
+    def fire_callbacks(self, obj):
+        """Handle all callback fireing on json objects pulled from the data stream."""
+        self.fire_event(**dict([(str(key), value,) for key, value in obj.items()]))
+
+    def add_listener(self, callback, uuid=None, eventType=None):
+        if uuid is not None:
+            self.uuid_listener_index.setdefault(uuid, []).append(callback)
+        if eventType is not None:
+            self.event_listener_index.setdefault(eventType, []).append(callback)
+
+    def add_global_listener(self, callback):
+        self.global_listeners.append(callback)
+
+    def fire_event(self, eventType=None, uuid=None, result=None, exception=None):
+        Bridge.timeout_ctr = 0. # reset the counter
+        event = eventType
+        if uuid is not None and self.uuid_listener_index.has_key(uuid):
+            for callback in self.uuid_listener_index[uuid]:
+                callback(result)
+        if event is not None and self.event_listener_index.has_key(event):
+            for callback in self.event_listener_index[event]:
+                callback(result)
+        for listener in self.global_listeners:
+            listener(eventType, result)
+
+thread = None
+ 
+def create_network(hostname, port):
+    back_channel = BackChannel(hostname, port)
+    bridge = Bridge(hostname, port)
+    global thread
+    if not thread or not thread.isAlive():
+        def do():
+            try: asyncore.loop(use_poll=True)
+            except select.error:pass
+            
+        thread = Thread(target=do)
+        getattr(thread, 'setDaemon', lambda x : None)(True)
+        thread.start()
+    
+    return back_channel, bridge
new file mode 100644
--- /dev/null
+++ b/mail/test/resources/jsbridge/setup.py
@@ -0,0 +1,77 @@
+# ***** BEGIN LICENSE BLOCK *****
+# Version: MPL 1.1/GPL 2.0/LGPL 2.1
+#
+# The contents of this file are subject to the Mozilla Public License Version
+# 1.1 (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+# http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS IS" basis,
+# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+# for the specific language governing rights and limitations under the
+# License.
+#
+# The Original Code is Mozilla Corporation Code.
+#
+# The Initial Developer of the Original Code is
+# Mikeal Rogers.
+# Portions created by the Initial Developer are Copyright (C) 2008
+# the Initial Developer. All Rights Reserved.
+#
+# Contributor(s):
+#  Mikeal Rogers <mikeal.rogers@gmail.com>
+#
+# Alternatively, the contents of this file may be used under the terms of
+# either the GNU General Public License Version 2 or later (the "GPL"), or
+# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+# in which case the provisions of the GPL or the LGPL are applicable instead
+# of those above. If you wish to allow use of your version of this file only
+# under the terms of either the GPL or the LGPL, and not to allow others to
+# use your version of this file under the terms of the MPL, indicate your
+# decision by deleting the provisions above and replace them with the notice
+# and other provisions required by the GPL or the LGPL. If you do not delete
+# the provisions above, a recipient may use your version of this file under
+# the terms of any one of the MPL, the GPL or the LGPL.
+#
+# ***** END LICENSE BLOCK *****
+
+import sys
+from setuptools import setup, find_packages
+
+desc = """Python to JavaScript bridge interface."""
+summ = """A powerful and extensible Python to JavaScript bridge interface."""
+
+PACKAGE_NAME = "jsbridge"
+PACKAGE_VERSION = "2.4.4b4"
+
+requires = ['mozrunner == 2.5.5b4']
+
+if not sys.version.startswith('2.6'):
+    requires.append('simplejson')
+
+setup(name=PACKAGE_NAME,
+      version=PACKAGE_VERSION,
+      description=desc,
+      long_description=summ,
+      author='Mikeal Rogers, Mozilla',
+      author_email='mikeal.rogers@gmail.com',
+      url='http://github.com/mozautomation/mozmill',
+      license='http://www.apache.org/licenses/LICENSE-2.0',
+      packages=find_packages(exclude=['test']),
+      include_package_data=True,
+      package_data = {'': ['*.js', '*.css', '*.html', '*.txt', '*.xpi', '*.rdf', '*.xul', '*.jsm', '*.xml' 'extension'],},
+      zip_safe=False,
+      entry_points="""
+          [console_scripts]
+          jsbridge = jsbridge:cli
+        """,
+      platforms =['Any'],
+      install_requires = requires,
+      classifiers=['Development Status :: 4 - Beta',
+                   'Environment :: Console',
+                   'Intended Audience :: Developers',
+                   'License :: OSI Approved :: Apache Software License',
+                   'Operating System :: OS Independent',
+                   'Topic :: Software Development :: Libraries :: Python Modules',
+                  ]
+     )
new file mode 100644
--- /dev/null
+++ b/mail/test/resources/mozmill/MANIFEST.in
@@ -0,0 +1,2 @@
+recursive-include docs *
+recursive-include mozmill/extension *
new file mode 100644
--- /dev/null
+++ b/mail/test/resources/mozmill/docs/Makefile
@@ -0,0 +1,75 @@
+# Makefile for Sphinx documentation
+#
+
+# You can set these variables from the command line.
+SPHINXOPTS    =
+SPHINXBUILD   = sphinx-build
+PAPER         =
+
+# Internal variables.
+PAPEROPT_a4     = -D latex_paper_size=a4
+PAPEROPT_letter = -D latex_paper_size=letter
+ALLSPHINXOPTS   = -d _build/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
+
+.PHONY: help clean html web pickle htmlhelp latex changes linkcheck
+
+help:
+	@echo "Please use \`make <target>' where <target> is one of"
+	@echo "  html      to make standalone HTML files"
+	@echo "  pickle    to make pickle files"
+	@echo "  json      to make JSON files"
+	@echo "  htmlhelp  to make HTML files and a HTML help project"
+	@echo "  latex     to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
+	@echo "  changes   to make an overview over all changed/added/deprecated items"
+	@echo "  linkcheck to check all external links for integrity"
+
+clean:
+	-rm -rf _build/*
+
+html:
+	mkdir -p _build/html _build/doctrees
+	$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) _build/html
+	@echo
+	@echo "Build finished. The HTML pages are in _build/html."
+
+pickle:
+	mkdir -p _build/pickle _build/doctrees
+	$(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) _build/pickle
+	@echo
+	@echo "Build finished; now you can process the pickle files."
+
+web: pickle
+
+json:
+	mkdir -p _build/json _build/doctrees
+	$(SPHINXBUILD) -b json $(ALLSPHINXOPTS) _build/json
+	@echo
+	@echo "Build finished; now you can process the JSON files."
+
+htmlhelp:
+	mkdir -p _build/htmlhelp _build/doctrees
+	$(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) _build/htmlhelp
+	@echo
+	@echo "Build finished; now you can run HTML Help Workshop with the" \
+	      ".hhp project file in _build/htmlhelp."
+
+latex:
+	mkdir -p _build/latex _build/doctrees
+	$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) _build/latex
+	@echo
+	@echo "Build finished; the LaTeX files are in _build/latex."
+	@echo "Run \`make all-pdf' or \`make all-ps' in that directory to" \
+	      "run these through (pdf)latex."
+
+changes:
+	mkdir -p _build/changes _build/doctrees
+	$(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) _build/changes
+	@echo
+	@echo "The overview file is in _build/changes."
+
+linkcheck:
+	mkdir -p _build/linkcheck _build/doctrees
+	$(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) _build/linkcheck
+	@echo
+	@echo "Link check complete; look for any errors in the above output " \
+	      "or in _build/linkcheck/output.txt."
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..e86b37588750230abe690cd9488c6c38fb5ad607
GIT binary patch
literal 793045
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
Bu>1f3
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..15c791446ca392f54af3299a84533327f8b95dc3
GIT binary patch
literal 73110
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
PADCETz_!JLU8V;B-1PDx
new file mode 100644
--- /dev/null
+++ b/mail/test/resources/mozmill/docs/_build/html/_sources/index.txt
@@ -0,0 +1,188 @@
+:mod:`mozmill` --- Full automation of XULRunner applications.
+=============================================================
+
+.. module:: mozmill
+   :synopsis: Full automation of XULRunner applications.
+.. moduleauthor:: Mikeal Rogers <mikeal.rogers@gmail.com>
+.. sectionauthor:: Mikeal Rogers <mikeal.rogers@gmail.com>
+
+Command Line Usage
+------------------
+
+The mozmill command line is versatile and includes a fair amount of debugging options. Even though all these options are available mozmill should run by default without any arguments and find your locally installed Firefox and run with mozmill.
+
+In most modes, ctrl-c will shut down Firefox and exit out of the mozmill Python side as well.
+
+.. code-block:: none
+      
+      $ mozmill
+
+.. cmdoption:: -h, --help
+
+   Show help message.
+
+.. cmdoption:: -b <binary>, --binary <binary>
+
+   Specify application binary location.
+   
+   Default :class:`mozrunner.Profile` and :class:`mozrunner.Runner` are still 
+   :class:`mozrunner.FirefoxProfile` and :class:`mozrunner.FirefoxRunner`. You can
+   change this by creating your own command line utility by subclassing :class:`CLI`
+   
+.. cmdoption:: -d <defaultprofile>
+
+   Specify the path to the default **clean** profile used to create new profiles.
+
+.. cmdoption:: -n, --no-new-profile
+
+   Do not create a new fresh profile.
+   
+.. cmdoption:: -p <profile>, --profile <profile>
+
+   Specifies a profile to use. Must be used with --no-new-profile.
+
+.. cmdoption:: -w <plugins>, --plugins <plugins>
+
+   Comma seperated list of additional paths to plugins to install.
+
+   Plugins can be either .xpi zip compressed extensions or deflated extension directories.
+
+.. cmdoption:: -l <logfile>, --logfile <logfile>
+
+   Log all events to *logfile*.
+
+.. cmdoption:: --report <uri>
+
+   *Currently in development.*
+
+   POST results to given brasstacks results server at *uri*. 
+
+.. cmdoption:: -t <test>, --test <test>
+
+   Run *test*. Can be either single test file or directory of tests.
+
+.. cmdoption::  --showall
+
+   Show all test output.
+
+.. cmdoption:: -D, --debug
+
+   Install debugging extensions and run with -jsconole
+
+.. cmdoption:: --show-errors
+
+   Print all logger errors to the console. When running tests only test failures and skipped 
+   tests are printed, this option print all other errors.
+
+.. cmdoption:: -s, --shell
+
+   Starts a Python shell for debugging.
+
+.. cmdoption:: -u, --usecode
+
+   By default --shell mode will use iPython if install and fall back to using the code module.
+   This option forces the use of the code module instead of iPython even when installed.
+
+.. cmdoption:: -P <port>, --port <port>
+
+   Specify port for jsbridge.
+
+Command Line Class
+------------------
+
+.. class:: CLI
+
+   Inherits from :class:`jsbridge.CLI` which inherits from :class:`mozrunner.CLI`.
+   
+   All the heavy lifting is handled by jsbridge and mozrunner. If you are subclassing
+   this in order to creat a new command line interface be sure to call :func:`super` on all
+   related methods.
+   
+   .. attribute:: runner_class
+   
+      Default runner class. Should be subclass of :class:`mozrunner.Runner`.
+      Defaults to :class:`mozrunner.FirefoxRunner`. 
+
+   .. attribute:: profile_class
+   
+      Default profile class. Should be subclass of :class:`mozruner.Profile`.
+      Defaults to :class:`mozrunner.FirefoxProfile`.
+
+Running MozMill from Python
+---------------------------
+
+.. class:: MozMill([runner_class[, profile_class[, jsbridge_port]]])
+
+   Manages an instance of Firefox w/ jsbridge and provides facilities for running tests and
+   keeping track of results with callback methods.
+   
+   Default *runner_class* is :class:`mozrunner.FirefoxRunner`. Value should be a subclass of 
+   :class:`mozrunner.Runner`.
+   
+   Default *profile_class* is :class:`mozrunner.FirefoxProfile`. Value should be a subclass of 
+   :class:`mozrunner.Profile`.
+   
+   Default *jsbridge_port* is `24242`.
+   
+   .. attribute:: runner_class
+   
+      Set during initialization to subclass of :class:`mozrunner.Runner`.
+      
+   .. attribute:: profile_class
+   
+      Set during initialization to subclass of :class:`mozrunner.Profile`.
+   
+   .. attribute:: jsbridge_port
+   
+      Set during initialization to :class:`numbers.Integral`.
+   
+   .. method:: start([profile[, runner]])
+   
+      Start mozrunner and jsbridge pre-requisites.
+   
+      *profile* should be an instance of a `mozrunner.Profile` subclass. If one is not passed 
+      an instance of `self.profile_class` is created. `self.profile` will be set to this 
+      value.
+      
+      *runner* should be an instance of a `mozrunner.Runner` subclass. If one is not passed an 
+      instance of :attr:`runner_class` will be created. :attr:`runner` will be set to this value.
+      
+      This method will also run `runner.start()` and :func:`mozrunner.wait_and_create_network`
+      and sets :attr:`back_channel` and :attr:`bridge` to instances of 
+      :class:`jsbridge.BackChannel` and :class:`jsbridge.Bridge` respectively.
+      
+   .. attribute:: profile
+   
+      Set during :meth:`start` to subclass of :class:`mozrunner.Profile`.
+      
+   .. attribute:: runner
+   
+      Set during :meth:`start` to subclass of :class:`mozrunner.Runner`.
+      
+   .. attribute:: back_channel
+   
+      Set during :meth:`start` to subclass of :class:`jsbridge.BackChannel`.
+      
+   .. attribute:: bridge
+   
+      Set during :meth:`start` to subclass of :class:`jsbridge.Bridge`
+
+   .. method:: run_tests(test[, report])
+   
+      Run *test* in live Firefox using :attr:`bridge`.
+      
+      Adds local listeners :meth:`endTest_listener` and :meth:`endRunner_listener` to 
+      `"endTest"` and `"endRunner"` events using :meth:`jsbridge.BackChannel.add_listener` of
+      :attr:`back_channel`.
+      
+      When tests are done the results are posted to a results server at *report* if passed.
+      
+   .. method:: endTest_listener(test)
+   
+      When a test is finished the test object will be passed to this callback.
+      
+   .. method:: endRunner_listener(obj)
+   
+      When all the tests are done running this callback will be fired.
+   
+   
\ No newline at end of file
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..7fb82154a1748d507925865d3fbf7508d62483e5
GIT binary patch
literal 202
zc%17D@N?(olHy`uVBq!ia0vp^j6kfx!3HGlw@oMq2^0spJ29*~C-V}>;VkfoEM{Qf
z76xHPhFNnYfP(BLp1!W^HyC+E#mt?nx10eANtU=qlsM<-=BDPAFgO>bCYGe8D3oWG
zWGJ|M`UZqI@`(c#nR~i8hHzY8+H1+jpulh_>fir3VfEN66+L<?4$M=cq8XZmq*xT0
q7F)Q=oS3J(I{(|@x%uL6VqQL2#_By`CBGoh2nJ7AKbLh*2~7Zv?Ki9d
new file mode 100644
--- /dev/null
+++ b/mail/test/resources/mozmill/docs/_build/html/_static/default.css
@@ -0,0 +1,657 @@
+/**
+ * Sphinx Doc Design
+ */
+
+body {
+    font-family: sans-serif;
+    font-size: 100%;
+    background-color: #11303d;
+    color: #000;
+    margin: 0;
+    padding: 0;
+}
+
+/* :::: LAYOUT :::: */
+
+div.document {
+    background-color: #1c4e63;
+}
+
+div.documentwrapper {
+    float: left;
+    width: 100%;
+}
+
+div.bodywrapper {
+    margin: 0 0 0 230px;
+}
+
+div.body {
+    background-color: white;
+    padding: 0 20px 30px 20px;
+}
+
+div.sphinxsidebarwrapper {
+    padding: 10px 5px 0 10px;
+}
+
+div.sphinxsidebar {
+    float: left;
+    width: 230px;
+    margin-left: -100%;
+    font-size: 90%;
+}
+
+div.clearer {
+    clear: both;
+}
+
+div.footer {
+    color: #fff;
+    width: 100%;
+    padding: 9px 0 9px 0;
+    text-align: center;
+    font-size: 75%;
+}
+
+div.footer a {
+    color: #fff;
+    text-decoration: underline;
+}
+
+div.related {
+    background-color: #133f52;
+    color: #fff;
+    width: 100%;
+    line-height: 30px;
+    font-size: 90%;
+}
+
+div.related h3 {
+    display: none;
+}
+
+div.related ul {
+    margin: 0;
+    padding: 0 0 0 10px;
+    list-style: none;
+}
+
+div.related li {
+    display: inline;
+}
+
+div.related li.right {
+    float: right;
+    margin-right: 5px;
+}
+
+div.related a {
+    color: white;
+}
+
+/* ::: TOC :::: */
+div.sphinxsidebar h3 {
+    font-family: 'Trebuchet MS', sans-serif;
+    color: white;
+    font-size: 1.4em;
+    font-weight: normal;
+    margin: 0;
+    padding: 0;
+}
+
+div.sphinxsidebar h3 a {
+    color: white;
+}
+
+div.sphinxsidebar h4 {
+    font-family: 'Trebuchet MS', sans-serif;
+    color: white;
+    font-size: 1.3em;
+    font-weight: normal;
+    margin: 5px 0 0 0;
+    padding: 0;
+}
+
+div.sphinxsidebar p {
+    color: white;
+}
+
+div.sphinxsidebar p.topless {
+    margin: 5px 10px 10px 10px;
+}
+
+div.sphinxsidebar ul {
+    margin: 10px;
+    padding: 0;
+    list-style: none;
+    color: white;
+}
+
+div.sphinxsidebar ul ul,
+div.sphinxsidebar ul.want-points {
+    margin-left: 20px;
+    list-style: square;
+}
+
+div.sphinxsidebar ul ul {
+    margin-top: 0;
+    margin-bottom: 0;
+}
+
+div.sphinxsidebar a {
+    color: #98dbcc;
+}
+
+div.sphinxsidebar form {
+    margin-top: 10px;
+}
+
+div.sphinxsidebar input {
+    border: 1px solid #98dbcc;
+    font-family: sans-serif;
+    font-size: 1em;
+}
+
+/* :::: MODULE CLOUD :::: */
+div.modulecloud {
+    margin: -5px 10px 5px 10px;
+    padding: 10px;
+    line-height: 160%;
+    border: 1px solid #cbe7e5;
+    background-color: #f2fbfd;
+}
+
+div.modulecloud a {
+    padding: 0 5px 0 5px;
+}
+
+/* :::: SEARCH :::: */
+ul.search {
+    margin: 10px 0 0 20px;
+    padding: 0;
+}
+
+ul.search li {
+    padding: 5px 0 5px 20px;
+    background-image: url(file.png);
+    background-repeat: no-repeat;
+    background-position: 0 7px;
+}
+
+ul.search li a {
+    font-weight: bold;
+}
+
+ul.search li div.context {
+    color: #888;
+    margin: 2px 0 0 30px;
+    text-align: left;
+}
+
+ul.keywordmatches li.goodmatch a {
+    font-weight: bold;
+}
+
+/* :::: COMMON FORM STYLES :::: */
+
+div.actions {
+    padding: 5px 10px 5px 10px;
+    border-top: 1px solid #cbe7e5;
+    border-bottom: 1px solid #cbe7e5;
+    background-color: #e0f6f4;
+}
+
+form dl {
+    color: #333;
+}
+
+form dt {
+    clear: both;
+    float: left;
+    min-width: 110px;
+    margin-right: 10px;
+    padding-top: 2px;
+}
+
+input#homepage {
+    display: none;
+}
+
+div.error {
+    margin: 5px 20px 0 0;
+    padding: 5px;
+    border: 1px solid #d00;
+    font-weight: bold;
+}
+