Open Bug 470307 Opened 16 years ago Updated 2 years ago

'make check' on OSX depends on Mail.app being installed

Categories

(Firefox :: File Handling, defect)

x86
macOS
defect

Tracking

()

People

(Reporter: catlee, Unassigned)

Details

Attachments

(1 file)

If Mail.app is not installed on an OSX machine, 'make check' will fail thusly:

TEST-UNEXPECTED-FAIL | ../../../_tests/xpcshell-simple/test_uriloader_exthandler/unit/test_handlerService.js | test failed, see log
../../../_tests/xpcshell-simple/test_uriloader_exthandler/unit/test_handlerService.js.log:
>>>>>>>
*** HandlerServiceTest: getFile: requesting UMimTyp
*** HandlerServiceTest: getFile: requesting CurProcD
*** HandlerServiceTest: the following NS_ERROR_FAILURE exception in nsIDirectoryServiceProvider::getFile is expected, as we don't provide the 'CurProcD' file
*** HandlerServiceTest: getFile: requesting MozBinD
*** HandlerServiceTest: the following NS_ERROR_FAILURE exception in nsIDirectoryServiceProvider::getFile is expected, as we don't provide the 'MozBinD' file
*** test pending
*** HandlerServiceTest: getFile: requesting TmpD
*** HandlerServiceTest: the following NS_ERROR_FAILURE exception in nsIDirectoryServiceProvider::getFile is expected, as we don't provide the 'TmpD' file
*** exiting
*** TEST-UNEXPECTED-FAIL | ../../../_tests/xpcshell-simple/test_uriloader_exthandler/unit/test_handlerService.js | true == false
JS frame :: /builds/buildbot/moz2-slave/mozilla-1.9.1-macosx-unittest/build/tools/test-harness/xpcshell-simple/head.js :: do_throw :: line 101
JS frame :: /builds/buildbot/moz2-slave/mozilla-1.9.1-macosx-unittest/build/tools/test-harness/xpcshell-simple/head.js :: do_check_eq :: line 120
JS frame :: /builds/buildbot/moz2-slave/mozilla-1.9.1-macosx-unittest/build/tools/test-harness/xpcshell-simple/head.js :: do_check_false :: line 132
JS frame :: ../../../_tests/xpcshell-simple/test_uriloader_exthandler/unit/test_handlerService.js :: run_test :: line 174
JS frame :: /builds/buildbot/moz2-slave/mozilla-1.9.1-macosx-unittest/build/tools/test-harness/xpcshell-simple/tail.js :: _execute_test :: line 41
JS frame :: /builds/buildbot/moz2-slave/mozilla-1.9.1-macosx-unittest/build/tools/test-harness/xpcshell-simple/execute_test.js :: <TOP_LEVEL> :: line 38
2147500036
*** FAIL ***
myk/dmose, you seem to have blame for this API... what's the expected behavior here?
Component: General → File Handling
Product: Testing → Core
QA Contact: general → file-handling
The test that fails is expecting alwaysAskBeforeHandling to be false for the mailto: protocol when the "explicit warning pref" is set to false because it assumes that the OS has specified a default handler for that protocol.

Presumably it's failing when Mail.app isn't installed because Mac OS X doesn't specify a default handler in that case.  Several tests after that test also assume that the OS specifies a default handler for the protocol.  At first glance, I'm not sure what to do about the make check failure.
One hack would be to skip the tests that require Mail.app if it isn't installed.  That doesn't sound like a particularly good solution, but I don't have a better one.

Here's a patch that does that for the first test.  Chris, does this patch work on the system where that test was failing, and do any additional tests fail?
Assignee: nobody → myk
Status: NEW → ASSIGNED
The only better ones I can imagine would be to figure out some other protocol handler app that's guaranteed to be installed on OS X always, or else write our own handler app that we can depend on always being there.
Assignee: myk → nobody
Product: Core → Firefox
No assignee, updating the status.
Status: ASSIGNED → NEW
No assignee, updating the status.
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: