summaryrefslogtreecommitdiffstats
path: root/features
diff options
context:
space:
mode:
authoranonym <anonym@riseup.net>2016-06-08 01:13:46 +0200
committeranonym <anonym@riseup.net>2016-06-08 01:13:46 +0200
commit7f420c02223a5bc9ccc566d02beceab095f5d9b2 (patch)
treef930b22cf1058a82b2cecbeb378b9a8950bba61f /features
parentf2ae51326ee54486798b574155a1cf1800978962 (diff)
parent8bf737ed710e2b5dece6fc0ed71650083d534b15 (diff)
Merge remote-tracking branch 'origin/testing' into test/10381-fix-I-open-the-address-test-is-fragile
Diffstat (limited to 'features')
-rw-r--r--features/build.feature10
-rw-r--r--features/electrum.feature7
-rw-r--r--features/icedove.feature3
-rw-r--r--features/images/CupsTestPage.pngbin14411 -> 2859 bytes
-rw-r--r--features/images/IcedoveEnigmailKeyserver.pngbin1945 -> 2002 bytes
-rw-r--r--features/images/IcedoveEnigmailProxy.pngbin2925 -> 2267 bytes
-rw-r--r--features/images/TorBrowserStartupPage.pngbin12537 -> 0 bytes
-rw-r--r--features/images/TorBrowserTailsRoadmap.pngbin1078 -> 0 bytes
-rw-r--r--features/images/TorBrowserUnableToConnect.pngbin3855 -> 0 bytes
-rw-r--r--features/images/UnsafeBrowserNoAddons.pngbin1974 -> 2483 bytes
-rw-r--r--features/images/UnsafeBrowserRedTheme.pngbin1499 -> 243 bytes
-rw-r--r--features/pidgin.feature4
-rw-r--r--features/ssh.feature1
-rw-r--r--features/step_definitions/browser.rb34
-rw-r--r--features/step_definitions/build.rb5
-rw-r--r--features/step_definitions/common_steps.rb12
-rw-r--r--features/step_definitions/electrum.rb2
-rw-r--r--features/step_definitions/pidgin.rb6
-rw-r--r--features/step_definitions/totem.rb2
-rw-r--r--features/support/helpers/dogtail.rb7
-rw-r--r--features/torified_browsing.feature13
21 files changed, 60 insertions, 46 deletions
diff --git a/features/build.feature b/features/build.feature
index 9042476..4241197 100644
--- a/features/build.feature
+++ b/features/build.feature
@@ -56,6 +56,7 @@ Feature: custom APT sources to build branches
Given Tails 0.10 has been released
And the last version mentioned in debian/changelog is 0.10
And I am working on the stable base branch
+ And I checkout the 0.10 tag
And the config/APT_overlays.d directory is empty
When I successfully run tails-custom-apt-sources
Then I should see only the '0.10' suite
@@ -64,6 +65,7 @@ Feature: custom APT sources to build branches
Given Tails 0.10 has been released
And the last version mentioned in debian/changelog is 0.10
And I am working on the stable base branch
+ And I checkout the 0.10 tag
And config/APT_overlays.d contains 'feature-foo'
When I run tails-custom-apt-sources
Then it should fail
@@ -73,6 +75,7 @@ Feature: custom APT sources to build branches
And Tails 0.10 has been released
And the last version mentioned in debian/changelog is 0.10
And no frozen APT snapshot is encoded in config/APT_snapshots.d
+ And I checkout the 0.10 tag
When I successfully run "apt-snapshots-serials prepare-build"
And I successfully run "apt-mirror debian"
Then I should see the 0.10 tagged snapshot
@@ -86,6 +89,7 @@ Feature: custom APT sources to build branches
And Tails 0.10 has been released
And the last version mentioned in debian/changelog is 0.10
And frozen APT snapshots are encoded in config/APT_snapshots.d
+ And I checkout the 0.10 tag
When I successfully run "apt-snapshots-serials prepare-build"
And I successfully run "apt-mirror debian"
Then I should see the 0.10 tagged snapshot
@@ -200,6 +204,7 @@ Feature: custom APT sources to build branches
And the last version mentioned in debian/changelog is 0.11
And Tails 0.11 has been released
And the config/APT_overlays.d directory is empty
+ And I checkout the 0.11 tag
When I successfully run tails-custom-apt-sources
Then I should see only the '0.11' suite
@@ -208,6 +213,7 @@ Feature: custom APT sources to build branches
And the last version mentioned in debian/changelog is 0.11
And Tails 0.11 has been released
And config/APT_overlays.d contains 'feature-foo'
+ And I checkout the 0.11 tag
When I run tails-custom-apt-sources
Then it should fail
@@ -216,6 +222,7 @@ Feature: custom APT sources to build branches
And the last version mentioned in debian/changelog is 0.11
And Tails 0.11 has been released
And no frozen APT snapshot is encoded in config/APT_snapshots.d
+ And I checkout the 0.11 tag
When I successfully run "apt-snapshots-serials prepare-build"
And I run "apt-mirror debian"
Then it should fail
@@ -229,6 +236,7 @@ Feature: custom APT sources to build branches
And the last version mentioned in debian/changelog is 0.11
And Tails 0.11 has been released
And frozen APT snapshots are encoded in config/APT_snapshots.d
+ And I checkout the 0.11 tag
When I successfully run "apt-snapshots-serials prepare-build"
And I successfully run "apt-mirror debian"
Then I should see the 0.11 tagged snapshot
@@ -243,6 +251,7 @@ Feature: custom APT sources to build branches
And the last version mentioned in debian/changelog is 0.12~rc1
And Tails 0.12-rc1 has been tagged
And the config/APT_overlays.d directory is empty
+ And I checkout the 0.12-rc1 tag
When I successfully run tails-custom-apt-sources
Then I should see only the '0.12-rc1' suite
@@ -252,6 +261,7 @@ Feature: custom APT sources to build branches
And the last version mentioned in debian/changelog is 0.12~rc1
And Tails 0.12-rc1 has been tagged
And config/APT_overlays.d contains 'bugfix-bar'
+ And I checkout the 0.12-rc1 tag
When I run tails-custom-apt-sources
Then it should fail
diff --git a/features/electrum.feature b/features/electrum.feature
index fb1c467..9807fec 100644
--- a/features/electrum.feature
+++ b/features/electrum.feature
@@ -1,16 +1,17 @@
-#10720: Tails Installer freezes on Jenkins
-@product @check_tor_leaks @fragile
+@product @check_tor_leaks
Feature: Electrum Bitcoin client
As a Tails user
I might want to use a Bitcoin client
And all Internet traffic should flow only through Tor
Scenario: A warning will be displayed if Electrum is not persistent
- Given I have started Tails from DVD and logged in and the network is connected
+ Given I have started Tails from DVD without network and logged in
When I start Electrum through the GNOME menu
But persistence for "electrum" is not enabled
Then I see a warning that Electrum is not persistent
+ #10720: Tails Installer freezes on Jenkins
+ @fragile
Scenario: Using a persistent Electrum configuration
Given I have started Tails without network from a USB drive with a persistent partition enabled and logged in
And the network is plugged
diff --git a/features/icedove.feature b/features/icedove.feature
index 039c6e5..8693a44 100644
--- a/features/icedove.feature
+++ b/features/icedove.feature
@@ -11,9 +11,6 @@ Feature: Icedove email client
And I have not configured an email account
Then I am prompted to setup an email account
- Scenario: Icedove defaults to using IMAP
- Then IMAP is the default protocol
-
Scenario: Adblock is not enabled within Icedove
Given I cancel setting up an email account
When I open Icedove's Add-ons Manager
diff --git a/features/images/CupsTestPage.png b/features/images/CupsTestPage.png
index 294374b..65b3cac 100644
--- a/features/images/CupsTestPage.png
+++ b/features/images/CupsTestPage.png
Binary files differ
diff --git a/features/images/IcedoveEnigmailKeyserver.png b/features/images/IcedoveEnigmailKeyserver.png
index 8595eba..afe56ad 100644
--- a/features/images/IcedoveEnigmailKeyserver.png
+++ b/features/images/IcedoveEnigmailKeyserver.png
Binary files differ
diff --git a/features/images/IcedoveEnigmailProxy.png b/features/images/IcedoveEnigmailProxy.png
index e0c5153..10c034f 100644
--- a/features/images/IcedoveEnigmailProxy.png
+++ b/features/images/IcedoveEnigmailProxy.png
Binary files differ
diff --git a/features/images/TorBrowserStartupPage.png b/features/images/TorBrowserStartupPage.png
deleted file mode 100644
index bd9b948..0000000
--- a/features/images/TorBrowserStartupPage.png
+++ /dev/null
Binary files differ
diff --git a/features/images/TorBrowserTailsRoadmap.png b/features/images/TorBrowserTailsRoadmap.png
deleted file mode 100644
index d6c9321..0000000
--- a/features/images/TorBrowserTailsRoadmap.png
+++ /dev/null
Binary files differ
diff --git a/features/images/TorBrowserUnableToConnect.png b/features/images/TorBrowserUnableToConnect.png
deleted file mode 100644
index bd6d251..0000000
--- a/features/images/TorBrowserUnableToConnect.png
+++ /dev/null
Binary files differ
diff --git a/features/images/UnsafeBrowserNoAddons.png b/features/images/UnsafeBrowserNoAddons.png
index 75c426d..54cf7bd 100644
--- a/features/images/UnsafeBrowserNoAddons.png
+++ b/features/images/UnsafeBrowserNoAddons.png
Binary files differ
diff --git a/features/images/UnsafeBrowserRedTheme.png b/features/images/UnsafeBrowserRedTheme.png
index d48e43b..7c26b58 100644
--- a/features/images/UnsafeBrowserRedTheme.png
+++ b/features/images/UnsafeBrowserRedTheme.png
Binary files differ
diff --git a/features/pidgin.feature b/features/pidgin.feature
index b6e5469..2aa74a8 100644
--- a/features/pidgin.feature
+++ b/features/pidgin.feature
@@ -8,7 +8,7 @@ Feature: Chatting anonymously using Pidgin
And all Internet traffic should flow only through Tor
#11453
- @check_tor_leaks
+ @check_tor_leaks @fragile
Scenario: Chatting with some friend over XMPP
Given I have started Tails from DVD and logged in and the network is connected
When I start Pidgin through the GNOME menu
@@ -21,7 +21,6 @@ Feature: Chatting anonymously using Pidgin
And I say something to my friend
Then I receive a response from my friend
- # 10376 - "the Tor Browser loads the (startup page|Tails roadmap)" step is fragile
#11414
@check_tor_leaks @fragile
Scenario: Chatting with some friend over XMPP in a multi-user chat
@@ -105,6 +104,7 @@ Feature: Chatting anonymously using Pidgin
When I create my XMPP account
And I close Pidgin's account manager window
Then Pidgin automatically enables my XMPP account
+ When I close Pidgin
# And I generate an OTR key for the default Pidgin account
And I take note of the configured Pidgin accounts
# And I take note of the OTR key for Pidgin's "conference.riseup.net" account
diff --git a/features/ssh.feature b/features/ssh.feature
index 9adf8af..0e64e86 100644
--- a/features/ssh.feature
+++ b/features/ssh.feature
@@ -1,3 +1,4 @@
+#10498: SSH tests are fragile
@product @fragile
Feature: Logging in via SSH
As a Tails user
diff --git a/features/step_definitions/browser.rb b/features/step_definitions/browser.rb
index 293202c..896906b 100644
--- a/features/step_definitions/browser.rb
+++ b/features/step_definitions/browser.rb
@@ -115,24 +115,15 @@ end
# This step is limited to the Tor Browser due to #7502 since dogtail
# uses the same interface.
-Then /^a page titled "([^"]+)" has loaded in the Tor Browser$/ do |title|
+Then /^"([^"]+)" has loaded in the Tor Browser$/ do |title|
expected_title = "#{title} - Tor Browser"
app = Dogtail::Application.new('Firefox')
app.child(expected_title, roleName: 'frame').wait(60)
- # The 'Stop loading this page' button (graphically shown as an X) is
- # only shown while a page is loading, so once we see the expected
- # title *and* this one has disappeared, then we can be sure that the
- # page has fully loaded.
- try_for(60) do
- assert_raise do
- app.child(
- 'Location',
- roleName: 'push button',
- description: 'Stop loading this page',
- retry: False
- )
- end
- end
+ # The 'Reload current page' button (graphically shown as a looping
+ # arrow) is only shown when a page has loaded, so once we see the
+ # expected title *and* this button has appeared, then we can be sure
+ # that the page has fully loaded.
+ app.child('Reload current page', roleName: 'push button').wait(60)
end
Then /^the (.*) has no plugins installed$/ do |browser|
@@ -222,9 +213,20 @@ end
Then /^Tails homepage loads in the Tor Browser$/ do
title = 'Tails - Privacy for anyone anywhere'
- step "a page titled \"#{title}\" has loaded in the Tor Browser"
+ step "\"#{title}\" has loaded in the Tor Browser"
end
Then /^Tails homepage loads in the Unsafe Browser$/ do
@screen.wait('TailsHomepage.png', 60)
end
+
+Then /^the Tor Browser shows the "([^"]+)" error$/ do |error|
+ firefox = Dogtail::Application.new('Firefox')
+ page = firefox.child("Problem loading page", roleName: "document frame")
+ # Important to wait here since children() won't retry but return the
+ # immediate results
+ page.wait
+ headers = page.children(roleName: "heading")
+ found = headers.any? { |heading| heading.text == error }
+ raise "Could not find the '#{error}' error in the Tor Browser" unless found
+end
diff --git a/features/step_definitions/build.rb b/features/step_definitions/build.rb
index a706430..e02edc6 100644
--- a/features/step_definitions/build.rb
+++ b/features/step_definitions/build.rb
@@ -79,6 +79,11 @@ Given %r{I am working on the ([[:alnum:]./_-]+) base branch$} do |branch|
end
end
+Given %r{^I checkout the ([[:alnum:]~.-]+) tag$} do |tag|
+ create_git unless git_exists?
+ fatal_system "git checkout --quiet #{tag}"
+end
+
Given %r{I am working on the ([[:alnum:]./_-]+) branch based on ([[:alnum:]./_-]+)$} do |branch, base|
create_git unless git_exists?
diff --git a/features/step_definitions/common_steps.rb b/features/step_definitions/common_steps.rb
index fe70291..250700f 100644
--- a/features/step_definitions/common_steps.rb
+++ b/features/step_definitions/common_steps.rb
@@ -326,7 +326,7 @@ end
Given /^Tails Greeter has dealt with the sudo password$/ do
f1 = "/etc/sudoers.d/tails-greeter"
f2 = "#{f1}-no-password-lecture"
- try_for(20) {
+ try_for(30) {
$vm.execute("test -e '#{f1}' -o -e '#{f2}'").success?
}
end
@@ -362,7 +362,7 @@ Given /^the Tails desktop is ready$/ do
# instead do this programmatically with xdotool.
if florence_keyboard_is_visible
@screen.click("GnomeSystrayFlorence.png")
- try_for(2) { ! florence_keyboard_is_visible }
+ try_for(5, delay: 0.1) { ! florence_keyboard_is_visible }
end
end
@@ -403,14 +403,14 @@ end
Given /^the Tor Browser (?:has started and )?load(?:ed|s) the (startup page|Tails roadmap)$/ do |page|
case page
when "startup page"
- picture = "TorBrowserStartupPage.png"
+ title = 'Tails - News'
when "Tails roadmap"
- picture = "TorBrowserTailsRoadmap.png"
+ title = 'Roadmap - Tails - RiseupLabs Code Repository'
else
raise "Unsupported page: #{page}"
end
step "the Tor Browser has started"
- @screen.wait(picture, 120)
+ step "\"#{title}\" has loaded in the Tor Browser"
end
Given /^the Tor Browser has started in offline mode$/ do
@@ -436,7 +436,7 @@ Given /^all notifications have disappeared$/ do
@screen.click("GnomeNotificationApplet.png")
rescue FindFailed
# No notifications, so we're done here.
- return
+ next
end
@screen.wait("GnomeNotificationAppletOpened.png", 10)
begin
diff --git a/features/step_definitions/electrum.rb b/features/step_definitions/electrum.rb
index 9bf817f..85bcf0f 100644
--- a/features/step_definitions/electrum.rb
+++ b/features/step_definitions/electrum.rb
@@ -24,7 +24,7 @@ When /^I create a new bitcoin wallet$/ do
seed = $vm.get_clipboard
@screen.wait_and_click("ElectrumNextButton.png", 15)
@screen.wait("ElectrumSeedVerificationPrompt.png", 15)
- @screen.click("ElectrumWalletSeedTextbox.png", 15)
+ @screen.wait_and_click("ElectrumWalletSeedTextbox.png", 15)
@screen.type(seed) # Confirm seed
@screen.wait_and_click("ElectrumNextButton.png", 10)
@screen.wait_and_click("ElectrumEncryptWallet.png", 10)
diff --git a/features/step_definitions/pidgin.rb b/features/step_definitions/pidgin.rb
index 23e1029..74fe151 100644
--- a/features/step_definitions/pidgin.rb
+++ b/features/step_definitions/pidgin.rb
@@ -306,6 +306,12 @@ When /^I close Pidgin's account manager window$/ do
@screen.wait_and_click("PidginAccountManagerCloseButton.png", 10)
end
+When /^I close Pidgin$/ do
+ $vm.focus_window('Buddy List')
+ @screen.type("q", Sikuli::KeyModifier.CTRL)
+ @screen.waitVanish('PidginAvailableStatus.png', 10)
+end
+
When /^I (de)?activate the "([^"]+)" Pidgin account$/ do |deactivate, account|
@screen.click("PidginAccount_#{account}.png")
@screen.type(Sikuli::Key.LEFT + Sikuli::Key.SPACE)
diff --git a/features/step_definitions/totem.rb b/features/step_definitions/totem.rb
index 72698dd..7b45b2e 100644
--- a/features/step_definitions/totem.rb
+++ b/features/step_definitions/totem.rb
@@ -32,7 +32,7 @@ When /^I close Totem$/ do
end
Then /^I can watch a WebM video over HTTPs$/ do
- test_url = 'https://webm.html5.org/test.webm'
+ test_url = 'https://tails.boum.org/lib/test_suite/test.webm'
recovery_on_failure = Proc.new do
step 'I close Totem'
end
diff --git a/features/support/helpers/dogtail.rb b/features/support/helpers/dogtail.rb
index 4e39d65..c9cf79d 100644
--- a/features/support/helpers/dogtail.rb
+++ b/features/support/helpers/dogtail.rb
@@ -13,7 +13,6 @@ module Dogtail
:menu,
:menuItem,
:tab,
- :text,
:textentry,
]
@@ -170,13 +169,17 @@ module Dogtail
end
def get_field(key)
- run("print(#{build_line}.#{key})").stdout
+ run("print(#{build_line}.#{key})").stdout.chomp
end
def set_field(key, value)
run("#{build_line}.#{key} = #{self.class.value_to_s(value)}")
end
+ def text
+ get_field('text')
+ end
+
def proxy_call(method, args)
args_str = self.class.args_to_s(args)
method_call = "#{method.to_s}(#{args_str})"
diff --git a/features/torified_browsing.feature b/features/torified_browsing.feature
index f2c7a3a..45017a7 100644
--- a/features/torified_browsing.feature
+++ b/features/torified_browsing.feature
@@ -11,7 +11,7 @@ Feature: Browsing the web using the Tor Browser
When I start the Tor Browser
And the Tor Browser has started and loaded the startup page
And I open a page on the LAN web server in the Tor Browser
- Then I see "TorBrowserUnableToConnect.png" after at most 20 seconds
+ Then the Tor Browser shows the "Unable to connect" error
And no traffic was sent to the web server on the LAN
@check_tor_leaks
@@ -45,17 +45,6 @@ Feature: Browsing the web using the Tor Browser
And I click the HTML5 play button
And 1 application is playing audio after 10 seconds
- @check_tor_leaks
- Scenario: Watching a WebM video
- Given I have started Tails from DVD and logged in and the network is connected
- When I start the Tor Browser
- And the Tor Browser has started and loaded the startup page
- And I open the address "https://webm.html5.org/test.webm" in the Tor Browser
- And I click the blocked video icon
- And I see "TorBrowserNoScriptTemporarilyAllowDialog.png" after at most 30 seconds
- And I accept to temporarily allow playing this video
- Then I see "TorBrowserSampleRemoteWebMVideoFrame.png" after at most 180 seconds
-
Scenario: I can view a file stored in "~/Tor Browser" but not in ~/.gnupg
Given I have started Tails from DVD and logged in and the network is connected
And I copy "/usr/share/synaptic/html/index.html" to "/home/amnesia/Tor Browser/synaptic.html" as user "amnesia"