summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbertagaz <bertagaz@ptitcanardnoir.org>2015-09-04 15:15:21 +0200
committerbertagaz <bertagaz@ptitcanardnoir.org>2015-09-04 15:15:21 +0200
commit09e23704d1925c777f0b67a193e91b0df0960a9e (patch)
tree431a5415dff6a827904fb0f438322d733b52c8e1
parent90cba3f3a1b850f2356f2d2a69ba7e2921e24672 (diff)
parentd133a9b924ef7e4c7c4b04a9dd93d6bf67e7eecf (diff)
Merge branch 'stable' into test/5847-fix-global-vs-class-variables-issuetest/5847-fix-global-vs-class-variables-issue
-rw-r--r--.gitignore2
-rw-r--r--features/step_definitions/common_steps.rb8
-rw-r--r--features/usb_install.feature219
-rwxr-xr-xvagrant/provision/assets/build-tails18
-rw-r--r--wiki/src/contribute/release_process/test.mdwn1
5 files changed, 221 insertions, 27 deletions
diff --git a/.gitignore b/.gitignore
index 29a78f3..ee75921 100644
--- a/.gitignore
+++ b/.gitignore
@@ -32,6 +32,8 @@
/vagrant/definitions/squeeze/preseed.cfg
/vagrant/iso
/vagrant/squeeze.box
+# Jenkins artifacts directory
+/build-artifacts/
# Files managed by intltool
/config/chroot_local-includes/etc/skel/Desktop/tails-documentation.desktop
diff --git a/features/step_definitions/common_steps.rb b/features/step_definitions/common_steps.rb
index 5990c29..5c4fb1c 100644
--- a/features/step_definitions/common_steps.rb
+++ b/features/step_definitions/common_steps.rb
@@ -393,14 +393,6 @@ Then /^all Internet traffic has only flowed through Tor$/ do
leaks.assert_no_leaks
end
-Given /^I enter the sudo password in the gksu prompt$/ do
- @screen.wait('GksuAuthPrompt.png', 60)
- sleep 1 # wait for weird fade-in to unblock the "Ok" button
- @screen.type(@sudo_password)
- @screen.type(Sikuli::Key.ENTER)
- @screen.waitVanish('GksuAuthPrompt.png', 10)
-end
-
Given /^I enter the sudo password in the pkexec prompt$/ do
step "I enter the \"#{@sudo_password}\" password in the pkexec prompt"
end
diff --git a/features/usb_install.feature b/features/usb_install.feature
index 6711487..0de6d53 100644
--- a/features/usb_install.feature
+++ b/features/usb_install.feature
@@ -81,7 +81,224 @@ Feature: Installing Tails to a USB drive
And the boot device has safe access rights
And Tails has started in UEFI mode
- Scenario: Installing Tails to a USB drive with an MBR partition table but no partitions, and making sure that it boots
+ @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 process "udev-watchdog" is running
+ And udev-watchdog is monitoring the correct device
+ 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 the persistent Tor Browser directory does not exist
+ 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: The persistent Tor Browser directory is usable
+ Given a computer
+ And I start Tails from USB drive "current" and I login with persistence password "asdf"
+ And Tails is running from USB drive "current"
+ And Tor is ready
+ And available upgrades have been checked
+ And all notifications have disappeared
+ Then the persistent Tor Browser directory exists
+ And there is a GNOME bookmark for the persistent Tor Browser directory
+ When I start the Tor Browser
+ And the Tor Browser has started and loaded the startup page
+ And I can save the current page as "index.html" to the persistent Tor Browser directory
+ When I open the address "file:///home/amnesia/Persistent/Tor Browser/index.html" in the Tor Browser
+ Then I see "TorBrowserSavedStartupPage.png" after at most 10 seconds
+ And I can print the current page as "output.pdf" to the persistent Tor Browser directory
+
+ @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 the Tails desktop is ready
+ And all notifications have disappeared
+ And all persistence presets are enabled
+ And all persistent filesystems have safe access rights
+ And all persistence configuration files have safe access rights
+ And all 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 the Tails desktop is ready
+ 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 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 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
+ Then only the expected files are present on the persistence partition encrypted with password "asdf" 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 all persistence presets are enabled
+ And there is no GNOME bookmark for the persistent Tor Browser directory
+ And I write some files not expected to persist
+ And I remove some files expected to persist
+ And I take note of which persistence presets are available
+ And I shutdown Tails and wait for the computer to power off
+ Then only the expected files are present on the persistence partition encrypted with password "asdf" 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 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"
+
+ @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"
+ And I take note of which persistence presets are available
+ 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 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
+ Then only the expected files are present on the persistence partition encrypted with password "asdf" 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 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
+
+ @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 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
+
+ @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 temporarily create a 4 GiB disk named "mbr"
And I create a msdos label on disk "mbr"
diff --git a/vagrant/provision/assets/build-tails b/vagrant/provision/assets/build-tails
index 3e06444..cc1c37d 100755
--- a/vagrant/provision/assets/build-tails
+++ b/vagrant/provision/assets/build-tails
@@ -33,20 +33,10 @@ cleanup() {
trap cleanup EXIT
if [ -n "$JENKINS_URL" ]; then
- # Build triggered by Jenkins
- ENV_FILE=/etc/jenkins/environment
- if [ -f "$ENV_FILE" ] && [ -r "$ENV_FILE" ] ; then
- . "$ENV_FILE"
- fi
-
if [ -z "$WORKSPACE" ]; then
echo "WORKSPACE environment variable is not set. Aborting." >&2
exit 2
fi
- if [ -z "$ARTIFACTS_ROOT_DIR" ] ; then
- echo "ARTIFACTS_ROOT_DIR environment variable is not set. Aborting." >&2
- exit 3
- fi
if [ -z "$GIT_BRANCH" ]; then
echo "GIT_BRANCH environment variable is not set. Aborting." >&2
exit 4
@@ -57,7 +47,7 @@ if [ -n "$JENKINS_URL" ]; then
fi
REV="${GIT_BRANCH##origin/}"
COMMIT="$GIT_COMMIT"
- ARTIFACTS_DIR="$ARTIFACTS_ROOT_DIR/$JOB_NAME"
+ ARTIFACTS_DIR="$WORKSPACE/build-artifacts"
else
# Build triggered by Vagrant
WORKSPACE=/home/vagrant/amnesia
@@ -133,9 +123,3 @@ if [ -n "$JENKINS_URL" ]; then
fi
mv -f tails-* "$ARTIFACTS_DIR"
-
-if [ -n "$JENKINS_URL" ]; then
- for EXT in '' .binpkgs .srcpkgs .shasum .shasum.asc .packages .buildlog ; do
- ln -sf "${ISO}${EXT}" "$ARTIFACTS_DIR/latest.iso${EXT}"
- done
-fi
diff --git a/wiki/src/contribute/release_process/test.mdwn b/wiki/src/contribute/release_process/test.mdwn
index 32e26e1..1caf616 100644
--- a/wiki/src/contribute/release_process/test.mdwn
+++ b/wiki/src/contribute/release_process/test.mdwn
@@ -143,7 +143,6 @@ tracked by tickets prefixed with `todo/test_suite:`.
# Erase memory on shutdown
- `memlockd` must be running
-- `udev-watchdog` must monitor the right device when booted off USB (automate: [[!tails_ticket 9890]])
- After booting from DVD, remove Tails boot medium and check that the
memory erasure process is started (`Loading new kernel`, at least).
(automate: [[!tails_ticket 5472]])