Commit 18f4d65f authored by intrigeri's avatar intrigeri
Browse files

Merge remote-tracking branch 'origin/testing' into test/10340-disable-all-networking

parents a4fb817f 45de9cf1
......@@ -27,7 +27,7 @@ Feature: Electrum Bitcoin client
And I see the main Electrum client window
And Electrum successfully connects to the network
And I shutdown Tails and wait for the computer to power off
Given I start Tails from USB drive "current" and I login with persistence enabled
Given I start Tails from USB drive "__internal" and I login with persistence enabled
When I start Electrum through the GNOME menu
And a bitcoin wallet is present
And I see the main Electrum client window
......
features/images/GpgAppletIconNormal.png

655 Bytes | W: | H:

features/images/GpgAppletIconNormal.png

585 Bytes | W: | H:

features/images/GpgAppletIconNormal.png
features/images/GpgAppletIconNormal.png
features/images/GpgAppletIconNormal.png
features/images/GpgAppletIconNormal.png
  • 2-up
  • Swipe
  • Onion skin
......@@ -8,13 +8,13 @@ Feature: Tails persistence
Given I have started Tails without network from a USB drive with 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 "current"
And Tails is running from USB drive "__internal"
And persistence is disabled
But a Tails persistence partition exists on USB drive "current"
But a Tails persistence partition exists on USB drive "__internal"
Scenario: Booting Tails from a USB drive with an enabled persistent partition
Given I have started Tails without network from a USB drive with a persistent partition enabled and logged in
Then Tails is running from USB drive "current"
Then Tails is running from USB drive "__internal"
And all persistence presets are enabled
And all persistent directories have safe access rights
......@@ -28,11 +28,11 @@ Feature: Tails persistence
And I add a wired DHCP NetworkManager connection called "persistent-con"
And I shutdown Tails and wait for the computer to power off
# XXX: The next step succeeds (and the --debug output confirms that it's actually looking for the files) but will fail in a subsequent scenario restoring the same snapshot. This exactly what we want, but why does it work? What is guestfs's behaviour when qcow2 internal snapshots are involved?
Then only the expected files are present on the persistence partition on USB drive "current"
Given I start Tails from USB drive "current" with network unplugged and I login with read-only persistence enabled
Then only the expected files are present on the persistence partition on USB drive "__internal"
Given I start Tails from USB drive "__internal" with network unplugged and I login with read-only persistence enabled
And the network is plugged
And Tor is ready
Then Tails is running from USB drive "current"
Then Tails is running from USB drive "__internal"
And the boot device has safe access rights
And all persistence presets are enabled
And I switch to the "persistent-con" NetworkManager connection
......@@ -41,15 +41,15 @@ Feature: Tails persistence
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 on USB drive "current"
Then only the expected files are present on the persistence partition on USB drive "__internal"
Scenario: Deleting a Tails persistent partition
Given I have started Tails without network from a USB drive with a persistent partition and stopped at Tails Greeter's login screen
And I log in to a new session
Then Tails is running from USB drive "current"
Then Tails is running from USB drive "__internal"
And the boot device has safe access rights
And persistence is disabled
But a Tails persistence partition exists on USB drive "current"
But a Tails persistence partition exists on USB drive "__internal"
And all notifications have disappeared
When I delete the persistent partition
Then there is no persistence partition on USB drive "current"
Then there is no persistence partition on USB drive "__internal"
......@@ -108,7 +108,7 @@ Feature: Chatting anonymously using Pidgin
# And I take note of the OTR key for Pidgin's "irc.oftc.net" account
And I shutdown Tails and wait for the computer to power off
Given a computer
And I start Tails from USB drive "current" and I login with persistence enabled
And I start Tails from USB drive "__internal" and I login with persistence enabled
And Pidgin has the expected persistent accounts configured
# And Pidgin has the expected persistent OTR keys
When I start Pidgin through the GNOME menu
......
......@@ -80,7 +80,9 @@ When /^I open the address "([^"]*)" in the (.*)$/ do |address, browser|
info = xul_application_info(browser)
open_address = Proc.new do
@screen.click(info[:address_bar_image])
sleep 0.5
# This static here since we have no reliable visual indicators
# that we can watch to know when typing is "safe".
sleep 5
# The browser sometimes loses keypresses when suggestions are
# shown, which we work around by pasting the address from the
# clipboard, in one go.
......
......@@ -34,14 +34,20 @@ end
When /^I type a message into gedit$/ do
step 'I start "Gedit" via the GNOME "Accessories" applications menu'
@screen.wait_and_click("GeditWindow.png", 20)
sleep 0.5
# We don't have a good visual indicator for when we can continue. Without the
# sleep we may start typing in the gedit window far too soon, causing
# keystrokes to go missing.
sleep 5
@screen.type("ATTACK AT DAWN")
end
def maybe_deal_with_pinentry
begin
@screen.wait_and_click("PinEntryPrompt.png", 10)
sleep 1
# Without this sleep here (and reliable visual indicators) we can sometimes
# miss keystrokes by typing too soon. This sleep prevents this problem from
# coming up.
sleep 5
@screen.type(@passphrase + Sikuli::Key.ENTER)
rescue FindFailed
# The passphrase was cached or we wasn't prompted at all (e.g. when
......@@ -63,7 +69,9 @@ def encrypt_sign_helper
gedit_copy_all_text
seahorse_menu_click_helper('GpgAppletIconNormal.png', 'GpgAppletSignEncrypt.png')
@screen.wait_and_click("GpgAppletChooseKeyWindow.png", 30)
sleep 0.5
# We don't have a good visual indicator for when we can continue without
# keystrokes being lost.
sleep 5
yield
maybe_deal_with_pinentry
paste_into_a_new_tab
......
......@@ -101,16 +101,16 @@ def checkpoints
:description => "I have started Tails without network from a USB drive without a persistent partition and stopped at Tails Greeter's login screen",
:parent_checkpoint => 'no-network-logged-in',
:steps => [
'I create a 4 GiB disk named "current"',
'I plug USB drive "current"',
'I "Clone & Install" Tails to USB drive "current"',
'the running Tails is installed on USB drive "current"',
'there is no persistence partition on USB drive "current"',
'I create a 4 GiB disk named "__internal"',
'I plug USB drive "__internal"',
'I "Clone & Install" Tails to USB drive "__internal"',
'the running Tails is installed on USB drive "__internal"',
'there is no persistence partition on USB drive "__internal"',
'I shutdown Tails and wait for the computer to power off',
'I start Tails from USB drive "current" with network unplugged',
'I start Tails from USB drive "__internal" with network unplugged',
'the boot device has safe access rights',
'Tails is running from USB drive "current"',
'there is no persistence partition on USB drive "current"',
'Tails is running from USB drive "__internal"',
'there is no persistence partition on USB drive "__internal"',
'process "udev-watchdog" is running',
'udev-watchdog is monitoring the correct device',
],
......@@ -123,11 +123,11 @@ def checkpoints
'I log in to a new session',
'the Tails desktop is ready',
'I create a persistent partition',
'a Tails persistence partition exists on USB drive "current"',
'a Tails persistence partition exists on USB drive "__internal"',
'I shutdown Tails and wait for the computer to power off',
'I start Tails from USB drive "current" with network unplugged',
'I start Tails from USB drive "__internal" with network unplugged',
'the boot device has safe access rights',
'Tails is running from USB drive "current"',
'Tails is running from USB drive "__internal"',
'process "udev-watchdog" is running',
'udev-watchdog is monitoring the correct device',
],
......
......@@ -15,8 +15,9 @@ def check_for_seahorse_error
end
end
def start_or_restart_seahorse(withapplet = false)
if withapplet
def start_or_restart_seahorse
assert_not_nil(@withgpgapplet)
if @withgpgapplet
seahorse_menu_click_helper('GpgAppletIconNormal.png', 'GpgAppletManageKeys.png')
else
step 'I start "Seahorse" via the GNOME "Utilities" applications menu'
......@@ -87,7 +88,8 @@ When /^the "([^"]+)" key is in the live user's public keyring(?: after at most (
end
When /^I start Seahorse( via the Tails OpenPGP Applet)?$/ do |withgpgapplet|
start_or_restart_seahorse(withgpgapplet)
@withgpgapplet = !!withgpgapplet
start_or_restart_seahorse
end
Then /^Seahorse has opened$/ do
......@@ -117,7 +119,7 @@ Then /^I synchronize keys in Seahorse$/ do
if @screen.exists('GnomeCloseButton.png') || !$vm.has_process?('seahorse')
step 'I kill the process "seahorse"' if $vm.has_process?('seahorse')
debug_log('Restarting Seahorse.')
start_or_restart_seahorse(withgpgapplet)
start_or_restart_seahorse
end
end
......@@ -150,7 +152,7 @@ Then /^I synchronize keys in Seahorse$/ do
end
When /^I fetch the "([^"]+)" OpenPGP key using Seahorse( via the Tails OpenPGP Applet)?$/ do |keyid, withgpgapplet|
start_or_restart_seahorse(withgpgapplet)
step "I start Seahorse#{withgpgapplet}"
def change_of_status?(keyid)
# Due to a lack of visual feedback in Seahorse we'll break out of the
......
......@@ -584,7 +584,7 @@ Then /^a suitable USB device is (?:still )?not found$/ do
@screen.wait("TailsInstallerNoQEMUHardDisk.png", 30)
end
Then /^the "(?:[[:alpha:]]+)" USB drive is selected$/ do
Then /^the "(?:[^"]+)" USB drive is selected$/ do
@screen.wait("TailsInstallerQEMUHardDisk.png", 30)
end
......
......@@ -494,7 +494,7 @@ EOF
# back seems to be a reliable way to handle this.
select_virtual_desktop(3)
select_virtual_desktop(0)
sleep 1
sleep 5 # there aren't any visual indicators which can be used here
do_focus(window_title, user)
end
end
......
......@@ -54,11 +54,11 @@ Feature: Using Totem
# filesystem shares.
And I shutdown Tails and wait for the computer to power off
And I setup a filesystem share containing sample videos
And I start Tails from USB drive "current" with network unplugged and I login with persistence enabled
And I start Tails from USB drive "__internal" with network unplugged and I login with persistence enabled
And I copy the sample videos to "/home/amnesia/Persistent" as user "amnesia"
And I copy the sample videos to "/home/amnesia/.gnupg" as user "amnesia"
And I shutdown Tails and wait for the computer to power off
And I start Tails from USB drive "current" with network unplugged and I login with persistence enabled
And I start Tails from USB drive "__internal" with network unplugged and I login with persistence enabled
And the file "/home/amnesia/Persistent/video.mp4" exists
When I open "/home/amnesia/Persistent/video.mp4" with Totem
Then I see "SampleLocalMp4VideoFrame.png" after at most 10 seconds
......
......@@ -12,9 +12,9 @@ Feature: Installing Tails to a USB drive
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 "current"
And I plug USB drive "current"
Then the "current" USB drive is selected
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
......@@ -44,7 +44,7 @@ Feature: Installing Tails to a USB drive
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 "current"
Then a Tails persistence partition exists on USB drive "__internal"
#10720: Tails Installer freezes on Jenkins
@fragile
......@@ -52,9 +52,9 @@ Feature: Installing Tails to a USB drive
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 "current"
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 "current"
And there is no persistence partition on USB drive "__internal"
#10720: Tails Installer freezes on Jenkins
@fragile
......@@ -62,9 +62,9 @@ Feature: Installing Tails to a USB drive
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 "current" with network unplugged and I login
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
......
......@@ -119,7 +119,7 @@ Feature: Upgrading an old Tails USB installation
When 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"
And I unplug USB drive "__internal"
# Depends on scenario: Upgrading an old Tails USB installation from another Tails USB drive
Scenario: Booting Tails from a USB drive upgraded from USB with persistence enabled
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment