Closed Bug 503663 Opened 15 years ago Closed 15 years ago

Mozmill test failure at folder-display/test-deletion-with-multiple-displays.js

Categories

(Thunderbird :: Folder and Message Lists, defect)

x86
macOS
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED WORKSFORME

People

(Reporter: gkw, Unassigned)

Details

(Keywords: testcase)

Attachments

(3 files, 4 obsolete files)

Attached file console output
On Mac, with latest Shredder compiled opt build with debug symbols, and latest Mozmill, folder-display/test-deletion-with-multiple-displays.js fails, with attached console output.

Sid mentions delete might not be working.
Flags: blocking-thunderbird3?
(In reply to comment #1)
> Created an attachment (id=388071) [details]
> reduced testcase (between DDBEGIN and DDEND)

These are the key lines:

    tabFolder = be_in_folder(multipleDeletionFolder1);
    curMessage = select_click_row(2);
    select_shift_click_row(5);
    select_control_click_row(8);
    select_control_click_row(9);
    select_control_click_row(10);
    let expectedMessage = mc.dbView.getMsgHdrAt(6);
    assert_selected_and_displayed(expectedMessage);
Keywords: testcase
This should be more correct:

    tabFolder = be_in_folder(multipleDeletionFolder1);
    curMessage = select_click_row(2);
    select_shift_click_row(5);
    select_control_click_row(8);
    select_control_click_row(9);
    select_control_click_row(10);
    assert_selected_and_displayed(2, 3, 4, 5, 8, 9, 10);
    press_delete();
    let expectedMessage = mc.dbView.getMsgHdrAt(6);
    assert_selected_and_displayed(expectedMessage);
Attachment #388071 - Attachment is obsolete: true
Flags: in-testsuite?
Attached is the screengrab just after press_delete() function.

[00:42]    nth10sd> whew ~ hurray for Lithium
[00:42]       sid0> nth10sd: thanks! Lithium looks great
[00:43]    nth10sd> sid0: can you repro on your side, without Mozmill? (i.e. by hand)
[00:44]       sid0> nth10sd: nope :( multiple deletion works fine
[00:44]    nth10sd> sid0: then why does the mozmill test fail?
[00:44]       sid0> nth10sd: it doesn't fail for me
[00:44]       sid0> this really seems mac-specific, as I'm pretty sure asuth tests on Linux
[00:45]    nth10sd> sid0: so it seems press_delete() doesn't work on Mac
[00:45]       sid0> nth10sd: surprisingly it worked for the single message tests
[00:45]       sid0> that is what baffles me
[00:45]    nth10sd> sid0: is it under shared-modules?
[00:45]       sid0> yes, test-folder-display-helpers.js

Here's press_delete function, which probably indicates that it doesn't work for multiple message deletion per discussions, though I could be wrong.


/**
 * Pretend we are pressing the delete key, triggering message deletion of the
 *  selected messages.
 *
 * @param aController The controller in whose context to do this, defaults to
 *     |mc| if omitted.
 */
function press_delete(aController) {
  if (aController === undefined)
    aController = mc;
  // if something is loading, make sure it finishes loading...
  wait_for_message_display_completion(aController);
  plan_to_wait_for_folder_events("DeleteOrMoveMsgCompleted",
                                 "DeleteOrMoveMsgFailed");
  mc.threadTree.focus();
  aController.keypress(aController == mc ? mc.eThreadTree : null,
                       "VK_DELETE", {});
  wait_for_folder_events();
}
So deleting 1 msg works, deleting 2 msgs works, but deleting 3 or 4 msgs seemingly doesn't work. Tested on Mac Shredder in Leopard btw:

=====

TEST test_delete_multiple_messages_with_first_selected_message_open PASSED

    tabFolder = be_in_folder(multipleDeletionFolder1);
    curMessage = select_click_row(5);
    select_shift_click_row(5);
    assert_selected_and_displayed(5);
    let expectedMessage = mc.dbView.getMsgHdrAt(6);
    press_delete();
    assert_selected_and_displayed(expectedMessage);

=====

TEST test_delete_multiple_messages_with_first_selected_message_open PASSED

    tabFolder = be_in_folder(multipleDeletionFolder1);
    curMessage = select_click_row(4);
    select_shift_click_row(5);
    assert_selected_and_displayed(4, 5);
    let expectedMessage = mc.dbView.getMsgHdrAt(6);
    press_delete();
    assert_selected_and_displayed(expectedMessage);

=====

TEST test_delete_multiple_messages_with_first_selected_message_open FAILED
  EXCEPTION: Desired selection is: 6 but actual selection is: 3,4,5
    at: test-folder-display-helpers.js line 1022

    tabFolder = be_in_folder(multipleDeletionFolder1);
    curMessage = select_click_row(3);
    select_shift_click_row(5);
    assert_selected_and_displayed(3, 4, 5);
    let expectedMessage = mc.dbView.getMsgHdrAt(6);
    press_delete();
    assert_selected_and_displayed(expectedMessage);
Attachment #388073 - Attachment is obsolete: true
Attachment #388074 - Attachment is obsolete: true
I can reproduce the failure, but only after I upgraded my copy of mozmill to revision 531.  And it still fails after I revert my copy of mozmill back to 497.

I'm also on OSX 10.5.7.
(In reply to comment #8)
> I can reproduce the failure, but only after I upgraded my copy of mozmill to
> revision 531.  And it still fails after I revert my copy of mozmill back to
> 497.
> 
> I'm also on OSX 10.5.7.

I'm on mozrunner rev 109, jsbridge rev 116, mozmill rev 531, build is Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1.1pre) Gecko/20090711 Lightning/1.0pre Shredder/3.0b3pre

/me thinks there should be some way to synchronize mozmill, jsbridge and mozrunner versions in comm-central.
I just got it passing again by doing the following:
svn update -r {2009-06-22} in all three directories.
run python setup.py in all three, in the following order: mozmill, jsbridge, mozrunner.
Run the tests.

To be honest, I had to hit ^C a couple of times when it had looked like it was hung, but at the end, I saw:
TEST setupModule PASSED
TEST test_open_first_message_in_all_four_display_mechanisms PASSED
TEST test_delete_in_folder_tab PASSED
TEST test_delete_in_message_tab PASSED
TEST test_delete_in_message_window PASSED
TEST test_delete_last_message_closes_message_displays PASSED
TEST test_open_last_message_in_all_four_display_mechanisms PASSED
TEST test_delete_last_message_in_folder_tab PASSED
TEST test_delete_last_message_in_message_tab PASSED
TEST test_delete_last_message_in_message_window PASSED
TEST test_delete_one_before_message_in_folder_tab PASSED

Later,
Blake.
(In reply to comment #10)
> To be honest, I had to hit ^C a couple of times when it had looked like it was
> hung, but at the end, I saw:
> TEST setupModule PASSED

The python script is a bit limited in that it assumes the absence of a failure is a success.  If you have to control-c things, the test is not working.
I have all folder-display/ tests passing when running `make SOLO_TEST=folder-display mozmill-one` in the objdir. -> WFM then.
Status: NEW → RESOLVED
Closed: 15 years ago
Resolution: --- → WORKSFORME
Flags: in-testsuite?
Flags: blocking-thunderbird3?
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: