[Pkg-mozext-commits] [requestpolicy] 49/65: [tst][imp] marionette tests: extra data "gecko-log"

David Prévot taffit at moszumanska.debian.org
Fri Mar 25 22:59:50 UTC 2016


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

taffit pushed a commit to branch master
in repository requestpolicy.

commit 55b6429e535bb34bd766dc5f89393739af1b9f9d
Author: Martin Kimmerle <dev at 256k.de>
Date:   Tue Feb 2 12:12:45 2016 +0100

    [tst][imp] marionette tests: extra data "gecko-log"
---
 tests/marionette/rp_ui_harness/runner.py | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/tests/marionette/rp_ui_harness/runner.py b/tests/marionette/rp_ui_harness/runner.py
index 96c6079..9703bb8 100644
--- a/tests/marionette/rp_ui_harness/runner.py
+++ b/tests/marionette/rp_ui_harness/runner.py
@@ -4,6 +4,10 @@
 
 from firefox_ui_harness.runners.base import FirefoxUITestRunner
 from mozlog import get_default_logger
+import time
+import os
+import codecs
+from contextlib import contextmanager
 
 from rp_puppeteer.api.error_detection import (LoggingErrorDetection,
                                               ConsoleErrorDetection)
@@ -11,7 +15,15 @@ from rp_puppeteer.api.error_detection import (LoggingErrorDetection,
 
 class RequestPolicyUITestRunner(FirefoxUITestRunner):
 
+    next_gecko_log_starting_line = 1
+    gecko_log_relpath = None
+
     def __init__(self, **kwargs):
+        if kwargs["gecko_log"] is None:
+            kwargs["gecko_log"] = ("logs/marionette.{}.gecko.log"
+                                   ).format(int(time.time()))
+        self.gecko_log_relpath = kwargs["gecko_log"]
+
         FirefoxUITestRunner.__init__(self, **kwargs)
 
         def gather_debug(test, status):
@@ -57,3 +69,21 @@ class RequestPolicyUITestRunner(FirefoxUITestRunner):
                         ).format(n_diff)
             msg += "\n".join(console_errors)
             rv["console errors"] = msg
+
+        with self._gecko_log_file() as gecko_log:
+            # Take all lines except the last one, which is empty.
+            lines = gecko_log.read().split("\n")[:-1]
+            first_line = self.next_gecko_log_starting_line
+            last_line = len(lines)
+            self.next_gecko_log_starting_line = last_line + 1
+
+            less_lines = lines[(first_line - 1):]
+            rv["gecko-log"] = (("Lines {}-{}:\n\n"
+                                ).format(first_line, last_line) +
+                               "\n".join(less_lines))
+
+    @contextmanager
+    def _gecko_log_file(self):
+        abspath = os.path.abspath(self.gecko_log_relpath)
+        with codecs.open(abspath, "r", "utf-8") as file_obj:
+            yield file_obj

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-mozext/requestpolicy.git



More information about the Pkg-mozext-commits mailing list