summaryrefslogtreecommitdiffstats
path: root/features/usb_install.feature
diff options
context:
space:
mode:
authorPhilip Hands <phil@hands.com>2016-03-14 15:36:16 +0100
committerHolger Levsen <holger@layer-acht.org>2016-04-28 21:52:10 +0200
commitda080c472fc415b0ce918f4dd4a1ab143bb1bca4 (patch)
treebf63179f32f0eda0c2d5796e3e31c18c3c1185cf /features/usb_install.feature
parent26a9e8ec2bcae03db4d663d87b44d8708d64fdc2 (diff)
downloadjenkins.debian.net-da080c472fc415b0ce918f4dd4a1ab143bb1bca4.tar.xz
rough attempt to grab the good cucumber bits from recent tails
Diffstat (limited to 'features/usb_install.feature')
-rw-r--r--features/usb_install.feature323
1 files changed, 78 insertions, 245 deletions
diff --git a/features/usb_install.feature b/features/usb_install.feature
index b40ca93b..750df7ab 100644
--- a/features/usb_install.feature
+++ b/features/usb_install.feature
@@ -1,273 +1,106 @@
-@product @old_iso
-Feature: Installing Tails to a USB drive, upgrading it, and using persistence
+@product
+Feature: Installing Tails to a USB drive
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
+ I want to install Tails to a suitable USB drive
+
+ Scenario: Try installing Tails to a too small USB drive
+ Given I have started Tails from DVD without network and logged in
+ And I temporarily create a 2 GiB disk named "too-small-device"
+ And I start Tails Installer in "Clone & Install" mode
+ But a suitable USB device is not found
+ When I plug USB drive "too-small-device"
+ Then Tails Installer detects that a device is too small
+ And a suitable USB device is not found
+ When I unplug USB drive "too-small-device"
+ And I create a 4 GiB disk named "big-enough"
+ And I plug USB drive "big-enough"
+ Then the "big-enough" USB drive is selected
+
+ Scenario: Detecting when a target USB drive is inserted or removed
+ Given I have started Tails from DVD without network and logged in
+ And I temporarily create a 4 GiB disk named "temp"
+ And I start Tails Installer in "Clone & Install" mode
+ But a suitable USB device is not found
+ When I plug USB drive "temp"
+ Then the "temp" USB drive is selected
+ When I unplug USB drive "temp"
+ Then no USB drive is selected
+ And a suitable USB device is not found
+
+ #10720: Tails Installer freezes on Jenkins
+ @fragile
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
+ Given I have started Tails from DVD without network and logged in
+ And I temporarily create a 4 GiB disk named "install"
+ And I plug USB drive "install"
+ And I "Clone & Install" Tails to USB drive "install"
+ Then the running Tails is installed on USB drive "install"
+ But there is no persistence partition on USB drive "install"
+
+ #10720: Tails Installer freezes on Jenkins
+ @fragile
+ Scenario: Booting Tails from a USB drive without a persistent partition and creating one
+ Given I have started Tails without network from a USB drive without a persistent partition and stopped at Tails Greeter's login screen
+ And I log in to a new session
+ Then Tails seems to have booted normally
+ When I create a persistent partition
+ Then a Tails persistence partition exists on USB drive "__internal"
+
+ #10720: Tails Installer freezes on Jenkins
+ @fragile
+ Scenario: Booting Tails from a USB drive without a persistent partition
+ Given I have started Tails without network from a USB drive without a persistent partition and stopped at Tails Greeter's login screen
+ When I log in to a new session
+ Then Tails seems to have booted normally
+ And Tails is running from USB drive "__internal"
+ And the persistent Tor Browser directory does not exist
+ And there is no persistence partition on USB drive "__internal"
+
+ #10720: Tails Installer freezes on Jenkins
+ @fragile
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
+ Given I have started Tails without network from a USB drive without a persistent partition and stopped at Tails Greeter's login screen
+ Then I power off the computer
+ Given the computer is set to boot in UEFI mode
+ When I start Tails from USB drive "__internal" with network unplugged and I login
Then the boot device has safe access rights
- And Tails is running from USB drive "current"
+ And Tails is running from USB drive "__internal"
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"
+ #10720: Tails Installer freezes on Jenkins
+ @fragile
+ Scenario: Installing Tails to a USB drive with an MBR partition table but no partitions, and making sure that it boots
+ Given I have started Tails from DVD without network and logged in
+ And I temporarily 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
+ When I shutdown Tails and wait for the computer to power off
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
+ #10720: Tails Installer freezes on Jenkins
+ @fragile
+ Scenario: Cat:ing a Tails isohybrid to a USB drive and booting it, then trying to upgrading it but ending up having to do a fresh installation, which boots
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 temporarily create a 4 GiB disk named "isohybrid"
+ And I cat an ISO 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
+ When I shutdown Tails and wait for the computer to power off
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"
+ Then I am suggested to do a "Clone & Install"
+ When I kill the process "tails-installer"
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
+ When I shutdown Tails and wait for the computer to power off
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