Commit 58f005b5 authored by segfault's avatar segfault
Browse files

Merge commit '70091e58' (Tails 3.0~beta3 release) into feature/5688-tails-server

parents e8adad89 70091e58
TailsGreeterLoginButton.png
\ No newline at end of file
...@@ -7,10 +7,8 @@ Feature: Localization ...@@ -7,10 +7,8 @@ Feature: Localization
@doc @doc
Scenario: The Report an Error launcher will open the support documentation in supported non-English locales Scenario: The Report an Error launcher will open the support documentation in supported non-English locales
Given I have started Tails from DVD without network and stopped at Tails Greeter's login screen Given I have started Tails from DVD without network and stopped at Tails Greeter's login screen
And the network is plugged
And I log in to a new session in German And I log in to a new session in German
And Tor is ready When I double-click on the Report an Error launcher on the desktop
When I double-click the Report an Error launcher on the desktop
Then the support documentation page opens in Tor Browser Then the support documentation page opens in Tor Browser
#11711 #11711
......
...@@ -46,7 +46,7 @@ opt_parser = OptionParser.new do |opts| ...@@ -46,7 +46,7 @@ opt_parser = OptionParser.new do |opts|
end end
opt_parser.parse!(ARGV) opt_parser.parse!(ARGV)
cmd = ARGV.join(" ") cmd = ARGV.join(" ")
c = RemoteShell::Command.new(FakeVM.new, cmd, cmd_opts) c = RemoteShell::ShellCommand.new(FakeVM.new, cmd, cmd_opts)
puts "Return status: #{c.returncode}" puts "Return status: #{c.returncode}"
puts "STDOUT:\n#{c.stdout}" puts "STDOUT:\n#{c.stdout}"
puts "STDERR:\n#{c.stderr}" puts "STDERR:\n#{c.stderr}"
......
...@@ -14,6 +14,13 @@ Given /^the only hosts in APT sources are "([^"]*)"$/ do |hosts_str| ...@@ -14,6 +14,13 @@ Given /^the only hosts in APT sources are "([^"]*)"$/ do |hosts_str|
end end
end end
Given /^no proposed-updates APT suite is enabled$/ do
apt_sources = $vm.execute_successfully(
'cat /etc/apt/sources.list /etc/apt/sources.list.d/*'
).stdout
assert_no_match(/\s\S+-proposed-updates\s/, apt_sources)
end
When /^I configure APT to use non-onion sources$/ do When /^I configure APT to use non-onion sources$/ do
script = <<-EOF script = <<-EOF
use strict; use strict;
...@@ -64,8 +71,9 @@ When /^I start Synaptic$/ do ...@@ -64,8 +71,9 @@ When /^I start Synaptic$/ do
@synaptic = Dogtail::Application.new('synaptic') @synaptic = Dogtail::Application.new('synaptic')
# The seemingly spurious space is needed because that is how this # The seemingly spurious space is needed because that is how this
# frame is named... # frame is named...
@synaptic.child('Synaptic Package Manager ', roleName: 'frame', @synaptic.child(
recursive: false).wait 'Synaptic Package Manager ', roleName: 'frame', recursive: false
)
end end
When /^I update APT using Synaptic$/ do When /^I update APT using Synaptic$/ do
...@@ -78,8 +86,9 @@ When /^I update APT using Synaptic$/ do ...@@ -78,8 +86,9 @@ When /^I update APT using Synaptic$/ do
try_for(15*60, :msg => "Took too much time to download the APT data") { try_for(15*60, :msg => "Took too much time to download the APT data") {
!$vm.has_process?("/usr/lib/apt/methods/tor+http") !$vm.has_process?("/usr/lib/apt/methods/tor+http")
} }
if @synaptic.child(roleName: 'dialog', recursive: false).child('Error', roleName: 'icon', retry: false).exist? assert_raise(RuntimeError) do
raise "Updating APT with Synaptic failed." @synaptic.child(roleName: 'dialog', recursive: false)
.child('Error', roleName: 'icon', retry: false)
end end
if !$vm.has_process?("synaptic") if !$vm.has_process?("synaptic")
raise "Synaptic process vanished, did it segfault again?" raise "Synaptic process vanished, did it segfault again?"
...@@ -96,7 +105,6 @@ Then /^I install "(.+)" using Synaptic$/ do |package_name| ...@@ -96,7 +105,6 @@ Then /^I install "(.+)" using Synaptic$/ do |package_name|
retry_tor(recovery_proc) do retry_tor(recovery_proc) do
@synaptic.button('Search').click @synaptic.button('Search').click
find_dialog = @synaptic.dialog('Find') find_dialog = @synaptic.dialog('Find')
find_dialog.wait(10)
find_dialog.child(roleName: 'text').typeText(package_name) find_dialog.child(roleName: 'text').typeText(package_name)
find_dialog.button('Search').click find_dialog.button('Search').click
package_list = @synaptic.child('Installed Version', package_list = @synaptic.child('Installed Version',
...@@ -104,10 +112,12 @@ Then /^I install "(.+)" using Synaptic$/ do |package_name| ...@@ -104,10 +112,12 @@ Then /^I install "(.+)" using Synaptic$/ do |package_name|
package_entry = package_list.child(package_name, roleName: 'table cell') package_entry = package_list.child(package_name, roleName: 'table cell')
package_entry.doubleClick package_entry.doubleClick
@synaptic.button('Apply').click @synaptic.button('Apply').click
apply_prompt = @synaptic.dialog('Summary') apply_prompt = nil
apply_prompt.wait(60) try_for(60) { apply_prompt = @synaptic.dialog('Summary'); true }
apply_prompt.button('Apply').click apply_prompt.button('Apply').click
@synaptic.child('Changes applied', roleName: 'frame', try_for(4*60) do
recursive: false).wait(4*60) @synaptic.child('Changes applied', roleName: 'frame', recursive: false)
true
end
end end
end end
Supports Markdown
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