[Qa-jenkins-scm] [jenkins.debian.net] 06/11: lvc: lift helpers from latest tails to see if that helps at all

Holger Levsen holger at layer-acht.org
Tue Aug 1 04:54:51 UTC 2017


This is an automated email from the git hooks/post-receive script.

holger pushed a commit to branch master
in repository jenkins.debian.net.

commit aebcbc6644b1bf242e68d2b40b4a92c90455b1b7
Author: Philip Hands <phil at hands.com>
Date:   Wed Jun 21 20:40:30 2017 +0200

    lvc: lift helpers from latest tails to see if that helps at all
    
    Signed-off-by: Holger Levsen <holger at layer-acht.org>
---
 cucumber/features/support/helpers/sikuli_helper.rb |  2 +-
 cucumber/features/support/helpers/vm_helper.rb     | 41 +++++++++++++---------
 2 files changed, 25 insertions(+), 18 deletions(-)

diff --git a/cucumber/features/support/helpers/sikuli_helper.rb b/cucumber/features/support/helpers/sikuli_helper.rb
index 167eded..264a3ec 100644
--- a/cucumber/features/support/helpers/sikuli_helper.rb
+++ b/cucumber/features/support/helpers/sikuli_helper.rb
@@ -232,7 +232,7 @@ sikuli_settings.OcrDataPath = $config["TMPDIR"]
 # positives).
 sikuli_settings.MinSimilarity = 0.9
 sikuli_settings.ActionLogs = true
-sikuli_settings.DebugLogs = false
+sikuli_settings.DebugLogs = true
 sikuli_settings.InfoLogs = true
 sikuli_settings.ProfileLogs = false
 sikuli_settings.WaitScanRate = 0.25
diff --git a/cucumber/features/support/helpers/vm_helper.rb b/cucumber/features/support/helpers/vm_helper.rb
index be3ae5f..5722772 100644
--- a/cucumber/features/support/helpers/vm_helper.rb
+++ b/cucumber/features/support/helpers/vm_helper.rb
@@ -77,7 +77,7 @@ class VM
     rexml.elements['domain'].add_element('name')
     rexml.elements['domain/name'].text = @domain_name
     begin
-      old_domain = @virt.lookup_domain_by_name(LIBVIRT_DOMAIN_NAME)
+      old_domain = @virt.lookup_domain_by_name(@domain_name)
       rexml.elements['domain'].add_element('uuid')
       rexml.elements['domain/uuid'].text = old_domain.uuid
       old_domain.undefine
@@ -460,8 +460,13 @@ class VM
     return execute(cmd, options)
   end
 
-  def wait_until_remote_shell_is_up(timeout = 180)
-    VMCommand.wait_until_remote_shell_is_up(self, timeout)
+  def wait_until_remote_shell_is_up(timeout = 90)
+    msg = 'hello?'
+    try_for(timeout, :msg => "Remote shell seems to be down") do
+      Timeout::timeout(3) do
+        execute_successfully("echo '#{msg}'").stdout.chomp == msg
+      end
+    end
   end
 
   def host_to_guest_time_sync
@@ -527,22 +532,24 @@ class VM
     execute("test -d '#{directory}'").success?
   end
 
-  def file_content(file, user = 'root')
-    # We don't quote #{file} on purpose: we sometimes pass environment variables
-    # or globs that we want to be interpreted by the shell.
-    cmd = execute("cat #{file}", :user => user)
-    assert(cmd.success?,
-           "Could not cat '#{file}':\n#{cmd.stdout}\n#{cmd.stderr}")
-    return cmd.stdout
+  def file_open(path)
+    f = RemoteShell::File.new(self, path)
+    yield f if block_given?
+    return f
   end
 
-  def file_append(file, lines, user = 'root')
-    lines = lines.split("\n") if lines.class == String
-    lines.each do |line|
-      cmd = execute("echo '#{line}' >> '#{file}'", :user => user)
-      assert(cmd.success?,
-             "Could not append to '#{file}':\n#{cmd.stdout}\n#{cmd.stderr}")
-    end
+  def file_content(path)
+    file_open(path) { |f| return f.read() }
+  end
+
+  def file_overwrite(path, lines)
+    lines = lines.join("\n") if lines.class == Array
+    file_open(path) { |f| return f.write(lines) }
+  end
+
+  def file_append(path, lines)
+    lines = lines.join("\n") if lines.class == Array
+    file_open(path) { |f| return f.append(lines) }
   end
 
   def set_clipboard(text)

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/qa/jenkins.debian.net.git



More information about the Qa-jenkins-scm mailing list