Project Number Date
test_Tails_ISO_stable 5955 15 Nov 2025, 08:35

Feature Report

Steps Scenarios Features
Feature Passed Failed Skipped Pending Undefined Total Passed Failed Total Duration Status
Upgrading an old Tails USB installation 75 3 9 0 0 87 4 3 7 18:29.899 Failed
Tags: @product
Feature Upgrading an old Tails USB installation
As a Tails user If I have an old version of Tails installed on a USB device and the USB device has a Persistent Storage I want to upgrade Tails on it and keep my Persistent Storage in the process
Tags: @product
2:23.606
Before features/support/hooks.rb:266 0.000
Before features/support/hooks.rb:273 0.006
Given a computer 0.171
And I create a 7200 MiB disk named "old" 0.047
And I plug USB drive "old" 1.042
And I write an old version of the Tails USB image to disk "old" 31.857
When I start Tails from USB drive "old" with network unplugged 1:46.055
Then the boot device has safe access rights 3.531
And Tails is running from USB drive "old" 0.356
And there is no persistence partition on USB drive "old" 0.062
And process "udev-watchdog" is running 0.048
And udev-watchdog is monitoring the correct device 0.243
And I unplug USB drive "old" 0.189
After features/support/hooks.rb:331 4.286
After features/support/hooks.rb:100 0.009
Tags: @product
3:16.068
Scenario Creating a persistent partition with the old Tails USB installation
Before features/support/hooks.rb:266 0.000
Before features/support/hooks.rb:273 0.004
Steps
Given a computer 0.163
And I start Tails from USB drive "old" with network unplugged and I login 1:33.111
Then Tails is running from USB drive "old" 0.711
And I create a persistent partition 1:16.138
And I take note of which tps features are available 25.942
Command failed: /usr/local/lib/tpscli get-features
error code: 1
stdout: 
stderr: Call failed: Connection timed out
Traceback (most recent call last):
  File "<string>", line 1, in <module>
    import sys, json; print(json.dumps(json.load(sys.stdin)['data'][0]))
                                       ~~~~~~~~~^^^^^^^^^^^
  File "/usr/lib/python3.13/json/__init__.py", line 293, in load
    return loads(fp.read(),
        cls=cls, object_hook=object_hook,
        parse_float=parse_float, parse_int=parse_int,
        parse_constant=parse_constant, object_pairs_hook=object_pairs_hook, **kw)
  File "/usr/lib/python3.13/json/__init__.py", line 346, in loads
    return _default_decoder.decode(s)
           ~~~~~~~~~~~~~~~~~~~~~~~^^^
  File "/usr/lib/python3.13/json/decoder.py", line 345, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
               ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/json/decoder.py", line 363, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
