usb_upgrade.feature 5.84 KB
Newer Older
anonym's avatar
anonym committed
1
@product
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Feature: Installing Tails to a USB drive
  As a Tails user
  If I have an old versoin of Tails installed on a USB device
  and the USB device has a persistent partition
  I want to upgrade Tails on it
  and keep my persistent partition in the process

  Scenario: Installing an old version of Tails to a pristine USB drive
    Given a computer
    And the computer is set to boot from the old Tails DVD
    And the network is unplugged
    And I start the computer
    When the computer boots Tails
    And I log in to a new session
    And the Tails desktop is ready
    And all notifications have disappeared
    And I create a 4 GiB disk named "old"
    And I plug USB drive "old"
    And I "Clone & Install" Tails to USB drive "old"
    Then the running Tails is installed on USB drive "old"
    But there is no persistence partition on USB drive "old"
    And I unplug USB drive "old"

  Scenario: Creating a persistent partition with the old Tails USB installation
    Given a computer
    And I start Tails from USB drive "old" with network unplugged and I login
    Then Tails is running from USB drive "old"
29
    And I create a persistent partition
30
    And I take note of which persistence presets are available
anonym's avatar
anonym committed
31
    Then a Tails persistence partition exists on USB drive "old"
32
33
34
35
    And I shutdown Tails and wait for the computer to power off

  Scenario: Writing files to a read/write-enabled persistent partition with the old Tails USB installation
    Given a computer
36
    And I start Tails from USB drive "old" with network unplugged and I login with persistence enabled
37
38
39
40
41
42
43
44
45
    Then Tails is running from USB drive "old"
    And all persistence presets are enabled
    And I write some files expected to persist
    And all persistent filesystems have safe access rights
    And all persistence configuration files have safe access rights
    And all persistent directories from the old Tails version have safe access rights
    And I take note of which persistence presets are available
    And I shutdown Tails and wait for the computer to power off
    # XXX: how does guestfs work vs snapshots?
46
    Then only the expected files are present on the persistence partition on USB drive "old"
47
48

  Scenario: Upgrading an old Tails USB installation from a Tails DVD
49
    Given Tails has booted from DVD without network and logged in
50
51
    And I clone USB drive "old" to a new USB drive "to_upgrade"
    And I plug USB drive "to_upgrade"
52
    When I "Clone & Upgrade" Tails to USB drive "to_upgrade"
53
54
55
56
57
    Then the running Tails is installed on USB drive "to_upgrade"
    And I unplug USB drive "to_upgrade"

  Scenario: Booting Tails from a USB drive upgraded from DVD with persistence enabled
    Given a computer
58
    And I start Tails from USB drive "to_upgrade" with network unplugged and I login with persistence enabled
59
60
61
62
63
64
65
    Then all persistence presets from the old Tails version are enabled
    Then Tails is running from USB drive "to_upgrade"
    And the boot device has safe access rights
    And the expected persistent files created with the old Tails version are present in the filesystem
    And all persistent directories from the old Tails version have safe access rights

  Scenario: Upgrading an old Tails USB installation from another Tails USB drive
66
    Given Tails has booted without network from a USB drive without a persistent partition and stopped at Tails Greeter's login screen
anonym's avatar
anonym committed
67
68
    And I log in to a new session
    And Tails seems to have booted normally
69
70
    And I clone USB drive "old" to a new USB drive "to_upgrade"
    And I plug USB drive "to_upgrade"
71
    When I "Clone & Upgrade" Tails to USB drive "to_upgrade"
72
73
74
75
76
77
    Then the running Tails is installed on USB drive "to_upgrade"
    And I unplug USB drive "to_upgrade"
    And I unplug USB drive "current"

  Scenario: Booting Tails from a USB drive upgraded from USB with persistence enabled
    Given a computer
78
    And I start Tails from USB drive "to_upgrade" with network unplugged and I login with persistence enabled
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
    Then all persistence presets from the old Tails version are enabled
    And Tails is running from USB drive "to_upgrade"
    And the boot device has safe access rights
    And the expected persistent files created with the old Tails version are present in the filesystem
    And all persistent directories from the old Tails version have safe access rights

  Scenario: Upgrading an old Tails USB installation from an ISO image, running on the old version
    Given a computer
    And I clone USB drive "old" to a new USB drive "to_upgrade"
    And I setup a filesystem share containing the Tails ISO
    When I start Tails from USB drive "old" with network unplugged and I login
    And I plug USB drive "to_upgrade"
    And I do a "Upgrade from ISO" on USB drive "to_upgrade"
    Then the ISO's Tails is installed on USB drive "to_upgrade"
    And I unplug USB drive "to_upgrade"

  Scenario: Upgrading an old Tails USB installation from an ISO image, running on the new version
    Given a computer
    And I clone USB drive "old" to a new USB drive "to_upgrade"
    And I setup a filesystem share containing the Tails ISO
    And I start Tails from DVD with network unplugged and I login
    And I plug USB drive "to_upgrade"
    And I do a "Upgrade from ISO" on USB drive "to_upgrade"
    Then the ISO's Tails is installed on USB drive "to_upgrade"
    And I unplug USB drive "to_upgrade"

  Scenario: Booting a USB drive upgraded from ISO with persistence enabled
    Given a computer
107
    And I start Tails from USB drive "to_upgrade" with network unplugged and I login with persistence enabled
108
109
110
111
112
    Then all persistence presets from the old Tails version are enabled
    And Tails is running from USB drive "to_upgrade"
    And the boot device has safe access rights
    And the expected persistent files created with the old Tails version are present in the filesystem
    And all persistent directories from the old Tails version have safe access rights