Project

General

Profile

Bug #12131

Bug #10288: Fix newly identified issues to make our test suite more robust and faster

Step 'I double-click the Report an Error launcher on the desktop' sometimes fails

Added by anonym over 2 years ago. Updated about 2 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
-
Category:
Test suite
Target version:
Start date:
01/11/2017
Due date:
% Done:

100%

QA Check:
Pass
Feature Branch:
test/12131-retry-report-an-error
Type of work:
Code
Blueprint:
Starter:
Affected tool:

Description

The double click loses one click, so the launcher is only selected, not opened, so we fail in the next subsequent step by timing out waiting for the browser to start.

Associated revisions

Revision e2cf2896 (diff)
Added by anonym over 2 years ago

Test suite: add retry magic for lost click.

Will-fix: #12131

History

#1 Updated by anonym over 2 years ago

  • Subject changed from Step äI double-click the Report an Error launcher on the desktop' sometimes fails to Step 'I double-click the Report an Error launcher on the desktop' sometimes fails

#2 Updated by anonym over 2 years ago

  • Description updated (diff)

#3 Updated by anonym over 2 years ago

Here's an example, if useful: https://jenkins.tails.boum.org/job/test_Tails_ISO_devel/675/

Relevant part of the log:

[...]
[log] DOUBLE CLICK on (89,174)
    When I double-click the Report an Error launcher on the desktop                                           # features/step_definitions/checks.rb:38
[... dogtail stuff looping ...]
application = tree.root.application('"'"'Firefox'"'"')
application.child('"'"'Tails - Hilfe & Support - Tor-Browser'"'"', roleName='"'"'frame'"'"')' >> '/tmp/tmp.OUcsE0TyWt'
call returned: [3043, 0, "", ""]
calling as amnesia: /usr/bin/python '/tmp/tmp.OUcsE0TyWt'
    Then the support documentation page opens in Tor Browser                                                  # features/step_definitions/checks.rb:131
      try_for() timeout expired
      Last ignored exception was: ExecutionFailedInVM: Command failed: /usr/bin/python '/tmp/tmp.dbgDo9Cwqm'
      error code: 1
      stderr: .
      <false> is not true. (Timeout::Error)
[...]

A lost click downgrading the double-click to a single click indeed seems like the cause.

#4 Updated by intrigeri over 2 years ago

  • Parent task set to #10288

#5 Updated by anonym over 2 years ago

  • Status changed from Confirmed to In Progress

#6 Updated by anonym over 2 years ago

  • Assignee set to anonym
  • Target version set to Tails_2.11
  • % Done changed from 0 to 30
  • QA Check set to Dev Needed
  • Feature Branch set to test/12131-retry-report-an-error

Instead of @fragile-tagging I tried for a fix. Given how frequently these scenarios fail, I say we merge it if we get five Jenkins runs without this failure.

#7 Updated by anonym about 2 years ago

  • Status changed from In Progress to Fix committed
  • Assignee changed from anonym to intrigeri
  • % Done changed from 30 to 100
  • QA Check changed from Dev Needed to Ready for QA

So apparently I had ff-merged test/12131-retry-report-an-error into stable when I forked off feature/12272-vagrant-offline-builds from it, and the latter branch was just merged, so this ticket's branch was merged by mistake. So, hopefully this branch is fine, which should immediately improve all test runs on Jenkins.

intrigeri, can you do a post-merge review of test/12131-retry-report-an-error? That is commits:
  • e2cf2896db Test suite: add retry magic for lost click.
  • a7fb05c152 Test suite: Dogtailify step.
  • 3bc868968f Test suite: make force_new_tor_circuit() respect NEWNYM rate limiting.

#8 Updated by intrigeri about 2 years ago

  • Status changed from Fix committed to In Progress
  • Assignee changed from intrigeri to anonym
  • % Done changed from 100 to 90
  • QA Check changed from Ready for QA to Dev Needed

Looks good, except the rate variable introduced in 3bc868968f47c414bdb3e32d09df675fea5766b8 is not really a rate, right? The larger it gets, the slower newnyms are issued. Can you please find a better name for it?

#9 Updated by anonym about 2 years ago

  • Assignee changed from anonym to intrigeri
  • QA Check changed from Dev Needed to Ready for QA

I did s/rate/interval/ in f70dca933a. Good enough?

#10 Updated by intrigeri about 2 years ago

  • Status changed from In Progress to Fix committed
  • Assignee deleted (intrigeri)
  • % Done changed from 90 to 100
  • QA Check changed from Ready for QA to Pass

Yes!

#11 Updated by anonym about 2 years ago

  • Status changed from Fix committed to Resolved

Also available in: Atom PDF