.
<false> is not true. (ExecutionFailedInVM)
./features/support/helpers/vm_helper.rb:496:in `rescue in execute_successfully'
./features/support/helpers/vm_helper.rb:493:in `execute_successfully'
./features/step_definitions/usb.rb:55:in `tps_features'
./features/step_definitions/usb.rb:1084:in `/^I take note of which tps features are available$/'
features/usb_upgrade.feature:39:in `And I take note of which tps features are available'
Then a Tails persistence partition exists on USB drive "old" 0.000
And I shutdown Tails and wait for the computer to power off 0.000
After features/support/hooks.rb:331 5.975

SCENARIO FAILED: 'Creating a persistent partition with the old Tails USB installation' (at time 01:31:24)

Boot log: https://jenkins.tails.boum.org/job/test_Tails_ISO_stable/5955/artifact/build-artifacts/01:31:24_Creating_a_persistent_partition_with_the_old_Tails_USB_installation.file_content_var_log_boot.log

Screenshot: https://jenkins.tails.boum.org/job/test_Tails_ISO_stable/5955/artifact/build-artifacts/01:31:24_Creating_a_persistent_partition_with_the_old_Tails_USB_installation.png

Video: https://jenkins.tails.boum.org/job/test_Tails_ISO_stable/5955/artifact/build-artifacts/01:31:24_Creating_a_persistent_partition_with_the_old_Tails_USB_installation.mkv

Systemd journal: https://jenkins.tails.boum.org/job/test_Tails_ISO_stable/5955/artifact/build-artifacts/01:31:24_Creating_a_persistent_partition_with_the_old_Tails_USB_installation.journal

After features/support/hooks.rb:100 0.009
Tags: @product
2:0.801
Scenario Writing files to a read/write-enabled persistent partition with the old Tails USB installation
Before features/support/hooks.rb:266 0.000
Before features/support/hooks.rb:273 0.006
Steps
Given a computer 0.178
And I start Tails from USB drive "old" with network unplugged and I login with persistence enabled 1:54.841
Then Tails is running from USB drive "old" 0.736
And all tps features are active 2.892
When I write some files expected to persist 1.533
# Verify that our baseline for the next scenarios is sane
And all persistent filesystems have safe access rights 0.178
And all persistence configuration files have safe access rights 0.439
And all persistent directories from the old Tails version have safe access rights 0.000
<nil> was expected to not be nil. (Test::Unit::AssertionFailedError)
./features/step_definitions/usb.rb:1009:in `/^all persistent directories(| from the old Tails version) have safe access rights$/'
features/usb_upgrade.feature:53:in `And all persistent directories from the old Tails version have safe access rights'
And I take note of which tps features are available 0.000
And I shutdown Tails and wait for the computer to power off 0.000
# XXX: how does guestfs work vs snapshots?
Then only the expected files are present on the persistence partition on USB drive "old" 0.000
After features/support/hooks.rb:331 7.758

SCENARIO FAILED: 'Writing files to a read/write-enabled persistent partition with the old Tails USB installation' (at time 01:33:31)

Boot log: https://jenkins.tails.boum.org/job/test_Tails_ISO_stable/5955/artifact/build-artifacts/01:33:31_Writing_files_to_a_read_write-enabled_persistent_partition_with_the_old_Tails_USB_installation.file_content_var_log_boot.log

Screenshot: https://jenkins.tails.boum.org/job/test_Tails_ISO_stable/5955/artifact/build-artifacts/01:33:31_Writing_files_to_a_read_write-enabled_persistent_partition_with_the_old_Tails_USB_installation.png

Video: https://jenkins.tails.boum.org/job/test_Tails_ISO_stable/5955/artifact/build-artifacts/01:33:31_Writing_files_to_a_read_write-enabled_persistent_partition_with_the_old_Tails_USB_installation.mkv

Systemd journal: https://jenkins.tails.boum.org/job/test_Tails_ISO_stable/5955/artifact/build-artifacts/01:33:31_Writing_files_to_a_read_write-enabled_persistent_partition_with_the_old_Tails_USB_installation.journal

After features/support/hooks.rb:100 0.009
Tags: @product
3:6.858
Before features/support/hooks.rb:266 0.000
Before features/support/hooks.rb:273 0.004
Given I have started Tails without network from a USB drive without a persistent partition and stopped at Tails Greeter's login screen 27.617
And I log in to a new session 17.272
And I clone USB drive "old" to a new USB drive "to_upgrade" 4.316
And I plug USB drive "to_upgrade" 3.243
When I upgrade Tails to USB drive "to_upgrade" by cloning 1:46.132
Then the running Tails is installed on USB drive "to_upgrade" 27.837
And I unplug USB drive "to_upgrade" 0.203
And I unplug USB drive "__internal" 0.234
After features/support/hooks.rb:331 3.834
After features/support/hooks.rb:100 0.000
Tags: @product
1:53.442
Scenario Booting Tails from a USB drive upgraded from USB with persistence enabled
Before features/support/hooks.rb:266 0.000
Before features/support/hooks.rb:273 0.005
Steps
Given a computer 0.170
And I start Tails from USB drive "to_upgrade" with network unplugged and I login with persistence enabled 1:51.966
Then all tps features from the old Tails version are active 1.304
undefined method `each' for nil (NoMethodError)
./features/step_definitions/usb.rb:755:in `/^all tps features(| from the old Tails version)(| but the first one) are active$/'
features/usb_upgrade.feature:74:in `Then all tps features from the old Tails version are active'
And Tails is running from USB drive "to_upgrade" 0.000
And the boot device has safe access rights 0.000
And the expected persistent files created with the old Tails version are present in the filesystem 0.000
And all persistent directories from the old Tails version have safe access rights 0.000
After features/support/hooks.rb:331 5.185

SCENARIO FAILED: 'Booting Tails from a USB drive upgraded from USB with persistence enabled' (at time 01:38:43)

Boot log: https://jenkins.tails.boum.org/job/test_Tails_ISO_stable/5955/artifact/build-artifacts/01:38:43_Booting_Tails_from_a_USB_drive_upgraded_from_USB_with_persistence_enabled.file_content_var_log_boot.log

