Project

General

Profile

Feature #8008

Optimize tests that need a persistent volume

Added by intrigeri about 5 years ago. Updated almost 4 years ago.

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

100%

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

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.


Related issues

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

History

#1 Updated by intrigeri about 5 years ago

  • 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 about 5 years ago

#3 Updated by anonym almost 5 years ago

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

#4 Updated by anonym almost 5 years ago

  • 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 #6094. Indeed, I believe whatever we come up with will make the test suite very hard to understand.

#5 Updated by anonym almost 5 years ago

  • Target version changed from Sustainability_M1 to Tails_1.8

#6 Updated by intrigeri almost 5 years ago

A strategy could be to implement the solution described in #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.

#8 Updated by anonym over 4 years ago

  • Private changed from No to Yes

#9 Updated by anonym over 4 years ago

  • Private changed from Yes to No

#15 Updated by intrigeri about 4 years ago

  • Due date set to 01/15/2016

#16 Updated by anonym about 4 years ago

  • 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 about 4 years ago

  • 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 about 4 years ago

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

#19 Updated by kytv about 4 years ago

  • Assignee changed from kytv to intrigeri

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

#20 Updated by intrigeri about 4 years ago

  • 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 almost 4 years ago

  • Status changed from Fix committed to Resolved

Also available in: Atom PDF