diff options
Diffstat (limited to 'features/usb_install.feature')
-rw-r--r-- | features/usb_install.feature | 274 |
1 files changed, 274 insertions, 0 deletions
diff --git a/features/usb_install.feature b/features/usb_install.feature new file mode 100644 index 00000000..b40ca93b --- /dev/null +++ b/features/usb_install.feature @@ -0,0 +1,274 @@ +@product @old_iso +Feature: Installing Tails to a USB drive, upgrading it, and using persistence + As a Tails user + I may want to install Tails to a USB drive + and upgrade it to new Tails versions + and use persistence + + @keep_volumes + Scenario: Installing Tails to a pristine USB drive + Given a computer + And I start Tails from DVD with network unplugged and I login + And I create a new 4 GiB USB drive named "current" + And I plug USB drive "current" + And I "Clone & Install" Tails to USB drive "current" + Then the running Tails is installed on USB drive "current" + But there is no persistence partition on USB drive "current" + And I unplug USB drive "current" + + @keep_volumes + Scenario: Booting Tails from a USB drive in UEFI mode + Given a computer + And the computer is set to boot in UEFI mode + When I start Tails from USB drive "current" with network unplugged and I login + Then the boot device has safe access rights + And Tails is running from USB drive "current" + And the boot device has safe access rights + And Tails has started in UEFI mode + + @keep_volumes + Scenario: Booting Tails from a USB drive without a persistent partition and creating one + Given a computer + And I start Tails from USB drive "current" with network unplugged and I login + Then the boot device has safe access rights + And Tails is running from USB drive "current" + And the boot device has safe access rights + And there is no persistence partition on USB drive "current" + And I create a persistent partition with password "asdf" + Then a Tails persistence partition with password "asdf" exists on USB drive "current" + And I shutdown Tails and wait for the computer to power off + + @keep_volumes + Scenario: Booting Tails from a USB drive with a disabled persistent partition + Given a computer + And I start Tails from USB drive "current" with network unplugged and I login + Then Tails is running from USB drive "current" + And the boot device has safe access rights + And persistence is disabled + But a Tails persistence partition with password "asdf" exists on USB drive "current" + + @keep_volumes + Scenario: Persistent browser bookmarks + Given a computer + And the computer is set to boot from USB drive "current" + And the network is unplugged + When I start the computer + And the computer boots Tails + And Tails is running from USB drive "current" + And the boot device has safe access rights + And I enable persistence with password "asdf" + And I log in to a new session + And GNOME has started + And all notifications have disappeared + And persistence is enabled + And persistent filesystems have safe access rights + And persistence configuration files have safe access rights + And persistent directories have safe access rights + And I start the Tor Browser in offline mode + And the Tor Browser has started in offline mode + And I add a bookmark to eff.org in the Tor Browser + And I warm reboot the computer + And the computer reboots Tails + And I enable read-only persistence with password "asdf" + And I log in to a new session + And GNOME has started + And I start the Tor Browser in offline mode + And the Tor Browser has started in offline mode + Then the Tor Browser has a bookmark to eff.org + + @keep_volumes + Scenario: Writing files to a read/write-enabled persistent partition + Given a computer + And I start Tails from USB drive "current" with network unplugged and I login with persistence password "asdf" + Then Tails is running from USB drive "current" + And the boot device has safe access rights + And persistence is enabled + And I write some files expected to persist + And persistent filesystems have safe access rights + And persistence configuration files have safe access rights + And persistent directories have safe access rights + And I shutdown Tails and wait for the computer to power off + Then only the expected files should persist on USB drive "current" + + @keep_volumes + Scenario: Writing files to a read-only-enabled persistent partition + Given a computer + And I start Tails from USB drive "current" with network unplugged and I login with read-only persistence password "asdf" + Then Tails is running from USB drive "current" + And the boot device has safe access rights + And persistence is enabled + And I write some files not expected to persist + And I remove some files expected to persist + And I shutdown Tails and wait for the computer to power off + Then only the expected files should persist on USB drive "current" + + @keep_volumes + Scenario: Deleting a Tails persistent partition + Given a computer + And I start Tails from USB drive "current" with network unplugged and I login + Then Tails is running from USB drive "current" + And the boot device has safe access rights + And persistence is disabled + But a Tails persistence partition with password "asdf" exists on USB drive "current" + And all notifications have disappeared + When I delete the persistent partition + Then there is no persistence partition on USB drive "current" + + @keep_volumes + 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 GNOME has started + And all notifications have disappeared + And I create a new 4 GiB USB drive 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" + + @keep_volumes + 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" + And I create a persistent partition with password "asdf" + Then a Tails persistence partition with password "asdf" exists on USB drive "old" + And I shutdown Tails and wait for the computer to power off + + @keep_volumes + Scenario: Writing files to a read/write-enabled 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 with persistence password "asdf" + Then Tails is running from USB drive "old" + And persistence is enabled + And I write some files expected to persist + And persistent filesystems have safe access rights + And persistence configuration files have safe access rights + And persistent directories have safe access rights + And I shutdown Tails and wait for the computer to power off + Then only the expected files should persist on USB drive "old" + + @keep_volumes + Scenario: Upgrading an old Tails USB installation from a Tails DVD + Given a computer + And I clone USB drive "old" to a new USB drive "to_upgrade" + And I start Tails from DVD with network unplugged and I login + And I plug USB drive "to_upgrade" + And I "Clone & Upgrade" Tails to USB drive "to_upgrade" + Then the running Tails is installed on USB drive "to_upgrade" + And I unplug USB drive "to_upgrade" + + @keep_volumes + Scenario: Booting Tails from a USB drive upgraded from DVD with persistence enabled + Given a computer + And I start Tails from USB drive "to_upgrade" with network unplugged and I login with persistence password "asdf" + Then Tails is running from USB drive "to_upgrade" + And the boot device has safe access rights + And the expected persistent files are present in the filesystem + And persistent directories have safe access rights + + @keep_volumes + Scenario: Upgrading an old Tails USB installation from another Tails USB drive + Given a computer + And I clone USB drive "old" to a new USB drive "to_upgrade" + And I start Tails from USB drive "current" with network unplugged and I login + Then Tails is running from USB drive "current" + And the boot device has safe access rights + And I plug USB drive "to_upgrade" + And I "Clone & Upgrade" Tails to USB drive "to_upgrade" + Then the running Tails is installed on USB drive "to_upgrade" + And I unplug USB drive "to_upgrade" + And I unplug USB drive "current" + + @keep_volumes + Scenario: Booting Tails from a USB drive upgraded from USB with persistence enabled + Given a computer + And I start Tails from USB drive "to_upgrade" with network unplugged and I login with persistence password "asdf" + Then persistence is enabled + And Tails is running from USB drive "to_upgrade" + And the boot device has safe access rights + And the expected persistent files are present in the filesystem + And persistent directories have safe access rights + + @keep_volumes + 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" + + @keep_volumes + 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 + And I start Tails from USB drive "to_upgrade" with network unplugged and I login with persistence password "asdf" + Then persistence is enabled + And Tails is running from USB drive "to_upgrade" + And the boot device has safe access rights + And the expected persistent files are present in the filesystem + And persistent directories have safe access rights + + @keep_volumes + Scenario: Installing Tails to a USB drive with an MBR partition table but no partitions + Given a computer + And I create a 4 GiB disk named "mbr" + And I create a msdos label on disk "mbr" + And I start Tails from DVD with network unplugged and I login + And I plug USB drive "mbr" + And I "Clone & Install" Tails to USB drive "mbr" + Then the running Tails is installed on USB drive "mbr" + But there is no persistence partition on USB drive "mbr" + And I unplug USB drive "mbr" + + Scenario: Booting a USB drive that originally had an empty MBR partition table + Given a computer + And I start Tails from USB drive "mbr" with network unplugged and I login + Then Tails is running from USB drive "mbr" + And the boot device has safe access rights + And there is no persistence partition on USB drive "mbr" + + @keep_volumes + Scenario: Cat:ing a Tails isohybrid to a USB drive and booting it + Given a computer + And I create a 4 GiB disk named "isohybrid" + And I cat an ISO hybrid of the Tails image to disk "isohybrid" + And I start Tails from USB drive "isohybrid" with network unplugged and I login + Then Tails is running from USB drive "isohybrid" + + @keep_volumes + Scenario: Try upgrading but end up installing Tails to a USB drive containing a Tails isohybrid installation + Given a computer + And I start Tails from DVD with network unplugged and I login + And I plug USB drive "isohybrid" + And I try a "Clone & Upgrade" Tails to USB drive "isohybrid" + But I am suggested to do a "Clone & Install" + And I kill the process "liveusb-creator" + And I "Clone & Install" Tails to USB drive "isohybrid" + Then the running Tails is installed on USB drive "isohybrid" + But there is no persistence partition on USB drive "isohybrid" + And I unplug USB drive "isohybrid" + + Scenario: Booting a USB drive that originally had a isohybrid installation + Given a computer + And I start Tails from USB drive "isohybrid" with network unplugged and I login + Then Tails is running from USB drive "isohybrid" + And the boot device has safe access rights + And there is no persistence partition on USB drive "isohybrid" |