Screenshot: https://jenkins.tails.boum.org/job/test_Tails_ISO_stable/5955/artifact/build-artifacts/01:38:43_Booting_Tails_from_a_USB_drive_upgraded_from_USB_with_persistence_enabled.png

Video: https://jenkins.tails.boum.org/job/test_Tails_ISO_stable/5955/artifact/build-artifacts/01:38:43_Booting_Tails_from_a_USB_drive_upgraded_from_USB_with_persistence_enabled.mkv

Systemd journal: https://jenkins.tails.boum.org/job/test_Tails_ISO_stable/5955/artifact/build-artifacts/01:38:43_Booting_Tails_from_a_USB_drive_upgraded_from_USB_with_persistence_enabled.journal

After features/support/hooks.rb:100 0.009
5:23.198
Before features/support/hooks.rb:266 0.000
Before features/support/hooks.rb:273 0.004
Given I have started Tails without network from a USB drive with a persistent partition enabled and logged in 16.210
And no SquashFS delta is installed 0.074
And Tails is fooled to think that version 6.0~testoverlayfs was initially installed 0.247
And Tails is fooled to think it is running version 6.0~testoverlayfs 0.053
And the file system changes introduced in version 6.2~testoverlayfs are not present 0.352
And the file system changes introduced in version 6.3~testoverlayfs are not present 0.603
When the network is plugged 0.051
And Tor is ready 14.358
Then I am proposed to install an incremental upgrade to version 6.2~testoverlayfs 2.104
And I can successfully install the incremental upgrade to version 6.2~testoverlayfs 8.074
Given I shutdown Tails and wait for the computer to power off 12.577
When I start Tails from USB drive "__internal" with network unplugged and I login with persistence enabled 1:49.744
Then Tails is running version 6.2~testoverlayfs 0.027
And all tps features are active 2.381
And the file system changes introduced in version 6.2~testoverlayfs are present 0.441
And only the 6.2~testoverlayfs SquashFS delta is installed 0.457
# Our IUK sets a release date that can make Tor bootstrapping impossible
Given Tails system time is magically synchronized 0.336
# We'll really install Tails_amd64_6.0~testoverlayfs_to_6.3~testoverlayfs.iuk
# but we need some way to force upgrading a second time in a row
# even if only the initially installed version is considered
And Tails is fooled to think that version 6.1~testoverlayfs was initially installed 0.331
When the network is plugged 0.064
And Tor is ready 13.459
Then I am proposed to install an incremental upgrade to version 6.3~testoverlayfs 0.638
And I can successfully install the incremental upgrade to version 6.3~testoverlayfs 5.670
Given I shutdown Tails and wait for the computer to power off 7.831
When I start Tails from USB drive "__internal" with network unplugged and I login with persistence enabled 1:44.497
Then Tails is running version 6.3~testoverlayfs 0.011
And all tps features are active 2.342
And the file system changes introduced in version 6.3~testoverlayfs are present 0.486
And only the 6.3~testoverlayfs SquashFS delta is installed 0.061
# Regression test for #17425 (i.e. the Upgrader would propose
# upgrading to the version that's already running)
Given Tails system time is magically synchronized 0.172
And Tails is fooled to think that version 6.1~testoverlayfs was initially installed 0.280
When the network is plugged 0.062
And Tor is ready 12.583
Then the Upgrader considers the system as up-to-date 0.267
# Regression test on #8158 (i.e. the IUK's filesystem is not part of the Unsafe Browser's chroot)
And I successfully start the Unsafe Browser 5.820
And the file system changes introduced in version 6.3~testoverlayfs are present in the Unsafe Browser's chroot 0.518
After features/support/hooks.rb:331 0.751
After features/support/hooks.rb:100 0.033
25.924
Before features/support/hooks.rb:266 0.000
Before features/support/hooks.rb:273 0.020
Given I have started Tails without network from a USB drive with a persistent partition enabled and logged in 11.499
And Tails is fooled to think that version 6.0~testoverlayfs was initially installed 0.258
And Tails is fooled to think it is running version 6.0~testoverlayfs 0.051
And the signing key used by the Upgrader is outdated 0.056
But a current signing key is available on our website 0.000
When the network is plugged 0.058
And Tor is ready 12.082
Then I am proposed to install an incremental upgrade to version 6.2~testoverlayfs 1.917
After features/support/hooks.rb:331 1.025
After features/support/hooks.rb:100 0.000