Calendar: add FT sprint
[tails/test.git] / features / usb_install.feature
blobdea952af272a7aa1b49de012561ca6a2b92d588a
1 @product
2 Feature: Installing Tails to a USB drive
3   As a Tails user
4   I want to install Tails to a suitable USB drive
6   Scenario: Try installing Tails to a too small USB drive without partition table
7     Given I have started Tails from DVD without network and logged in
8     And I temporarily create a 4500 MiB disk named "too-small-device"
9     And I start Tails Installer
10     But a suitable USB device is not found
11     And no USB drive is selected
12     When I plug USB drive "too-small-device"
13     Then I am told by Tails Installer that the destination device "is too small"
14     And no USB drive is selected
15     When I unplug USB drive "too-small-device"
16     And I temporarily create a 7200 MiB disk named "big-enough"
17     And I plug USB drive "big-enough"
18     Then the "big-enough" USB drive is selected
20   Scenario: Try installing Tails to a too small USB drive with GPT and a FAT partition
21     Given I have started Tails from DVD without network and logged in
22     And I temporarily create a 4 GiB disk named "gptfat"
23     And I create a gpt partition with a vfat filesystem on disk "gptfat"
24     And I plug USB drive "gptfat"
25     When I start Tails Installer
26     Then I am told by Tails Installer that the destination device "is too small"
28   Scenario: Detecting when a target USB drive is inserted or removed
29     Given I have started Tails from DVD without network and logged in
30     And I temporarily create a 7200 MiB disk named "temp"
31     And I start Tails Installer
32     But a suitable USB device is not found
33     When I plug USB drive "temp"
34     Then the "temp" USB drive is selected
35     When I unplug USB drive "temp"
36     Then a suitable USB device is not found
38   Scenario: Installing Tails with Tails Installer to a used USB drive
39     Given I have started Tails from DVD without network and logged in
40     And I temporarily create a 7200 MiB disk named "install"
41     And I create a gpt partition with a vfat filesystem on disk "install"
42     And I plug USB drive "install"
43     And I install Tails to USB drive "install" by cloning
44     Then the running Tails is installed on USB drive "install"
45     But there is no persistence partition on USB drive "install"
47   Scenario: Installing Tails with Tails Installer to a pristine USB drive
48     Given I have started Tails from DVD without network and logged in
49     And I temporarily create a 7200 MiB disk named "install"
50     And I plug USB drive "install"
51     And I install Tails to USB drive "install" by cloning
52     Then the running Tails is installed on USB drive "install"
53     But there is no persistence partition on USB drive "install"
55   Scenario: Re-installing Tails over an existing USB installation with a persistent partition
56     # We reach this first checkpoint only to ensure that the ' __internal' disk has reached the state (Tails installed + persistent partition set up) we need before we clone it below.
57     # This first part is done without Tails Installer (install from Tails USB image)
58     # Note: the "__internal" disk will keep its state across scenarios
59     # and features until one of its snapshots is restored.
60     Given I have started Tails without network from a USB drive with a persistent partition enabled and logged in
61     Given I have started Tails from DVD without network and logged in
62     And I clone USB drive "__internal" to a temporary USB drive "install"
63     And I plug USB drive "install"
64     # This second part is done with Tails Installer, that's what this scenario is about
65     When I reinstall Tails to USB drive "install" by cloning
66     Then the running Tails is installed on USB drive "install"
67     And there is no persistence partition on USB drive "install"
69   Scenario: Booting Tails from a USB drive without a persistent partition and creating one
70     Given I have started Tails without network from a USB drive without a persistent partition and stopped at Tails Greeter's login screen
71     And I log in to a new session
72     When I create a persistent partition
73     Then a Tails persistence partition exists on USB drive "__internal"
75   Scenario: Booting Tails from a USB drive without a persistent partition
76     Given I have started Tails without network from a USB drive without a persistent partition and stopped at Tails Greeter's login screen
77     When I log in to a new session
78     And the persistent Tor Browser directory does not exist
79     And there is no persistence partition on USB drive "__internal"
81   @uefi
82   Scenario: Booting Tails from a USB drive in UEFI mode
83     Given I have started Tails without network from a USB drive without a persistent partition and stopped at Tails Greeter's login screen
84     And I power off the computer
85     And the computer is set to boot in UEFI mode
86     When I start Tails from USB drive "__internal" with network unplugged and I login
87     Then Tails is running from USB drive "__internal"
88     And the boot device has safe access rights
89     And Tails has started in UEFI mode
91   Scenario: Installing Tails with GNOME Disks from a USB image
92     Given I have started Tails from DVD without network and logged in
93     And I plug and mount a USB drive containing a Tails USB image
94     And I create a 7200 MiB disk named "usbimage"
95     And I plug USB drive "usbimage"
96     And I install a Tails USB image to the 7200 MiB disk with GNOME Disks
98   # Depends on scenario: Installing Tails with GNOME Disks from a USB image
99   Scenario: The system partition is updated when booting from a USB drive where a Tails USB image was copied
100     Given a computer
101     And I start Tails from USB drive "usbimage" with network unplugged and I login
102     Then Tails is running from USB drive "usbimage"
103     And the label of the system partition on "usbimage" is "Tails"
104     And the system partition on "usbimage" is an EFI system partition
105     And the FAT filesystem on the system partition on "usbimage" is at least 4000M large
106     And the UUID of the FAT filesystem on the system partition on "usbimage" was randomized
107     And the label of the FAT filesystem on the system partition on "usbimage" is "TAILS"
108     And the system partition on "usbimage" has the expected flags