Project

General

Profile

Feature #14471

Feature #14468: Add VeraCrypt support to Tails

Write tests for VeraCrypt support in GNOME Disks

Added by segfault over 2 years ago. Updated 12 months ago.

Status:
Resolved
Priority:
Elevated
Assignee:
-
Category:
Test suite
Target version:
Start date:
08/28/2017
Due date:
% Done:

100%

Feature Branch:
test/14471-veracrypt
Type of work:
Code
Blueprint:
Starter:
Affected tool:

Description

This is part of "A.3 Write automated tests".


Related issues

Related to Tails - Feature #15946: Extend VeraCrypt automated tests with PIM Resolved 09/12/2018
Blocked by Tails - Feature #14469: Write Gherkin scenarios for VeraCrypt automated tests Resolved 08/28/2017
Blocked by Tails - Feature #15238: Iteration 1: Write tests for unlocking VeraCrypt partitions in GNOME Resolved 01/25/2018
Blocked by Tails - Feature #15239: Iteration 2: Write tests for unlocking VeraCrypt file containers in GNOME Resolved 01/25/2018

Associated revisions

Revision dba658aa (diff)
Added by intrigeri about 1 year ago

VeraCrypt test suite (USB drive): implement GNOME Disks scenarios (refs: #14471, #15238).

Revision b04c73c8 (diff)
Added by intrigeri about 1 year ago

VeraCrypt test suite (USB drive): remove useless scenario (refs: #14471, #15238).

It's essentially a subset of "Scenario: Use GNOME Disks to unlock a USB drive
that has a basic VeraCrypt volume with a keyfile". It was useful for the initial
development but not worse increasing the development feedback loop.

Revision d9e74d95 (diff)
Added by intrigeri about 1 year ago

VeraCrypt test suite: restore robustness improvement (refs: #14471, #15239).

Sadly, moving "all notifications have disappeared" here was not sufficient.

Revision 1e02525f (diff)
Added by intrigeri about 1 year ago

VeraCrypt test suite (file container): implement GNOME Disks scenarios (refs: #14471, #15239).

Let's rename the file container to .img in order to simplify these tests.

Revision d8efb0de (diff)
Added by intrigeri about 1 year ago

VeraCrypt test suite: robustness improvement (refs: #14471, #15239).

5 seconds was not sufficient during the last run on lizard.
The failure screenshot shows the expected loop device row
in the UI so presumably retrying a bit longer should fix this.

Revision 300ee4bf (diff)
Added by intrigeri about 1 year ago

VeraCrypt test suite: robustness improvement (refs: #14471).

Clicking on this "Unlock" button is not robust enough,
let's fallback to using the keyboard shortcut.

Revision a7e4ec9f (diff)
Added by intrigeri about 1 year ago

VeraCrypt test suite: really restore robustness improvement (refs: #14471).

Fixup on d9e74d95a4015b5e5f12f47faf1b37b5c8bb13b6, that re-added the needed
sleep time… after the action that should wait.

Revision c9bd6db6 (diff)
Added by intrigeri about 1 year ago

VeraCrypt test suite: robustness improvement (refs: #14471).

Wait for the keyfile dialog to disappear before acting on its parent
dialog. Wait for the "Hidden Volume" label to appear on screen
before clicking it.

Revision ec74ae39 (diff)
Added by intrigeri about 1 year ago

VeraCrypt test suite (file container): drop the .img extension (refs: #14471, #15239)

In commit 1e02525f0d39ef344df4676f601dc891aaadff4d I've renamed this volume to
.img in order to simplify these tests, but since then I've implemented disabling
the "*.img, *.iso" filter in GNOME Disks ⇒ we can now test something closer to
what our documentation instructs users to do.

Revision 193ec621 (diff)
Added by intrigeri about 1 year ago

VeraCrypt test suite: robustness improvement (refs: #14471)

Sleeping 2 seconds is not always enough. Let's hope 5 seconds is reliable.

Revision e009b1c6 (diff)
Added by intrigeri about 1 year ago

VeraCrypt test suite: robustness improvement (refs: #14471)

Deal with Dogtail clicking a widget that's not visible on screen yet.

Revision ff00e311 (diff)
Added by intrigeri about 1 year ago

VeraCrypt test suite: robustness improvement (refs: #14471)

Deal with Dogtail clicking a widget that's not visible on screen yet, again.

Revision f336487b (diff)
Added by intrigeri about 1 year ago

VeraCrypt test suite (file container): robustness improvement (refs: #14471, #15239).

The symptom this commit tries to solve is: shortly after clicking "Attach Disk
Image…" with Sikuli, the Disks window is minimized. I'm not sure whether it's
a bug in Dogtail or a (quite common) result of mixing up Dogtail and Sikuli.

Revision 235e407a (diff)
Added by intrigeri about 1 year ago

VeraCrypt test suite (file container): robustness improvement (refs: #14471, #15239).

When unlocking file containers, sometimes Dogtail would not find
the "Mount selected partition" button. This is not surprising
as I generally cannot see it when performing the exact same actions
by hand, not sure why it actually works when unlocking partitions.

Anyway, the logical thing to do is to focus the "Filesystem\n107 MB FAT"
item. It is not accessible to Dogtail so let's navigate to it with
the keyboard, which avoids having to introduce another picture
(that would need to vary depending on basic/hidden volumes because their
filesystem size differ).

Revision d01d4b2b
Added by intrigeri about 1 year ago

Merge branch 'test/14471-veracrypt' into stable (Fix-committed: #14471, #15238, #15239)

History

#1 Updated by intrigeri over 2 years ago

  • Category set to Test suite
  • Type of work changed from Test to Code

#2 Updated by intrigeri about 2 years ago

  • Blocked by Feature #14469: Write Gherkin scenarios for VeraCrypt automated tests added

#3 Updated by intrigeri about 2 years ago

  • Description updated (diff)

#4 Updated by segfault almost 2 years ago

  • Target version changed from Tails_3.7 to Tails_3.9

Will be resolved by #15238, #15239, and #15240.

#5 Updated by anonym almost 2 years ago

  • Blocked by deleted (Feature #14469: Write Gherkin scenarios for VeraCrypt automated tests)

#6 Updated by anonym almost 2 years ago

  • Blocked by Feature #14469: Write Gherkin scenarios for VeraCrypt automated tests added

#7 Updated by intrigeri over 1 year ago

  • Blocked by Feature #15238: Iteration 1: Write tests for unlocking VeraCrypt partitions in GNOME added

#8 Updated by intrigeri over 1 year ago

  • Blocked by Feature #15239: Iteration 2: Write tests for unlocking VeraCrypt file containers in GNOME added

#9 Updated by intrigeri over 1 year ago

  • Parent task changed from #11684 to #14468

Reparenting as this is not part of A.5 which is done.

#10 Updated by intrigeri over 1 year ago

  • Assignee changed from anonym to intrigeri
  • Target version changed from Tails_3.9 to Tails_3.10.1

#12 Updated by intrigeri over 1 year ago

  • Priority changed from Normal to Elevated

#13 Updated by intrigeri about 1 year ago

  • Feature Branch set to test/14471-veracrypt

#14 Updated by intrigeri about 1 year ago

  • Related to Feature #15946: Extend VeraCrypt automated tests with PIM added

#15 Updated by intrigeri about 1 year ago

  • Status changed from Confirmed to In Progress
  • % Done changed from 0 to 20

Done for USB sticks, let's see what Jenkins thinks.

#16 Updated by intrigeri about 1 year ago

  • % Done changed from 20 to 30
  • QA Check set to Ready for QA

Done for file containers as well.

#17 Updated by intrigeri about 1 year ago

  • % Done changed from 30 to 50

All this now works very nicely locally, let's see how it fares on Jenkins.

#18 Updated by intrigeri about 1 year ago

  • Assignee changed from intrigeri to CyrilBrulebois

#19 Updated by intrigeri about 1 year ago

Note: please take the Gherkin (features/veracrypt.feature) as granted, as it'll be reviewed by segfault on #14469.

#20 Updated by intrigeri about 1 year ago

FTR segfault deemed the Gherkin good enough. Bonus points if we can merge this by the end of the month (when the sponsor contract ends).

#21 Updated by intrigeri about 1 year ago

  • Target version changed from Tails_3.10.1 to Tails_3.11

#22 Updated by CyrilBrulebois about 1 year ago

I'm no Gherkin expert (yet?), but that looks reasonable to me as well.

It seems my setup might not meet the exact requirements for running the test suite at the moment, so I'm not able to double check it runs smoothly locally. (I'll try to get the test suite up and running soon though.)

#23 Updated by intrigeri about 1 year ago

The tests pass on Jenkins: https://jenkins.tails.boum.org/view/Tails_ISO/job/test_Tails_ISO_test-14471-veracrypt/ (for example, https://jenkins.tails.boum.org/view/Tails_ISO/job/test_Tails_ISO_test-14471-veracrypt/1/cucumberTestReport/using-veracrypt-encrypted-volumes/).

Thanks for the initial review. Can you please clarify whether you've completed the code review and if yes, whether it's good enough for merging in your opinion?

#24 Updated by CyrilBrulebois about 1 year ago

  • QA Check changed from Ready for QA to Pass

Yes, I've checked the entire patch series, and merging looks reasonable. Setting QA Check: Pass accordingly.

#25 Updated by intrigeri about 1 year ago

  • Status changed from In Progress to 11
  • % Done changed from 50 to 100

#26 Updated by intrigeri about 1 year ago

  • Assignee deleted (CyrilBrulebois)

Thanks, merged! Will email tails-dev@ about the setup changes.

#27 Updated by CyrilBrulebois 12 months ago

  • Status changed from 11 to Resolved

Also available in: Atom PDF