Closed Bug 1431309 Opened 6 years ago Closed 6 years ago

Massive Mozmill test failure on 2018-01-17: 76 failing tests

Categories

(Thunderbird :: General, defect)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED
Thunderbird 59.0

People

(Reporter: jorgk-bmo, Unassigned)

References

Details

TEST-UNEXPECTED-FAIL | C:\slave\test\build\tests\mozmill\addrbook\test-address-book.js | test-address-book.js::test_deleting_contact_causes_confirm_prompt
TEST-UNEXPECTED-FAIL | C:\slave\test\build\tests\mozmill\addrbook\test-address-book.js | test-address-book.js::test_deleting_contacts_causes_confirm_prompt
TEST-UNEXPECTED-FAIL | C:\slave\test\build\tests\mozmill\composition\test-attachment-reminder.js | test-attachment-reminder.js::test_manual_attachment_reminder
TEST-UNEXPECTED-FAIL | C:\slave\test\build\tests\mozmill\composition\test-attachment-reminder.js | test-attachment-reminder.js::test_reminder_in_draft
TEST-UNEXPECTED-FAIL | C:\slave\test\build\tests\mozmill\composition\test-attachment-reminder.js | test-attachment-reminder.js::test_disabling_attachment_reminder
TEST-UNEXPECTED-FAIL | C:\slave\test\build\tests\mozmill\composition\test-blocked-content.js | test-blocked-content.js::setupModule
TEST-UNEXPECTED-FAIL | C:\slave\test\build\tests\mozmill\composition\test-charset-edit.js | test-charset-edit.js::setupModule
TEST-UNEXPECTED-FAIL | C:\slave\test\build\tests\mozmill\composition\test-charset-upgrade.js | test-charset-upgrade.js::setupModule
TEST-UNEXPECTED-FAIL | C:\slave\test\build\tests\mozmill\composition\test-draft-identity.js | test-draft-identity.js::setupModule
TEST-UNEXPECTED-FAIL | C:\slave\test\build\tests\mozmill\composition\test-draft-identity.js | test-draft-identity.js::teardownModule
TEST-UNEXPECTED-FAIL | C:\slave\test\build\tests\mozmill\composition\test-drafts.js | test-drafts.js::setupModule
    1279328 - TEST-UNEXPECTED-FAIL | /builds/slave/test/build/tests/mozmill/composition/test-drafts.js [ 0.17 ]
