Currently, if one pref is not specified in libpref/init.js, when it is used in reftest manifest, the reftest throws a "bad pref" exception which causes failure. However, it is allowed in the preferences module to have "hidden" prefs, which are not listed in init.js but used in code with a hardcoded default value. We hide a pref usually because we don't want user to actually change it. I think many of our test-only prefs meet this criterion and thus should be hidden.
hidden prefs are also bad because it's easy to get the Pref API usage wrong. We should generally try to avoid them.
You need to log in before you can comment on or make changes to this bug.