User:MarkAHershberger/Weekly reports/2010-W23

Meta
I took a vacation from May 27th through June 7th. This report covers May 24th-26th and June 8th-12th.

Continuum Server
I spent some time thinking about what I need from the Continuum server that Ryan Lane was good enough to set up. Here's how I see this working:


 * I'll create either a shell script or (since Continuum can use Maven) a Maven build script to set up an initial SQLite installation to run the tests. I plan on adapting the new-installer code and providing a CLI to make this bit possible.
 * Part of the installation will include setting up Apache to serve a couple of static files. This is to make the testing (e.g. the HttpFunctions test) as self-contained as possible.
 * The script will call phpunit to run the unit tests.
 * Since I plan to make this test setup available via HTTP (at least on the local network), we should be able to use the Selenium Grid to run tests against trunk.
 * Reports should be generated for all the tests run. Possible reports:
 * Total # of tests, pass/fail/skipped
 * Code coverage
 * Execution time
 * Memory Usage
 * After the system is set up and working with SQLite, the testing harness should be set up to run using MySQL and PostgreSQL as the backing database as well. I'm using SQLite initially because it reduces the set-up complexity.
 * I'm thinking that initially tests will be run on an hourly basis. Ideally, they would be run against every commit, but I'm not sure how feasible that is.
 * Test failures will be reported as comments in code review. If a test fails and we aren't running against every commit, it may be necessary to “bisect” the code to find the offending commit.  Alternatively, I could just leave a comment on the commit against which the error was found and let people find the commit where the error was created.

I'll be spending some time this week on the CLI installation for MediaWiki. I think a CLI installation process would also help sysadmins who need to set up MW regularly (for whatever reason).

FIXMEs
I starred last week as the committer with the most outstanding FIXMEs in CodeReview. A few of these were just minor things, or things that had already been addressed. I spent some time addressing them and got some clarification for how to handle revisions that are marked “FIXME” in CodeReview that have been addressed: I'll switch them to “new” from now on to indicate that they can be re-reviewed.

The only FIXME that needed any significant code work was re-introducing the “asyncdownload” option for the UploadFromURL API. This provided an opportunity to clean up the code a little more which proved useful: the permission handling and ignorewarnings parameters now work for that API.