TEST-UNEXPECTED-FAIL | C:\slave\test\build\tests\mozmill\composition\test-eml-actions.js | test-eml-actions.js::setupModule
TEST-UNEXPECTED-FAIL | C:\slave\test\build\tests\mozmill\composition\test-forward-headers.js | test-forward-headers.js::setupModule
TEST-UNEXPECTED-FAIL | C:\slave\test\build\tests\mozmill\composition\test-forward-rfc822-attach.js | test-forward-rfc822-attach.js::setupModule
TEST-UNEXPECTED-FAIL | C:\slave\test\build\tests\mozmill\composition\test-forward-utf8.js | test-forward-utf8.js::test_utf8_forwarding_from_via_folder
TEST-UNEXPECTED-FAIL | C:\slave\test\build\tests\mozmill\composition\test-multipart-related.js | test-multipart-related.js::setupModule
TEST-UNEXPECTED-FAIL | C:\slave\test\build\tests\mozmill\composition\test-newmsg-compose-identity.js | test-newmsg-compose-identity.js::setupModule
TEST-UNEXPECTED-FAIL | C:\slave\test\build\tests\mozmill\composition\test-reply-format-flowed.js | test-reply-format-flowed.js::setupModule
TEST-UNEXPECTED-FAIL | C:\slave\test\build\tests\mozmill\composition\test-reply-multipart-charset.js | test-reply-multipart-charset.js::test_replyEditAsNewForward_charsetFromBody
TEST-UNEXPECTED-FAIL | C:\slave\test\build\tests\mozmill\composition\test-reply-multipart-charset.js | test-reply-multipart-charset.js::test_reply_noUTF16
TEST-UNEXPECTED-FAIL | C:\slave\test\build\tests\mozmill\composition\test-reply-multipart-charset.js | test-reply-multipart-charset.js::test_replyEditAsNewForward_override
TEST-UNEXPECTED-FAIL | C:\slave\test\build\tests\mozmill\composition\test-reply-multipart-charset.js | test-reply-multipart-charset.js::test_replyEditAsNewForward_enforceDefault
TEST-UNEXPECTED-FAIL | C:\slave\test\build\tests\mozmill\composition\test-reply-multipart-charset.js | test-reply-multipart-charset.js::test_replyEditAsNewForward_noPreview
TEST-UNEXPECTED-FAIL | C:\slave\test\build\tests\mozmill\folder-display\test-close-window-on-delete.js | test-close-window-on-delete.js::test_close_message_window_on_delete_from_message_window
TEST-UNEXPECTED-FAIL | C:\slave\test\build\tests\mozmill\folder-display\test-close-window-on-delete.js | test-close-window-on-delete.js::test_close_multiple_message_windows_on_delete_from_message_window
TEST-UNEXPECTED-FAIL | C:\slave\test\build\tests\mozmill\folder-display\test-close-window-on-delete.js | test-close-window-on-delete.js::test_close_multiple_message_windows_on_delete_from_3pane_window
TEST-UNEXPECTED-FAIL | C:\slave\test\build\tests\mozmill\folder-display\test-close-window-on-delete.js | test-close-window-on-delete.js::test_close_message_tab_on_delete_from_message_tab
TEST-UNEXPECTED-FAIL | C:\slave\test\build\tests\mozmill\folder-display\test-close-window-on-delete.js | test-close-window-on-delete.js::test_close_multiple_message_tabs_on_delete_from_message_tab
TEST-UNEXPECTED-FAIL | C:\slave\test\build\tests\mozmill\folder-display\test-close-window-on-delete.js | test-close-window-on-delete.js::test_close_multiple_message_tabs_on_delete_from_3pane_window
TEST-UNEXPECTED-FAIL | C:\slave\test\build\tests\mozmill\folder-display\test-close-window-on-delete.js | test-close-window-on-delete.js::test_close_multiple_windows_tabs_on_delete_from_3pane_window
TEST-UNEXPECTED-FAIL | C:\slave\test\build\tests\mozmill\folder-display\test-deletion-from-virtual-folders.js | test-deletion-from-virtual-folders.js::test_delete_from_virtual_folder_in_folder_tab
TEST-UNEXPECTED-FAIL | C:\slave\test\build\tests\mozmill\folder-display\test-deletion-from-virtual-folders.js | test-deletion-from-virtual-folders.js::test_delete_from_virtual_folder_in_message_tab
TEST-UNEXPECTED-FAIL | C:\slave\test\build\tests\mozmill\folder-display\test-deletion-from-virtual-folders.js | test-deletion-from-virtual-folders.js::test_delete_from_virtual_folder_in_message_window
TEST-UNEXPECTED-FAIL | C:\slave\test\build\tests\mozmill\folder-display\test-deletion-from-virtual-folders.js | test-deletion-from-virtual-folders.js::test_delete_last_message_from_virtual_folder_closes_message_displays
TEST-UNEXPECTED-FAIL | C:\slave\test\build\tests\mozmill\folder-display\test-deletion-from-virtual-folders.js | test-deletion-from-virtual-folders.js::test_delete_from_smart_inbox_in_folder_tab
TEST-UNEXPECTED-FAIL | C:\slave\test\build\tests\mozmill\folder-display\test-deletion-from-virtual-folders.js | test-deletion-from-virtual-folders.js::test_delete_from_smart_inbox_in_message_tab
TEST-UNEXPECTED-FAIL | C:\slave\test\build\tests\mozmill\folder-display\test-deletion-from-virtual-folders.js | test-deletion-from-virtual-folders.js::test_delete_from_smart_inbox_in_message_window
TEST-UNEXPECTED-FAIL | C:\slave\test\build\tests\mozmill\folder-display\test-deletion-from-virtual-folders.js | test-deletion-from-virtual-folders.js::test_delete_last_message_from_smart_inbox_closes_message_displays
TEST-UNEXPECTED-FAIL | C:\slave\test\build\tests\mozmill\folder-display\test-deletion-with-multiple-displays.js | test-deletion-with-multiple-displays.js::test_delete_in_folder_tab
TEST-UNEXPECTED-FAIL | C:\slave\test\build\tests\mozmill\folder-display\test-deletion-with-multiple-displays.js | test-deletion-with-multiple-displays.js::test_delete_in_message_tab
TEST-UNEXPECTED-FAIL | C:\slave\test\build\tests\mozmill\folder-display\test-deletion-with-multiple-displays.js | test-deletion-with-multiple-displays.js::test_delete_in_message_window
TEST-UNEXPECTED-FAIL | C:\slave\test\build\tests\mozmill\folder-display\test-deletion-with-multiple-displays.js | test-deletion-with-multiple-displays.js::test_delete_last_message_closes_message_displays
TEST-UNEXPECTED-FAIL | C:\slave\test\build\tests\mozmill\folder-display\test-deletion-with-multiple-displays.js | test-deletion-with-multiple-displays.js::test_open_last_message_in_all_four_display_mechanisms
TEST-UNEXPECTED-FAIL | C:\slave\test\build\tests\mozmill\folder-display\test-deletion-with-multiple-displays.js | test-deletion-with-multiple-displays.js::test_delete_last_message_in_folder_tab
TEST-UNEXPECTED-FAIL | C:\slave\test\build\tests\mozmill\folder-display\test-deletion-with-multiple-displays.js | test-deletion-with-multiple-displays.js::test_delete_last_message_in_message_tab
TEST-UNEXPECTED-FAIL | C:\slave\test\build\tests\mozmill\folder-display\test-deletion-with-multiple-displays.js | test-deletion-with-multiple-displays.js::test_delete_last_message_in_message_window
TEST-UNEXPECTED-FAIL | C:\slave\test\build\tests\mozmill\folder-display\test-deletion-with-multiple-displays.js | test-deletion-with-multiple-displays.js::test_delete_one_before_message_in_folder_tab
TEST-UNEXPECTED-FAIL | C:\slave\test\build\tests\mozmill\folder-display\test-deletion-with-multiple-displays.js | test-deletion-with-multiple-displays.js::test_delete_one_before_message_in_message_tab
TEST-UNEXPECTED-FAIL | C:\slave\test\build\tests\mozmill\folder-display\test-deletion-with-multiple-displays.js | test-deletion-with-multiple-displays.js::test_delete_one_before_message_in_message_window
TEST-UNEXPECTED-FAIL | C:\slave\test\build\tests\mozmill\folder-display\test-deletion-with-multiple-displays.js | test-deletion-with-multiple-displays.js::test_delete_one_after_message_in_folder_tab
TEST-UNEXPECTED-FAIL | C:\slave\test\build\tests\mozmill\folder-display\test-deletion-with-multiple-displays.js | test-deletion-with-multiple-displays.js::test_delete_one_after_message_in_message_tab
TEST-UNEXPECTED-FAIL | C:\slave\test\build\tests\mozmill\folder-display\test-deletion-with-multiple-displays.js | test-deletion-with-multiple-displays.js::test_delete_one_after_message_in_message_window
TEST-UNEXPECTED-FAIL | C:\slave\test\build\tests\mozmill\folder-display\test-deletion-with-multiple-displays.js | test-deletion-with-multiple-displays.js::test_delete_multiple_messages_with_first_selected_message_open
TEST-UNEXPECTED-FAIL | C:\slave\test\build\tests\mozmill\folder-display\test-deletion-with-multiple-displays.js | test-deletion-with-multiple-displays.js::test_delete_multiple_messages_with_nth_selected_message_open
TEST-UNEXPECTED-FAIL | C:\slave\test\build\tests\mozmill\folder-display\test-deletion-with-multiple-displays.js | test-deletion-with-multiple-displays.js::test_delete_multiple_messages_with_last_selected_message_open
TEST-UNEXPECTED-FAIL | C:\slave\test\build\tests\mozmill\folder-display\test-deletion-with-multiple-displays.js | test-deletion-with-multiple-displays.js::test_delete_multiple_messages_including_the_last_one_with_first_open
TEST-UNEXPECTED-FAIL | C:\slave\test\build\tests\mozmill\folder-display\test-deletion-with-multiple-displays.js | test-deletion-with-multiple-displays.js::test_delete_multiple_messages_including_the_last_one_with_nth_open
TEST-UNEXPECTED-FAIL | C:\slave\test\build\tests\mozmill\folder-display\test-deletion-with-multiple-displays.js | test-deletion-with-multiple-displays.js::test_delete_multiple_messages_including_the_last_one_with_last_open
TEST-UNEXPECTED-FAIL | C:\slave\test\build\tests\mozmill\folder-display\test-message-commands-on-msgstore.js | test-message-commands-on-msgstore.js::setupModule
TEST-UNEXPECTED-FAIL | C:\slave\test\build\tests\mozmill\folder-display\test-message-commands-on-msgstore.js | test-message-commands-on-msgstore.js::teardownModule
TEST-UNEXPECTED-FAIL | C:\slave\test\build\tests\mozmill\folder-display\test-message-commands.js | test-message-commands.js::test_thread_delete_prompt
TEST-UNEXPECTED-FAIL | C:\slave\test\build\tests\mozmill\folder-display\test-message-window.js | test-message-window.js::test_delete_single_message
TEST-UNEXPECTED-FAIL | C:\slave\test\build\tests\mozmill\folder-display\test-message-window.js | test-message-window.js::test_del_collapsed_thread
TEST-UNEXPECTED-FAIL | C:\slave\test\build\tests\mozmill\folder-display\test-message-window.js | test-message-window.js::test_next_unread
TEST-UNEXPECTED-FAIL | C:\slave\test\build\tests\mozmill\folder-display\test-pane-focus.js | test-pane-focus.js::test_after_delete
TEST-UNEXPECTED-FAIL | C:\slave\test\build\tests\mozmill\folder-display\test-recent-menu.js | test-recent-menu.js::test_delete_message
TEST-UNEXPECTED-FAIL | C:\slave\test\build\tests\mozmill\folder-display\test-right-click-middle-click-messages.js | test-right-click-middle-click-messages.js::test_right_click_deletion_nothing_selected
TEST-UNEXPECTED-FAIL | C:\slave\test\build\tests\mozmill\folder-display\test-right-click-middle-click-messages.js | test-right-click-middle-click-messages.js::test_right_click_deletion_one_other_thing_selected
TEST-UNEXPECTED-FAIL | C:\slave\test\build\tests\mozmill\folder-display\test-right-click-middle-click-messages.js | test-right-click-middle-click-messages.js::test_right_click_deletion_many_other_things_selected
TEST-UNEXPECTED-FAIL | C:\slave\test\build\tests\mozmill\folder-display\test-right-click-middle-click-messages.js | test-right-click-middle-click-messages.js::test_right_click_deletion_of_one_selected_thing
TEST-UNEXPECTED-FAIL | C:\slave\test\build\tests\mozmill\folder-display\test-right-click-middle-click-messages.js | test-right-click-middle-click-messages.js::test_right_click_deletion_of_many_selected_things
TEST-UNEXPECTED-FAIL | C:\slave\test\build\tests\mozmill\folder-display\test-savedsearch-reload-after-compact.js | test-savedsearch-reload-after-compact.js::test_setup_virtual_folder_and_compact
TEST-UNEXPECTED-FAIL | C:\slave\test\build\tests\mozmill\folder-display\test-selection.js | test-selection.js::test_selection_extension
TEST-UNEXPECTED-FAIL | C:\slave\test\build\tests\mozmill\folder-display\test-selection.js | test-selection.js::test_selection_last_message_deleted
TEST-UNEXPECTED-FAIL | C:\slave\test\build\tests\mozmill\message-window\test-commands.js | test-commands.js::test_copy_eml_message

