Merge branch 'master' of ssh://webmasters.boum.org/~/wiki
[tails-test.git] / features / usb_install.feature
blobb40ca93bb02779d68f80d6f85b5f9276473288c5
1 @product @old_iso
2 Feature: Installing Tails to a USB drive, upgrading it, and using persistence
3   As a Tails user
4   I may want to install Tails to a USB drive
5   and upgrade it to new Tails versions
6   and use persistence
8   @keep_volumes
9   Scenario: Installing Tails to a pristine USB drive
10     Given a computer
11     And I start Tails from DVD with network unplugged and I login
12     And I create a new 4 GiB USB drive named "current"
13     And I plug USB drive "current"
14     And I "Clone & Install" Tails to USB drive "current"
15     Then the running Tails is installed on USB drive "current"
16     But there is no persistence partition on USB drive "current"
17     And I unplug USB drive "current"
19   @keep_volumes
20   Scenario: Booting Tails from a USB drive in UEFI mode
21     Given a computer
22     And the computer is set to boot in UEFI mode
23     When I start Tails from USB drive "current" with network unplugged and I login
24     Then the boot device has safe access rights
25     And Tails is running from USB drive "current"
26     And the boot device has safe access rights
27     And Tails has started in UEFI mode
29   @keep_volumes
30   Scenario: Booting Tails from a USB drive without a persistent partition and creating one
31     Given a computer
32     And I start Tails from USB drive "current" with network unplugged and I login
33     Then the boot device has safe access rights
34     And Tails is running from USB drive "current"
35     And the boot device has safe access rights
36     And there is no persistence partition on USB drive "current"
37     And I create a persistent partition with password "asdf"
38     Then a Tails persistence partition with password "asdf" exists on USB drive "current"
39     And I shutdown Tails and wait for the computer to power off
41   @keep_volumes
42   Scenario: Booting Tails from a USB drive with a disabled persistent partition
43     Given a computer
44     And I start Tails from USB drive "current" with network unplugged and I login
45     Then Tails is running from USB drive "current"
46     And the boot device has safe access rights
47     And persistence is disabled
48     But a Tails persistence partition with password "asdf" exists on USB drive "current"
50   @keep_volumes
51   Scenario: Persistent browser bookmarks
52     Given a computer
53     And the computer is set to boot from USB drive "current"
54     And the network is unplugged
55     When I start the computer
56     And the computer boots Tails
57     And Tails is running from USB drive "current"
58     And the boot device has safe access rights
59     And I enable persistence with password "asdf"
60     And I log in to a new session
61     And GNOME has started
62     And all notifications have disappeared
63     And persistence is enabled
64     And persistent filesystems have safe access rights
65     And persistence configuration files have safe access rights
66     And persistent directories have safe access rights
67     And I start the Tor Browser in offline mode
68     And the Tor Browser has started in offline mode
69     And I add a bookmark to eff.org in the Tor Browser
70     And I warm reboot the computer
71     And the computer reboots Tails
72     And I enable read-only persistence with password "asdf"
73     And I log in to a new session
74     And GNOME has started
75     And I start the Tor Browser in offline mode
76     And the Tor Browser has started in offline mode
77     Then the Tor Browser has a bookmark to eff.org
79   @keep_volumes
80   Scenario: Writing files to a read/write-enabled persistent partition
81     Given a computer
82     And I start Tails from USB drive "current" with network unplugged and I login with persistence password "asdf"
83     Then Tails is running from USB drive "current"
84     And the boot device has safe access rights
85     And persistence is enabled
86     And I write some files expected to persist
87     And persistent filesystems have safe access rights
88     And persistence configuration files have safe access rights
89     And persistent directories have safe access rights
90     And I shutdown Tails and wait for the computer to power off
91     Then only the expected files should persist on USB drive "current"
93   @keep_volumes
94   Scenario: Writing files to a read-only-enabled persistent partition
95     Given a computer
96     And I start Tails from USB drive "current" with network unplugged and I login with read-only persistence password "asdf"
97     Then Tails is running from USB drive "current"
98     And the boot device has safe access rights
99     And persistence is enabled
100     And I write some files not expected to persist
101     And I remove some files expected to persist
102     And I shutdown Tails and wait for the computer to power off
103     Then only the expected files should persist on USB drive "current"
105   @keep_volumes
106   Scenario: Deleting a Tails persistent partition
107     Given a computer
108     And I start Tails from USB drive "current" with network unplugged and I login
109     Then Tails is running from USB drive "current"
110     And the boot device has safe access rights
111     And persistence is disabled
112     But a Tails persistence partition with password "asdf" exists on USB drive "current"
113     And all notifications have disappeared
114     When I delete the persistent partition
115     Then there is no persistence partition on USB drive "current"
117   @keep_volumes
118   Scenario: Installing an old version of Tails to a pristine USB drive
119     Given a computer
120     And the computer is set to boot from the old Tails DVD
121     And the network is unplugged
122     And I start the computer
123     When the computer boots Tails
124     And I log in to a new session
125     And GNOME has started
126     And all notifications have disappeared
127     And I create a new 4 GiB USB drive named "old"
128     And I plug USB drive "old"
129     And I "Clone & Install" Tails to USB drive "old"
130     Then the running Tails is installed on USB drive "old"
131     But there is no persistence partition on USB drive "old"
132     And I unplug USB drive "old"
134   @keep_volumes
135   Scenario: Creating a persistent partition with the old Tails USB installation
136     Given a computer
137     And I start Tails from USB drive "old" with network unplugged and I login
138     Then Tails is running from USB drive "old"
139     And I create a persistent partition with password "asdf"
140     Then a Tails persistence partition with password "asdf" exists on USB drive "old"
141     And I shutdown Tails and wait for the computer to power off
143   @keep_volumes
144   Scenario: Writing files to a read/write-enabled persistent partition with the old Tails USB installation
145     Given a computer
146     And I start Tails from USB drive "old" with network unplugged and I login with persistence password "asdf"
147     Then Tails is running from USB drive "old"
148     And persistence is enabled
149     And I write some files expected to persist
150     And persistent filesystems have safe access rights
151     And persistence configuration files have safe access rights
152     And persistent directories have safe access rights
153     And I shutdown Tails and wait for the computer to power off
154     Then only the expected files should persist on USB drive "old"
156   @keep_volumes
157   Scenario: Upgrading an old Tails USB installation from a Tails DVD
158     Given a computer
159     And I clone USB drive "old" to a new USB drive "to_upgrade"
160     And I start Tails from DVD with network unplugged and I login
161     And I plug USB drive "to_upgrade"
162     And I "Clone & Upgrade" Tails to USB drive "to_upgrade"
163     Then the running Tails is installed on USB drive "to_upgrade"
164     And I unplug USB drive "to_upgrade"
166   @keep_volumes
167   Scenario: Booting Tails from a USB drive upgraded from DVD with persistence enabled
168     Given a computer
169     And I start Tails from USB drive "to_upgrade" with network unplugged and I login with persistence password "asdf"
170     Then Tails is running from USB drive "to_upgrade"
171     And the boot device has safe access rights
172     And the expected persistent files are present in the filesystem
173     And persistent directories have safe access rights
175   @keep_volumes
176   Scenario: Upgrading an old Tails USB installation from another Tails USB drive
177     Given a computer
178     And I clone USB drive "old" to a new USB drive "to_upgrade"
179     And I start Tails from USB drive "current" with network unplugged and I login
180     Then Tails is running from USB drive "current"
181     And the boot device has safe access rights
182     And I plug USB drive "to_upgrade"
183     And I "Clone & Upgrade" Tails to USB drive "to_upgrade"
184     Then the running Tails is installed on USB drive "to_upgrade"
185     And I unplug USB drive "to_upgrade"
186     And I unplug USB drive "current"
188   @keep_volumes
189   Scenario: Booting Tails from a USB drive upgraded from USB with persistence enabled
190     Given a computer
191     And I start Tails from USB drive "to_upgrade" with network unplugged and I login with persistence password "asdf"
192     Then persistence is enabled
193     And Tails is running from USB drive "to_upgrade"
194     And the boot device has safe access rights
195     And the expected persistent files are present in the filesystem
196     And persistent directories have safe access rights
198   @keep_volumes
199   Scenario: Upgrading an old Tails USB installation from an ISO image, running on the old version
200     Given a computer
201     And I clone USB drive "old" to a new USB drive "to_upgrade"
202     And I setup a filesystem share containing the Tails ISO
203     When I start Tails from USB drive "old" with network unplugged and I login
204     And I plug USB drive "to_upgrade"
205     And I do a "Upgrade from ISO" on USB drive "to_upgrade"
206     Then the ISO's Tails is installed on USB drive "to_upgrade"
207     And I unplug USB drive "to_upgrade"
209   @keep_volumes
210   Scenario: Upgrading an old Tails USB installation from an ISO image, running on the new version
211     Given a computer
212     And I clone USB drive "old" to a new USB drive "to_upgrade"
213     And I setup a filesystem share containing the Tails ISO
214     And I start Tails from DVD with network unplugged and I login
215     And I plug USB drive "to_upgrade"
216     And I do a "Upgrade from ISO" on USB drive "to_upgrade"
217     Then the ISO's Tails is installed on USB drive "to_upgrade"
218     And I unplug USB drive "to_upgrade"
220   Scenario: Booting a USB drive upgraded from ISO with persistence enabled
221     Given a computer
222     And I start Tails from USB drive "to_upgrade" with network unplugged and I login with persistence password "asdf"
223     Then persistence is enabled
224     And Tails is running from USB drive "to_upgrade"
225     And the boot device has safe access rights
226     And the expected persistent files are present in the filesystem
227     And persistent directories have safe access rights
229   @keep_volumes
230   Scenario: Installing Tails to a USB drive with an MBR partition table but no partitions
231     Given a computer
232     And I create a 4 GiB disk named "mbr"
233     And I create a msdos label on disk "mbr"
234     And I start Tails from DVD with network unplugged and I login
235     And I plug USB drive "mbr"
236     And I "Clone & Install" Tails to USB drive "mbr"
237     Then the running Tails is installed on USB drive "mbr"
238     But there is no persistence partition on USB drive "mbr"
239     And I unplug USB drive "mbr"
241   Scenario: Booting a USB drive that originally had an empty MBR partition table
242     Given a computer
243     And I start Tails from USB drive "mbr" with network unplugged and I login
244     Then Tails is running from USB drive "mbr"
245     And the boot device has safe access rights
246     And there is no persistence partition on USB drive "mbr"
248   @keep_volumes
249   Scenario: Cat:ing a Tails isohybrid to a USB drive and booting it
250     Given a computer
251     And I create a 4 GiB disk named "isohybrid"
252     And I cat an ISO hybrid of the Tails image to disk "isohybrid"
253     And I start Tails from USB drive "isohybrid" with network unplugged and I login
254     Then Tails is running from USB drive "isohybrid"
256   @keep_volumes
257   Scenario: Try upgrading but end up installing Tails to a USB drive containing a Tails isohybrid installation
258     Given a computer
259     And I start Tails from DVD with network unplugged and I login
260     And I plug USB drive "isohybrid"
261     And I try a "Clone & Upgrade" Tails to USB drive "isohybrid"
262     But I am suggested to do a "Clone & Install"
263     And I kill the process "liveusb-creator"
264     And I "Clone & Install" Tails to USB drive "isohybrid"
265     Then the running Tails is installed on USB drive "isohybrid"
266     But there is no persistence partition on USB drive "isohybrid"
267     And I unplug USB drive "isohybrid"
269   Scenario: Booting a USB drive that originally had a isohybrid installation
270     Given a computer
271     And I start Tails from USB drive "isohybrid" with network unplugged and I login
272     Then Tails is running from USB drive "isohybrid"
273     And the boot device has safe access rights
274     And there is no persistence partition on USB drive "isohybrid"