The test experiments had unnecessary content in their install.rdf files.
<targetApplication> does not apply to experiment types and has been
removed.
The bootstrap setting is also implied and has been removed.
Instead of checking in binary .xpi files, we now have the source files
under source control and generate the .xpi as part of the build.
The build system mechanism to generate the .xpi files is hacky. But it's
similar to what existing processes use. Bug 988938 will eventually make
this more sane.
Since the produced .xpi files no longer have stable content, the SHA-1s
of the experiments are now calculated at test run time.
Before this patch, experiment add-ons may have existed in the Addons
Manager without the Experiments service knowing about them. This detects
these unknown add-ons and uninstalls them. See the in-line comment on
the rationale behind this decision.
The added unit test fails without the Experiments.jsm change.
* no need to pass an addon/experiment ID to .disableExperiment()
* fix multiple-logging when multiple Experiments() objects are created as in tests
* ensures that all dirty writes actually get written