Log says mostly:
INFO -    EXCEPTION: 'caller', 'callee', and 'arguments' properties may not be accessed on strict mode functions or the arguments objects for calls to them
INFO -      at: utils.js line 446

and also:
INFO -  JavaScript error: chrome://messenger/content/addressbook/abResultsPane.js, line 412: ReferenceError: goSetMenuValue is not defined
INFO -  JavaScript error: chrome://messenger/content/mailWindowOverlay.js, line 1377: ReferenceError: goSetMenuValue is not defined

So that looks like a JS change.

M-C last good: 4e429d313fd2e0f9202271ee8f3fb79881
M-C first bad: b7a651281314d6369658eeb58e3bb181cf

https://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=4e429d313fd2e0f9202271ee8f3fb79881&tochange=b7a651281314d6369658eeb58e3bb181cf

At least parts of this failure come from
27eaf846cbb5 Mark Banner — Bug 1422720 - Remove unused functions from globalOverlay.js (goSetMenuValue, goSetAccessKey, goOnEvent, setTooltipText). r=florian

https://hg.mozilla.org/mozilla-central/rev/27eaf846cbb5

So where would be the best place in C-C to adopt this code? goSetMenuValue, goSetAccessKey, goOnEvent are all used in C-C, setTooltipText doesn't appear to be used.

