Adapt automated test suite for the "one single SquashFS diff" upgrade scheme
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)
#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! :)
#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 :)