Feature #8008

Optimize tests that need a persistent volume

Added by intrigeri 2014-10-05 10:30:58 . Updated 2015-11-03 11:31:21 .

Status:
Resolved
Priority:
Normal
Assignee:
Category:
Test suite
Target version:
Start date:
2014-10-05
Due date:
2016-01-15
% Done:

100%

Feature Branch:
test/6094-improved-snapshots
Type of work:
Code
Blueprint:

Starter:
Affected tool:
Deliverable for:
268

Description

In the feature/apparmor branch, I added three features that need to install Tails, set up persistence, (optionally) copy files to persistence and then do stuff in the system booted from this virtual USB drive with persistence enabled. The setup process takes a long time, and adding more and more similar tests will slow down the test suite even more. We need to find a way to optimize this.


Subtasks


Related issues

Related to Tails - Feature #8004: Basic AppArmor support Resolved 2014-10-05
Related to Tails - Feature #6094: Test suite: background snapshot improvements Resolved 2015-10-15

History

#1 Updated by intrigeri 2014-10-05 10:35:21

  • Assignee set to anonym
  • Target version set to Sustainability_M1
  • QA Check set to Info Needed

Flagging for 2.0, as if we don’t fix this somehow, our test suite will become very hard to run.

anonym, any idea? I’m fine with implementing it, but your deep knowledge of the test suite will likely make you waaay more efficient than me to find a clever solution to this problem. What I’ve thought of:

  • Move all these tests to a single feature, and set up the needed USB drive only once; the problem is that then, we have tests grouped this way for obscure technical reason, instead of having e.g. all Pidgin tests in pidgin.feature. This is the easiest way forward, but it feels wrong. Worst case, I guess I’ll just do that.
  • Find a way to set up this storage volume in some early background/before-like scenario, and preserve it so that it can be re-used by all following features. I’m not sure this would be a great design either, and I suspect the implementation would make the test suite way harder to wrap one’s mind around.

#2 Updated by intrigeri 2014-10-06 05:27:08

#3 Updated by anonym 2014-10-22 16:11:54

  • related to Feature #6094: Test suite: background snapshot improvements added

#4 Updated by anonym 2014-10-22 16:14:12

  • Status changed from Confirmed to In Progress
  • QA Check changed from Info Needed to Dev Needed
  • Type of work changed from Code to Research

intrigeri wrote:
> Flagging for 2.0, as if we don’t fix this somehow, our test suite will become very hard to run.

Agreed. It’s already showing…

> anonym, any idea? I’m fine with implementing it, but your deep knowledge of the test suite will likely make you waaay more efficient than me to find a clever solution to this problem.

I have actually already started some early investigations of this. I’d be happy to take it => updated ticket accordingly.

> What I’ve thought of:
>
> * Move all these tests to a single feature, and set up the needed USB drive only once; the problem is that then, we have tests grouped this way for obscure technical reason, instead of having e.g. all Pidgin tests in pidgin.feature. This is the easiest way forward, but it feels wrong. Worst case, I guess I’ll just do that.

Worst case, yes.

> * Find a way to set up this storage volume in some early background/before-like scenario, and preserve it so that it can be re-used by all following features. I’m not sure this would be a great design either, and I suspect the implementation would make the test suite way harder to wrap one’s mind around.

I’ve posted some thoughts about this into Feature #6094. Indeed, I believe whatever we come up with will make the test suite very hard to understand.

#5 Updated by anonym 2015-01-09 13:44:41

  • Target version changed from Sustainability_M1 to Tails_1.8

#6 Updated by intrigeri 2015-01-09 16:34:18

A strategy could be to implement the solution described in Feature #6094 for memory snapshots first, and once happy with it, extend it to also support storage snapshots to address the problem this ticket is about.

#7 Updated by anonym 2015-01-10 17:16:20

  • blocks #8668 added

#8 Updated by anonym 2015-04-14 13:57:15

  • Private changed from No to Yes

#9 Updated by anonym 2015-04-14 14:01:28

  • Private changed from Yes to No

#15 Updated by intrigeri 2015-08-02 11:02:38

  • Due date set to 2016-01-15

#16 Updated by anonym 2015-08-13 11:45:28

  • Target version changed from Tails_1.8 to Tails_1.6
  • % Done changed from 0 to 20
  • Feature Branch set to test/6094-improved-snapshots
  • Type of work changed from Research to Code

#17 Updated by anonym 2015-09-08 06:54:42

  • Assignee changed from anonym to kytv
  • % Done changed from 20 to 50
  • QA Check changed from Dev Needed to Ready for QA

Clearly, this ticket is solved by the branch. I mostly reassign this to get an honest view of my list of tickets. :)

#18 Updated by anonym 2015-09-16 16:45:45

  • Target version changed from Tails_1.6 to Tails_1.7

#19 Updated by kytv 2015-10-06 05:21:53

  • Assignee changed from kytv to intrigeri

Assigning to intrigeri since this is taken care of by Feature #6094.

#20 Updated by intrigeri 2015-10-14 00:06:27

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

#21 Updated by anonym 2015-11-03 11:31:21

  • Status changed from Fix committed to Resolved