Create a messengerOverlay.js in common/ and include it wherever 
<script type="application/javascript" src="chrome://global/content/globalOverlay.js"/>
is included?
Flags: needinfo?(standard8)
Flags: needinfo?(acelists)
Looking at the remove code, what is 'top'?

function goSetMenuValue(aCommand, aLabelAttribute) {
  var commandNode = top.document.getElementById(aCommand);
  if (commandNode) {
    var label = commandNode.getAttribute(aLabelAttribute);
    if (label)
      commandNode.setAttribute("label", label);
  }
}
Bug 1422721 which blocks bug 1422720?
See discussion on bug 1422721 - utilityOverlay.js seemed the best candidate when I did a brief scan.
Flags: needinfo?(standard8)
There are some arguments.callee users in mozmill left. I know .callee was being eliminated in the past.
But is whole 'arguments' (function arguments, now window.arguments) forbidden now? What is the replacement?
Flags: needinfo?(acelists) → needinfo?(arai.unmht)
(In reply to Jorg K (GMT+1) [Very limited availability 18-22 Jan 2018] from comment #1)
> Looking at the remove code, what is 'top'?

Shorthand for window.top: https://developer.mozilla.org/docs/Web/API/Window/top
(In reply to :aceman from comment #4)
> There are some arguments.callee users in mozmill left. I know .callee was
> being eliminated in the past.
> But is whole 'arguments' (function arguments, now window.arguments)
> forbidden now? What is the replacement?

This may help - they're going obsolete. Not sure if they've been banned recently: https://eslint.org/docs/rules/no-caller

There will also be a bug around where we implemented no-caller for m-c.

You might also want to consider starting to enable (or disable rules) for mailnews & mail directories using the glob based configurations:

https://eslint.org/docs/user-guide/configuring#configuration-based-on-glob-patterns
https://searchfox.org/mozilla-central/rev/48cbb200aa027a0a379b6004b6196a167344b865/.eslintrc.js#20-42

(eslint bugs also tend to be good-first-bugs / mentored bugs)
(In reply to Takanori MATSUURA from comment #2)
> Bug 1422721 which blocks bug 1422720?
Yep, at least partly. See bug 1422721 comment #6.
Fixed by bug 1422721. Sorry about the noise.

Aceman may want to cancel his NI.
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → Thunderbird 59.0
So what was it about the "EXCEPTION: 'caller', 'callee', and 'arguments' " ? How is that solved by the goSet*() functions? Or is it just that the non-existence of those that triggered some codepath, that still uses caller/callee? But normally the path isn't taken so we do not see that error?
(In reply to :aceman from comment #9)
> So what was it about the "EXCEPTION: 'caller', 'callee', and 'arguments' " ?
> How is that solved by the goSet*() functions?
Jolly good question, but if you look at the latest push result, it's all green. You may follow up ;-)
(In reply to :aceman from comment #4)
> There are some arguments.callee users in mozmill left. I know .callee was
> being eliminated in the past.
> But is whole 'arguments' (function arguments, now window.arguments)
> forbidden now? What is the replacement?

see bug 1396933 comment #2.
also, there's no alternative.
Flags: needinfo?(arai.unmht)
(In reply to Tooru Fujisawa [:arai] from comment #11)
> (In reply to :aceman from comment #4)
> > There are some arguments.callee users in mozmill left. I know .callee was
> > being eliminated in the past.
> > But is whole 'arguments' (function arguments, now window.arguments)
> > forbidden now? What is the replacement?
> 
> see bug 1396933 comment #2.
> also, there's no alternative.

If we're talking about the mail/test/resources/mozmill/ cases, then I just took a look and they're all "arguments.callee.name", so they can just be replaced by the function name.

> > But is whole 'arguments' (function arguments, now window.arguments) forbidden now? What is the replacement?

Function arguments and window.arguments are two different things. The former is the arguments passed to the function, the latter is arguments passed to the window. I think window.arguments is a xul (or maybe gecko-ony) thing, but I can't find confirmation of that.

For function arguments, you could probably replace that with rest operators now:

https://developer.mozilla.org/docs/Web/JavaScript/Reference/Functions/rest_parameters
> > But is whole 'arguments' (function arguments, now window.arguments) forbidden now? What is the replacement?

Sorry, I typo-ed "NOT windows.argument".

Thanks for the hints standard8 and arai, I'll check if we can replace some of the occurrences. Sadly we are not on mozmill tip and will diverge our modified version of mozmill even more.
Blocks: 1431954
You need to log in before you can comment on or make changes to this bug.