Open
Bug 879850
Opened 11 years ago
Updated 2 years ago
Test failures due to mock nsIPluginHost
Categories
(Toolkit :: Add-ons Manager, defect, P5)
Toolkit
Add-ons Manager
Tracking
()
NEW
People
(Reporter: Irving, Unassigned)
References
Details
An odd interaction between OS.File.writeAtomic and existing code is causing crashes in tests. I've tracked the crashes down to a conflict between unit tests that install a mock version of the @mozilla.org/plugin/host;1 service (nsIPluginHost), and core C++ code that assumes the plugin host service will always be the singleton C++ nsPluginHost. From bug 657952: According to DXR, tests that mock "@mozilla.org/plugin/host;1" are: http://dxr.mozilla.org/mozilla-central/source/toolkit/components/telemetry/tests/unit/test_TelemetryPing.js#l435 http://dxr.mozilla.org/mozilla-central/source/toolkit/mozapps/extensions/test/xpcshell/test_pluginchange.js#l121 http://dxr.mozilla.org/mozilla-central/source/toolkit/mozapps/extensions/test/xpcshell/test_bug455906.js#l182 http://dxr.mozilla.org/mozilla-central/source/toolkit/mozapps/extensions/test/xpcshell/test_bug514327_3.js#l102 http://dxr.mozilla.org/mozilla-central/source/toolkit/mozapps/extensions/test/xpcshell/test_bug449027.js#l430 http://dxr.mozilla.org/mozilla-central/source/toolkit/mozapps/extensions/test/xpcshell/test_duplicateplugins.js#l96 See the comments on Bug 657952 beginning at https://bugzilla.mozilla.org/show_bug.cgi?id=657952#c5 for additional information. I need to disable the crashing tests in my patches for bug 853388; I'll refer to this bug in the xpcshell.ini
Comment 1•11 years ago
|
||
(In reply to :Irving Reid from comment #0) > An odd interaction between OS.File.writeAtomic and existing code is causing > crashes in tests. I've tracked the crashes down to a conflict between unit > tests that install a mock version of the @mozilla.org/plugin/host;1 service > (nsIPluginHost), and core C++ code that assumes the plugin host service will > always be the singleton C++ nsPluginHost. > > From bug 657952: > > According to DXR, tests that mock "@mozilla.org/plugin/host;1" are: > > http://dxr.mozilla.org/mozilla-central/source/toolkit/components/telemetry/ > tests/unit/test_TelemetryPing.js#l435 > > http://dxr.mozilla.org/mozilla-central/source/toolkit/mozapps/extensions/ > test/xpcshell/test_pluginchange.js#l121 > > http://dxr.mozilla.org/mozilla-central/source/toolkit/mozapps/extensions/ > test/xpcshell/test_bug455906.js#l182 > > http://dxr.mozilla.org/mozilla-central/source/toolkit/mozapps/extensions/ > test/xpcshell/test_bug514327_3.js#l102 > > http://dxr.mozilla.org/mozilla-central/source/toolkit/mozapps/extensions/ > test/xpcshell/test_bug449027.js#l430 > > http://dxr.mozilla.org/mozilla-central/source/toolkit/mozapps/extensions/ > test/xpcshell/test_duplicateplugins.js#l96 > > > See the comments on Bug 657952 beginning at > https://bugzilla.mozilla.org/show_bug.cgi?id=657952#c5 for additional > information. > > > I need to disable the crashing tests in my patches for bug 853388; I'll > refer to this bug in the xpcshell.ini Can we just fix these as benjamin suggested. Set a pref in those tests with a new contract id and in PluginProvider.jsm have it check the pref and use that contract instead of the regular pluginhost.
Reporter | ||
Comment 2•11 years ago
|
||
Is this something we do often? It feels rather dirty to me... Do we need the pref, or could we just have the code in question try to get "@mozilla.org/plugin/host-TEST-MOCK;1" and fall back to ".../host;1" if the mock isn't there?
Comment 3•11 years ago
|
||
Mocking in a complex interdependent system *is* dirty, let's not hide it too much. I don't think we should do automatic fallback unless there's some technical reason we have to.
Reporter | ||
Comment 4•11 years ago
|
||
The fix for bug 881578 has caused the crashes to stop for the time being, because we no longer invoke the plugin handler code for .jsm files.
Updated•5 years ago
|
Priority: -- → P5
Updated•2 years ago
|
Severity: normal → S3
You need to log in
before you can comment on or make changes to this bug.
Description
•