diff options
author | anonym <anonym@riseup.net> | 2016-06-08 01:13:46 +0200 |
---|---|---|
committer | anonym <anonym@riseup.net> | 2016-06-08 01:13:46 +0200 |
commit | 7f420c02223a5bc9ccc566d02beceab095f5d9b2 (patch) | |
tree | f930b22cf1058a82b2cecbeb378b9a8950bba61f /features | |
parent | f2ae51326ee54486798b574155a1cf1800978962 (diff) | |
parent | 8bf737ed710e2b5dece6fc0ed71650083d534b15 (diff) |
Merge remote-tracking branch 'origin/testing' into test/10381-fix-I-open-the-address-test-is-fragile
Diffstat (limited to 'features')
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 Binary files differindex 294374b..65b3cac 100644 --- a/features/images/CupsTestPage.png +++ b/features/images/CupsTestPage.png diff --git a/features/images/IcedoveEnigmailKeyserver.png b/features/images/IcedoveEnigmailKeyserver.png Binary files differindex 8595eba..afe56ad 100644 --- a/features/images/IcedoveEnigmailKeyserver.png +++ b/features/images/IcedoveEnigmailKeyserver.png diff --git a/features/images/IcedoveEnigmailProxy.png b/features/images/IcedoveEnigmailProxy.png Binary files differindex e0c5153..10c034f 100644 --- a/features/images/IcedoveEnigmailProxy.png +++ b/features/images/IcedoveEnigmailProxy.png diff --git a/features/images/TorBrowserStartupPage.png b/features/images/TorBrowserStartupPage.png Binary files differdeleted file mode 100644 index bd9b948..0000000 --- a/features/images/TorBrowserStartupPage.png +++ /dev/null diff --git a/features/images/TorBrowserTailsRoadmap.png b/features/images/TorBrowserTailsRoadmap.png Binary files differdeleted file mode 100644 index d6c9321..0000000 --- a/features/images/TorBrowserTailsRoadmap.png +++ /dev/null diff --git a/features/images/TorBrowserUnableToConnect.png b/features/images/TorBrowserUnableToConnect.png Binary files differdeleted file mode 100644 index bd6d251..0000000 --- a/features/images/TorBrowserUnableToConnect.png +++ /dev/null diff --git a/features/images/UnsafeBrowserNoAddons.png b/features/images/UnsafeBrowserNoAddons.png Binary files differindex 75c426d..54cf7bd 100644 --- a/features/images/UnsafeBrowserNoAddons.png +++ b/features/images/UnsafeBrowserNoAddons.png diff --git a/features/images/UnsafeBrowserRedTheme.png b/features/images/UnsafeBrowserRedTheme.png Binary files differindex d48e43b..7c26b58 100644 --- a/features/images/UnsafeBrowserRedTheme.png +++ b/features/images/UnsafeBrowserRedTheme.png 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" |