All of lore.kernel.org
 help / color / mirror / Atom feed
From: Elliot Smith <elliot.smith@intel.com>
To: toaster@yoctoproject.org
Subject: [PATCH][v2 7/8] toaster-tests: fix tests for latest Selenium version
Date: Tue,  7 Jun 2016 16:37:28 +0100	[thread overview]
Message-ID: <1465313849-20109-7-git-send-email-elliot.smith@intel.com> (raw)
In-Reply-To: <1465313849-20109-1-git-send-email-elliot.smith@intel.com>

Previously, we didn't specify a specific version of Selenium.
When upgrading to Python 3 and installing Selenium to work with it,
the JS unit test broke, as the report format produced by Selenium
had changed.

Modify the test so that it works with the latest Selenium report
format.

Add a note to the README that the given Selenium version should
be used to prevent unexpected test failures.

Signed-off-by: Elliot Smith <elliot.smith@intel.com>
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
---
 bitbake/lib/toaster/tests/browser/README                | 7 ++++---
 bitbake/lib/toaster/tests/browser/test_js_unit_tests.py | 8 ++++----
 bitbake/lib/toaster/toastergui/static/js/tests/test.js  | 8 --------
 3 files changed, 8 insertions(+), 15 deletions(-)

diff --git a/bitbake/lib/toaster/tests/browser/README b/bitbake/lib/toaster/tests/browser/README
index 63e8169..f57154e 100644
--- a/bitbake/lib/toaster/tests/browser/README
+++ b/bitbake/lib/toaster/tests/browser/README
@@ -4,10 +4,11 @@ These tests require Selenium to be installed in your Python environment.
 
 The simplest way to install this is via pip:
 
-  pip install selenium
+  pip install selenium==2.53.2
 
-Alternatively, if you used pip to install the libraries required by Toaster,
-selenium will already be installed.
+Note that if you use other versions of Selenium, some of the tests (such as
+tests.browser.test_js_unit_tests.TestJsUnitTests) may fail, as these rely on
+a Selenium test report with a version-specific format.
 
 To run tests against Chrome:
 
diff --git a/bitbake/lib/toaster/tests/browser/test_js_unit_tests.py b/bitbake/lib/toaster/tests/browser/test_js_unit_tests.py
index e63da8e..3c0b962 100644
--- a/bitbake/lib/toaster/tests/browser/test_js_unit_tests.py
+++ b/bitbake/lib/toaster/tests/browser/test_js_unit_tests.py
@@ -38,11 +38,11 @@ class TestJsUnitTests(SeleniumTestCase):
     def test_that_js_unit_tests_pass(self):
         url = reverse('js-unit-tests')
         self.get(url)
-        self.wait_until_present('#tests-failed')
+        self.wait_until_present('#qunit-testresult .failed')
 
-        failed = self.find("#tests-failed").text
-        passed = self.find("#tests-passed").text
-        total = self.find("#tests-total").text
+        failed = self.find("#qunit-testresult .failed").text
+        passed = self.find("#qunit-testresult .passed").text
+        total = self.find("#qunit-testresult .total").text
 
         logger.info("Js unit tests completed %s out of %s passed, %s failed",
                     passed,
diff --git a/bitbake/lib/toaster/toastergui/static/js/tests/test.js b/bitbake/lib/toaster/toastergui/static/js/tests/test.js
index 2b62118..44b7522 100644
--- a/bitbake/lib/toaster/toastergui/static/js/tests/test.js
+++ b/bitbake/lib/toaster/toastergui/static/js/tests/test.js
@@ -2,14 +2,6 @@
 /* Unit tests for Toaster's JS */
 
 /* libtoaster tests */
-QUnit.done(function(details){
-    /* Selenium test will look for these elements to get the results */
-  var body = $('body');
-  body.append("<span id='tests-failed'>"+details.failed+"</span>");
-  body.append("<span id='tests-passed'>"+details.passed+"</span>");
-  body.append("<span id='tests-total'>"+details.total+"</span>");
-});
-
 QUnit.test("Layer alert notification", function(assert) {
   var layer = {
     "layerdetailurl":"/toastergui/project/1/layer/22",
-- 
1.9.3

---------------------------------------------------------------------
Intel Corporation (UK) Limited
Registered No. 1134945 (England)
Registered Office: Pipers Way, Swindon SN3 1RJ
VAT No: 860 2173 47

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.



  parent reply	other threads:[~2016-06-07 15:38 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-06-07 15:37 [PATCH][v2 1/8] toaster: replace viewkeys() -> keys() Elliot Smith
2016-06-07 15:37 ` [PATCH][v2 2/8] toaster: fix migrations Elliot Smith
2016-06-09 17:07   ` Michael Wood
2016-06-10  7:16     ` Bartosh, Eduard
2016-06-07 15:37 ` [PATCH][v2 3/8] toaster: decode response content Elliot Smith
2016-06-07 15:37 ` [PATCH][v2 4/8] toaster: fix incorrect file mode Elliot Smith
2016-06-07 15:37 ` [PATCH][v2 5/8] toaster: fix test_toaster_tables Elliot Smith
2016-06-07 15:37 ` [PATCH][v2 6/8] toaster: fix broken reference to urllib Elliot Smith
2016-06-07 15:37 ` Elliot Smith [this message]
2016-06-07 15:37 ` [PATCH][v2 8/8] toaster: open image files in binary mode when sending in response Elliot Smith

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1465313849-20109-7-git-send-email-elliot.smith@intel.com \
    --to=elliot.smith@intel.com \
    --cc=toaster@yoctoproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.