The distribution.js testcases throughout the tree rely on custom hooks built into browser glue for initializing distributions. While this makes unit tests possible, it means that we're not really testing the true functionality, especially as it relates to browser startup and timing. We should write more testcases using marionette.
The setup for a marionette testcase runs too late so we can't put the distribution.ini file in the profile directory and set the correct preferences. It looks like we're stuck with the same problem we have for creating AutoConfig testcases - our test harnesses don't support dropping in files before tests are run.