I have been working on a project to get mochitests running on a build of Fennec + electrolysis. In general, you can follow along in bug 567417.
One of the large TODO items in getting the tests to run is actually fixing the tests which use UniversalXPConnect. So my approach was to grep through a mochitest tests/ directory for @mozilla and parse it out. With a few corner cases, this resulted in a full list of services we utilize from our tests (here is a sorted list by frequency 76 total services.) Cool, but that didn’t seem useful enough. Then I took my work that I have done for filtering (the json file) and cross referenced that with my original list of tests that use UniversalXPConnect.
Now I have a list of 59 services which all should pass in Fennec (a mozilla-central build from 2 weeks ago on n900) along with the first filename of the test which utilizes that services!
What else would be useful?
One project which I am working on is getting mochitests to run in fennec + electrolysis. Why this is a project is we don’t allow web pages to access privileged information in the browser anymore. Mochitests in the simplest form use file logging and event generation.
The communication channel that is available between the ‘chrome’ and ‘content’ process is the messageManager protocol. There are even great examples of using this in the unit tests for ipc. Unfortunately I have not been able to load a normal web page and allow for my extension which used messageManager calls to interact.
I think what would be nice to see is a real end to end example of an extension that would demonstrate functionality on any given webpage. This would be helpful to all addon authors, not just me:) If I figure this out, I will update with a new blog post.