Feature #15286

Adapt automated test suite for the "one single SquashFS diff" upgrade scheme

Added by anonym 2018-02-05 16:06:19 . Updated 2020-01-05 16:09:28 .

Test suite
Target version:
Start date:
Due date:
% Done:


Feature Branch:
Type of work:

Affected tool:
Deliverable for:


We need scenarios for installing an IUK when:

  • no IUK is present
  • one IUK is present (make sure old one was removed)
  • more than one IUK is present (make sure old ones were removed)


Related issues

Blocks Tails - Feature #15283: Implement the "one single SquashFS diff" scheme in Tails Upgrader Resolved
Blocks Tails - Feature #16209: Core work: Foundations Team Confirmed


#1 Updated by anonym 2018-02-05 18:58:05

  • % Done changed from 0 to 20
  • Feature Branch set to feature/15281-1bigiuk

I’ve adapted the Gherkin scenarios (only) in the feature branch.

#2 Updated by anonym 2018-02-05 19:50:35

  • Status changed from Confirmed to In Progress

Applied in changeset commit:d7a84c53c8973dc2096c1436b022911d08d7a79a.

#3 Updated by intrigeri 2018-02-06 16:57:15

  • Subject changed from Adapt automated test suite for 1BigIUK to Adapt automated test suite for the "one single SquashFS diff" upgrade scheme

#4 Updated by intrigeri 2018-02-06 17:49:00

  • blocks Feature #15283: Implement the "one single SquashFS diff" scheme in Tails Upgrader added

#5 Updated by anonym 2018-02-07 16:57:00

  • Assignee changed from anonym to intrigeri
  • % Done changed from 20 to 50
  • QA Check set to Ready for QA
  • Feature Branch changed from feature/15281-1bigiuk to feature/15281-single-squashfs-diff

I believe I’ve implemented the required scenarios and changes to current scenarios/steps, but I couldn’t test these tests because the thing to be tested (Feature #15283) is no done yet => have fun with TDD! :)

#6 Updated by intrigeri 2018-02-13 14:56:16

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

#7 Updated by intrigeri 2018-02-16 10:39:03

  • blocks Feature #15282: Add a prompt right before applying an IUK added

#8 Updated by intrigeri 2018-02-18 08:31:20

My understanding is that the tests you wrote about deleting old SquashFS diffs currently mostly replicate the tests we already have in iuk.git, but they don’t exercise the part that I’m actually concerned about, i.e. the behaviour that can only be exercised via full-blown integration testing: deleting old SquashFS diffs that are in use by the running system. I’m assuming that when we do “Tails is fooled to think a 2.1~test squashfs delta is installed”, no such SquashFS delta is really union-mounted.

And when you’ll implement that, as I had requested in commit:2763439ddf07cf0fb4eec091a40135e7dda1a67f on the (now gone) feature/11131-endless-upgrade branch, I’d like us to test that any old SquashFS diff is gone after shutting down the system: while we’re using them we can merely unlink them but we cannot be sure they have really been deleted. Depending on fine details about our shutdown procedure (and in particular the crazy things we do for the memory erasure feature), such deletion might be effectively applied to the filesystem before it’s unmounted cleanly, or things can go wrong, I dunno and I really would like to know and have a safeguard in case we ever break it (e.g. when migrating to overlayfs, which will force me to rewrite great parts of our shutdown procedure).

Minor nitpicking: please s/squashfs/SquashFS/ in various places :)

#9 Updated by intrigeri 2018-02-24 14:47:38

The test suite needs to be updated wrt. Feature #15282: FindFailed: TailsUpgraderOkButton.png when the upgrader tells the IUK download is complete.

#10 Updated by intrigeri 2018-03-02 08:22:35

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

#11 Updated by intrigeri 2018-03-28 09:22:12

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

#12 Updated by intrigeri 2018-05-25 13:28:22

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

#13 Updated by intrigeri 2018-06-28 20:58:32

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

#14 Updated by intrigeri 2018-09-12 06:29:10

#15 Updated by intrigeri 2018-09-12 06:30:12

  • Assignee changed from anonym to CyrilBrulebois

As per summit meeting notes.

#16 Updated by intrigeri 2018-12-03 15:50:21

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

#17 Updated by intrigeri 2018-12-08 17:59:42

  • blocked by deleted (Feature #15282: Add a prompt right before applying an IUK)

#18 Updated by intrigeri 2019-01-25 17:06:33

  • Target version changed from Tails_3.13 to 2019

#19 Updated by intrigeri 2019-03-20 14:50:16

#20 Updated by intrigeri 2019-03-20 14:50:25

  • blocked by deleted (Feature #13241: Core work: Test suite maintenance)

#21 Updated by intrigeri 2019-04-05 16:08:01

  • Assignee deleted (CyrilBrulebois)

#22 Updated by intrigeri 2019-11-27 08:38:41

  • Target version changed from 2019 to Tails_4.2

#23 Updated by intrigeri 2019-12-01 11:02:34

  • Assignee set to intrigeri

#24 Updated by intrigeri 2019-12-01 11:15:28

  • Priority changed from Normal to High

#25 Updated by intrigeri 2019-12-24 12:20:37

  • Status changed from In Progress to Needs Validation

#26 Updated by intrigeri 2019-12-25 10:18:53

  • Assignee changed from intrigeri to segfault

#27 Updated by segfault 2020-01-05 16:09:29

  • Status changed from Needs Validation to Resolved
  • % Done changed from 50 to 100

Applied in changeset commit:tails|e5e98537e7415b7c6a2c5e7ab1beb4f656333814.