python 3 fixes
cover python 3 fixes
Hi,
With this set of fixes I was able to run Toaster and build core-image-minimal for 'Local Yocto Project'.
The following changes since commit 14d075921ef5c5577a0a0acc394399b10f4fcbe8:
toaster: Rework displaying package dependencies across Toaster (2016-06-06 15:25:44 +0300)
are available in the git repository at:
git://git.yoctoproject.org/poky-contrib ed/toaster/python3
http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=ed/toaster/python3
Ed Bartosh (6):
bitbake: toaster: use python3 explicitly
toaster: replace viewkeys() -> keys()
toaster: fix migrations
toaster: decode response content
toaster: fix incorrect file mode
toaster: fix test_toaster_tables
Elliot Smith (3):
toaster: fix broken reference to urllib
toaster-tests: fix tests for latest Selenium version
toaster: open image files in binary mode when sending in response
bitbake/bin/toaster | 4 +- bitbake/lib/bb/ui/buildinfohelper.py | 2 +- .../migrations/0004_auto_20160523_1446.py | 34 +++++++++ .../orm/migrations/0007_auto_20160523_1446.py | 89 ++++++++++++++++++++++ bitbake/lib/toaster/tests/browser/README | 7 +- .../toaster/tests/browser/test_js_unit_tests.py | 8 +- bitbake/lib/toaster/toastergui/tests.py | 46 +++++------ bitbake/lib/toaster/toastergui/views.py | 2 +- bitbake/lib/toaster/toastergui/widgets.py | 2 +- 9 files changed, 156 insertions(+), 38 deletions(-) create mode 100644 bitbake/lib/toaster/bldcontrol/migrations/0004_auto_20160523_1446.py create mode 100644 bitbake/lib/toaster/orm/migrations/0007_auto_20160523_1446.py
--
Regards,
Ed
PATCH 1/9 bitbake: toaster: use python3 explicitly
Explicitly used python3 as default python for oe builds will continue to be python2.
[YOCTO #9584]
(Bitbake rev: fde5c962cb69a11b072d1f238c2371a5137d030d)
--- bitbake/bin/toaster | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
bitbake/bin/toaster +2 -2
@@ -115,10 +115,10 @@ verify_prereq() { exp='s/Django\([><=]\+\)\([^,]\+\),\([><=]\+\)\(.\+\)/' exp=$exp'import sys,django;version=django.get_version().split(".");' exp=$exp'sys.exit(not (version \1 "\2".split(".") and version \3 "\4".split(".")))/p' - if ! sed -n "$exp" $reqfile | python - ; then + if ! sed -n "$exp" $reqfile | python3 - ; then req=`grep ^Django $reqfile` echo "This program needs $req" - echo "Please install with pip install -r $reqfile" + echo "Please install with pip3 install --user -r $reqfile" return 2 fi
Signature · 1 line
2.1.4
PATCH 2/9 toaster: replace viewkeys() -> keys()
In reply to Ed BartoshPython 3 doesn't have dict.viewkeys method, renaming to keys().
[YOCTO #9584]
--- bitbake/lib/bb/ui/buildinfohelper.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
bitbake/lib/bb/ui/buildinfohelper.py +1 -1
@@ -1067,7 +1067,7 @@ class BuildInfoHelper(object): for t in self.internal_state['targets']: if t.is_image == True: - output_files = list(evdata.viewkeys()) + output_files = list(evdata.keys()) for output in output_files: if t.target in output and 'rootfs' in output and not output.endswith(".manifest"): self.orm_wrapper.save_target_image_file_information(t, output, evdata[output])
Signature · 1 line
2.1.4
PATCH 4/9 toaster: decode response content
In reply to Ed BartoshDecoded response content to str to pass it to json.load as it breaks in Python 3 with this error:
TypeError: expected bytes, bytearray or buffer compatible object
[YOCTO #9584]
--- bitbake/lib/toaster/toastergui/tests.py | 38 ++++++++++++++++----------------- 1 file changed, 19 insertions(+), 19 deletions(-)
bitbake/lib/toaster/toastergui/tests.py +19 -19
@@ -77,7 +77,7 @@ class ViewTests(TestCase): self.assertEqual(response.status_code, 200) self.assertTrue(response['Content-Type'].startswith('application/json')) - data = json.loads(response.content) + data = json.loads(response.content.decode('utf-8')) self.assertTrue("error" in data) self.assertEqual(data["error"], "ok")
@@ -106,7 +106,7 @@ class ViewTests(TestCase): self.assertEqual(response.status_code, 200) self.assertTrue(response['Content-Type'].startswith('application/json')) - data = json.loads(response.content) + data = json.loads(response.content.decode('utf-8')) self.assertTrue("error" in data) self.assertEqual(data["error"], "ok")
@@ -157,26 +157,26 @@ class ViewTests(TestCase): 'project_id': self.project.id, 'dir_path' : "/path/in/repository"} response = self.client.post(reverse('xhr_importlayer'), args) - data = json.loads(response.content) + data = json.loads(response.content.decode('utf-8')) self.assertEqual(response.status_code, 200) self.assertEqual(data["error"], "ok") #Test to verify import of a layer successful args['name'] = "meta-oe" response = self.client.post(reverse('xhr_importlayer'), args) - data = json.loads(response.content) + data = json.loads(response.content.decode('utf-8')) self.assertTrue(data["error"], "ok") #Test for html tag in the data args['<'] = "testing html tag" response = self.client.post(reverse('xhr_importlayer'), args) - data = json.loads(response.content) + data = json.loads(response.content.decode('utf-8')) self.assertNotEqual(data["error"], "ok") #Empty data passed args = {} response = self.client.post(reverse('xhr_importlayer'), args) - data = json.loads(response.content) + data = json.loads(response.content.decode('utf-8')) self.assertNotEqual(data["error"], "ok") def test_custom_ok(self):
@@ -186,7 +186,7 @@ class ViewTests(TestCase): 'base': self.recipe1.id} response = self.client.post(url, params) self.assertEqual(response.status_code, 200) - data = json.loads(response.content) + data = json.loads(response.content.decode('utf-8')) self.assertEqual(data['error'], 'ok') self.assertTrue('url' in data) # get recipe from the database
@@ -202,7 +202,7 @@ class ViewTests(TestCase): {'name': 'custom', 'project': self.project.id}]: response = self.client.post(url, params) self.assertEqual(response.status_code, 200) - data = json.loads(response.content) + data = json.loads(response.content.decode('utf-8')) self.assertNotEqual(data["error"], "ok") def test_xhr_custom_wrong_project(self):
@@ -211,7 +211,7 @@ class ViewTests(TestCase): params = {'name': 'custom', 'project': 0, "base": self.recipe1.id} response = self.client.post(url, params) self.assertEqual(response.status_code, 200) - data = json.loads(response.content) + data = json.loads(response.content.decode('utf-8')) self.assertNotEqual(data["error"], "ok") def test_xhr_custom_wrong_base(self):
@@ -220,7 +220,7 @@ class ViewTests(TestCase): params = {'name': 'custom', 'project': self.project.id, "base": 0} response = self.client.post(url, params) self.assertEqual(response.status_code, 200) - data = json.loads(response.content) + data = json.loads(response.content.decode('utf-8')) self.assertNotEqual(data["error"], "ok") def test_xhr_custom_details(self):
@@ -235,7 +235,7 @@ class ViewTests(TestCase): 'project_id': self.project.id, } } - self.assertEqual(json.loads(response.content), expected) + self.assertEqual(json.loads(response.content.decode('utf-8')), expected) def test_xhr_custom_del(self): """Test deleting custom recipe"""
@@ -248,12 +248,12 @@ class ViewTests(TestCase): url = reverse('xhr_customrecipe_id', args=(recipe.id,)) response = self.client.delete(url) self.assertEqual(response.status_code, 200) - self.assertEqual(json.loads(response.content), {"error": "ok"}) + self.assertEqual(json.loads(response.content.decode('utf-8')), {"error": "ok"}) # try to delete not-existent recipe url = reverse('xhr_customrecipe_id', args=(recipe.id,)) response = self.client.delete(url) self.assertEqual(response.status_code, 200) - self.assertNotEqual(json.loads(response.content)["error"], "ok") + self.assertNotEqual(json.loads(response.content.decode('utf-8'))["error"], "ok") def test_xhr_custom_packages(self): """Test adding and deleting package to a custom recipe"""
@@ -263,7 +263,7 @@ class ViewTests(TestCase): self.cust_package.id))) self.assertEqual(response.status_code, 200) - self.assertEqual(json.loads(response.content), + self.assertEqual(json.loads(response.content.decode('utf-8')), {"error": "ok"}) self.assertEqual(self.customr.appends_set.first().name, self.cust_package.name)
@@ -274,7 +274,7 @@ class ViewTests(TestCase): response = self.client.delete(del_url) self.assertEqual(response.status_code, 200) - self.assertEqual(json.loads(response.content), {"error": "ok"}) + self.assertEqual(json.loads(response.content.decode('utf-8')), {"error": "ok"}) all_packages = self.customr.get_all_packages().values_list('pk', flat=True)
@@ -286,7 +286,7 @@ class ViewTests(TestCase): response = self.client.delete(del_url) self.assertEqual(response.status_code, 200) - self.assertNotEqual(json.loads(response.content)["error"], "ok") + self.assertNotEqual(json.loads(response.content.decode('utf-8'))["error"], "ok") def test_xhr_custom_packages_err(self): """Test error conditions of xhr_customrecipe_packages"""
@@ -297,7 +297,7 @@ class ViewTests(TestCase): for method in (self.client.put, self.client.delete): response = method(url) self.assertEqual(response.status_code, 200) - self.assertNotEqual(json.loads(response.content), + self.assertNotEqual(json.loads(response.content.decode('utf-8')), {"error": "ok"}) def test_download_custom_recipe(self):
@@ -316,7 +316,7 @@ class ViewTests(TestCase): table = SoftwareRecipesTable() request = RequestFactory().get('/foo/', {'format': 'json'}) response = table.get(request, pid=self.project.id) - data = json.loads(response.content) + data = json.loads(response.content.decode('utf-8')) recipes = Recipe.objects.filter(Q(is_image=False)) self.assertTrue(len(recipes) > 1,
@@ -372,7 +372,7 @@ class ViewTests(TestCase): 'target_id': 1} response = table.get(request, **args) - return json.loads(response.content) + return json.loads(response.content.decode('utf-8')) def get_text_from_td(td): """If we have html in the td then extract the text portion"""
Signature · 1 line
2.1.4
PATCH 3/9 toaster: fix migrations
In reply to Ed Bartosh--- .../migrations/0004_auto_20160523_1446.py | 34 +++++++++ .../orm/migrations/0007_auto_20160523_1446.py | 89 ++++++++++++++++++++++ 2 files changed, 123 insertions(+) create mode 100644 bitbake/lib/toaster/bldcontrol/migrations/0004_auto_20160523_1446.py create mode 100644 bitbake/lib/toaster/orm/migrations/0007_auto_20160523_1446.py
bitbake/lib/toaster/bldcontrol/migrations/0004_auto_20160523_1446.py new file +34 -0
@@ -0,0 +1,34 @@ +# -*- coding: utf-8 -*- +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('bldcontrol', '0003_add_cancelling_state'), + ] + + operations = [ + migrations.AlterField( + model_name='buildenvironment', + name='bbstate', + field=models.IntegerField(default=0, choices=[(0, 'stopped'), (1, 'started')]), + ), + migrations.AlterField( + model_name='buildenvironment', + name='betype', + field=models.IntegerField(choices=[(0, 'local')]), + ), + migrations.AlterField( + model_name='buildenvironment', + name='lock', + field=models.IntegerField(default=0, choices=[(0, 'free'), (1, 'lock'), (2, 'running')]), + ), + migrations.AlterField( + model_name='buildrequest', + name='state', + field=models.IntegerField(default=0, choices=[(0, 'created'), (1, 'queued'), (2, 'in progress'), (3, 'completed'), (4, 'failed'), (5, 'deleted'), (6, 'cancelling'), (7, 'archive')]), + ), + ]
bitbake/lib/toaster/orm/migrations/0007_auto_20160523_1446.py new file +89 -0
89 lines not on this page · raw message
Signature · 1 line
2.1.4
PATCH 6/9 toaster: fix test_toaster_tables
In reply to Ed BartoshRemoved unneeded code as it causes the following error in Python 3:
TypeError: expected bytes, bytearray or buffer compatible object
--- bitbake/lib/toaster/toastergui/tests.py | 6 ------ 1 file changed, 6 deletions(-)
bitbake/lib/toaster/toastergui/tests.py +0 -6
@@ -382,12 +382,6 @@ class ViewTests(TestCase): else: ret = BeautifulSoup(td).text - # We change the td into ascii as a way to remove characters - # such as \xa0 (non break space) which mess with the ordering - # comparisons - ret.strip().encode('ascii', - errors='replace').replace('?', ' ') - # Case where the td is empty if len(ret): return "0" else:
Signature · 1 line
2.1.4
PATCH 7/9 toaster: fix broken reference to urllib
In reply to Ed BartoshFrom: Elliot Smith <[email protected]>
The code previously imported urllib to make use of querystring quoting, but was modified to support Python 3. During this process, the reference to urllib was not fixed, which resulted in table filters breaking.
Remove the reference to urllib (which is no longer imported) and instead reference the imported unquote_plus() function.
--- bitbake/lib/toaster/toastergui/widgets.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
bitbake/lib/toaster/toastergui/widgets.py +1 -1
@@ -219,7 +219,7 @@ class ToasterTable(TemplateView): try: filter_name, action_name = filters.split(':') - action_params = urllib.unquote_plus(filter_value) + action_params = unquote_plus(filter_value) except ValueError: return
Signature · 1 line
2.1.4
PATCH 5/9 toaster: fix incorrect file mode
In reply to Ed BartoshPython 3 complains about 'wa' mode this way:
ValueError: must have exactly one of create/read/write/append mode
Fixed by using 'a' mode.
[YOCTO #9584]
--- bitbake/lib/toaster/toastergui/tests.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
bitbake/lib/toaster/toastergui/tests.py +1 -1
@@ -304,7 +304,7 @@ class ViewTests(TestCase): """Download the recipe file generated for the custom image""" # Create a dummy recipe file for the custom image generation to read - open("/tmp/a_recipe.bb", 'wa').close() + open("/tmp/a_recipe.bb", 'a').close() response = self.client.get(reverse('customrecipedownload', args=(self.project.id, self.customr.id)))
Signature · 1 line
2.1.4
PATCH 8/9 toaster-tests: fix tests for latest Selenium version
In reply to Ed BartoshFrom: Elliot Smith <[email protected]>
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.
--- bitbake/lib/toaster/tests/browser/README | 7 ++++--- bitbake/lib/toaster/tests/browser/test_js_unit_tests.py | 8 ++++---- 2 files changed, 8 insertions(+), 7 deletions(-)
bitbake/lib/toaster/tests/browser/README +4 -3
@@ -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:
bitbake/lib/toaster/tests/browser/test_js_unit_tests.py +4 -4
@@ -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,
Signature · 1 line
2.1.4
PATCH 9/9 toaster: open image files in binary mode when sending in response
In reply to Ed BartoshFrom: Elliot Smith <[email protected]>
The view code for downloading image files used the "r" flag to read the file, then used the open file object to form the HTTP response.
While this worked in Python 2, Python 3 appears to be more strict about this sort of thing, and Django throws a UnicodeDecodeError when a file opened this way is used in a response.
Open the file with the "b" flag (binary mode) so that Django can correctly convert the binary file handle to an HTTP response.
--- bitbake/lib/toaster/toastergui/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
bitbake/lib/toaster/toastergui/views.py +1 -1
@@ -2339,7 +2339,7 @@ if True: ) if file_name and response_file_name: - fsock = open(file_name, "r") + fsock = open(file_name, "rb") content_type = MimeTypeFinder.get_mimetype(file_name) response = HttpResponse(fsock, content_type = content_type)
Signature · 1 line
2.1.4
Thanks Ed. I've been through and reviewed your patches from this series, and they look good to me.
Michael has said he will review my patches in this series.
Once they're all reviewed, I'll pull them into toaster-next.
Elliot
Quoted 56 lines · Ed Bartosh
Hi,
With this set of fixes I was able to run Toaster and build core-image-minimal for 'Local Yocto Project'.
The following changes since commit
14d075921ef5c5577a0a0acc394399b10f4fcbe8:toaster: Rework displaying package dependencies across Toaster
(2016-06-06 15:25:44 +0300)are available in the git repository at:
git://git.yoctoproject.org/poky-contribed/toaster/python3http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=ed/toaster/python3
Ed Bartosh (6):
bitbake: toaster: use python3 explicitly
toaster: replaceviewkeys()->keys()
toaster: fix migrations
toaster: decode response content
toaster: fix incorrect file mode
toaster: fixtest_toaster_tablesElliot Smith (3):
toaster: fix broken reference to urllib
toaster-tests: fix tests for latest Selenium version
toaster: open image files in binary mode when sending in responsebitbake/bin/toaster | 4 +- bitbake/lib/bb/ui/buildinfohelper.py | 2 +- .../migrations/0004_auto_20160523_1446.py | 34 +++++++++ .../orm/migrations/0007_auto_20160523_1446.py | 89 ++++++++++++++++++++++ bitbake/lib/toaster/tests/browser/README | 7 +- .../toaster/tests/browser/test_js_unit_tests.py | 8 +- bitbake/lib/toaster/toastergui/tests.py | 46 +++++------ bitbake/lib/toaster/toastergui/views.py | 2 +- bitbake/lib/toaster/toastergui/widgets.py | 2 +- 9 files changed, 156 insertions(+), 38 deletions(-) create mode 100644 bitbake/lib/toaster/bldcontrol/migrations/0004_auto_20160523_1446.py create mode 100644
bitbake/lib/toaster/orm/migrations/0007_auto_20160523_1446.py--
Regards,
Ed--
_______________________________________________
toaster mailing list
[email protected]
https://lists.yoctoproject.org/listinfo/toaster
Signature · 3 lines
Elliot Smith Software Engineer Intel Open Source Technology Centre
Hello Ed.
I've just run the Django unit tests, and there are some problems with
those: I get quite a lot of failures. Do you have plans to fix these, or are you finished with Python 3 patches now?
Thanks.
Elliot
Quoted 75 lines · Elliot
Thanks Ed. I've been through and reviewed your patches from this series, and they look good to me.
Michael has said he will review my patches in this series.
Once they're all reviewed, I'll pull them into toaster-next.
Elliot
Quoted 50 lines · Ed Bartosh
Hi,
With this set of fixes I was able to run Toaster and build core-image-minimal for 'Local Yocto Project'.
The following changes since commit
14d075921ef5c5577a0a0acc394399b10f4fcbe8:toaster: Rework displaying package dependencies across Toaster
(2016-06-06 15:25:44 +0300)are available in the git repository at:
git://git.yoctoproject.org/poky-contribed/toaster/python3http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=ed/toaster/python3
Ed Bartosh (6):
bitbake: toaster: use python3 explicitly
toaster: replaceviewkeys()->keys()
toaster: fix migrations
toaster: decode response content
toaster: fix incorrect file mode
toaster: fixtest_toaster_tablesElliot Smith (3):
toaster: fix broken reference to urllib
toaster-tests: fix tests for latest Selenium version
toaster: open image files in binary mode when sending in responsebitbake/bin/toaster | 4 +- bitbake/lib/bb/ui/buildinfohelper.py | 2 +- .../migrations/0004_auto_20160523_1446.py | 34 +++++++++ .../orm/migrations/0007_auto_20160523_1446.py | 89 ++++++++++++++++++++++ bitbake/lib/toaster/tests/browser/README | 7 +- .../toaster/tests/browser/test_js_unit_tests.py | 8 +- bitbake/lib/toaster/toastergui/tests.py | 46 +++++------ bitbake/lib/toaster/toastergui/views.py | 2 +- bitbake/lib/toaster/toastergui/widgets.py | 2 +- 9 files changed, 156 insertions(+), 38 deletions(-) create mode 100644 bitbake/lib/toaster/bldcontrol/migrations/0004_auto_20160523_1446.py create mode 100644
bitbake/lib/toaster/orm/migrations/0007_auto_20160523_1446.py--
Regards,
EdQuoted 6 lines
--
_______________________________________________
toaster mailing list
[email protected]
https://lists.yoctoproject.org/listinfo/toaster--
Elliot Smith
Software Engineer
Intel Open Source Technology Centre
Signature · 3 lines
Elliot Smith Software Engineer Intel Open Source Technology Centre
Re: [PATCH 8/9] toaster-tests: fix tests for latest Selenium version
In reply to Ed BartoshQuoted 44 lines · Ed Bartosh
From: Elliot Smith <[email protected]>
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 <[email protected]>Signed-off-by Ed Bartosh <[email protected]>--- bitbake/lib/toaster/tests/browser/README | 7 ++++--- bitbake/lib/toaster/tests/browser/test_js_unit_tests.py | 8 ++++---- 2 files changed, 8 insertions(+), 7 deletions(-)bitbake/lib/toaster/tests/browser/README +4
-3@@ -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:bitbake/lib/toaster/tests/browser/test_js_unit_tests.py +0
-0
bitbake/lib/toaster/tests/browser/test_js_unit_tests.py class TestJsUnitTests(SeleniumTestCase): · line 45
Quoted 9 lines
bitbake/lib/toaster/tests/browser/test_js_unit_tests.py +1
-4@@ -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
If these elements are no longer needed, can you also remove them from the jsunit test page (static/js/tests/tests.js) thanks
Quoted 6 lines
bitbake/lib/toaster/tests/browser/test_js_unit_tests.py +3
-0+ 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,
I've looked at Elliot's patches, apart from that one little thing it looks good to me.
Thanks,
Michael
Quoted 75 lines · Elliot
Thanks Ed. I've been through and reviewed your patches from this series, and they look good to me.
Michael has said he will review my patches in this series.
Once they're all reviewed, I'll pull them into toaster-next.
Elliot
On 6 June 2016 at 17:01, Ed Bartosh <[email protected] <mailto:[email protected]>> wrote:
Hi,
With this set of fixes I was able to run Toaster and build core-image-minimal for 'Local Yocto Project'.
The following changes since commit
14d075921ef5c5577a0a0acc394399b10f4fcbe8:toaster: Rework displaying package dependencies across Toaster
(2016-06-06 15:25:44 +0300)are available in the git repository at:
git://git.yoctoproject.org/poky-contrib
<http://git.yoctoproject.org/poky-contrib> ed/toaster/python3
http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=ed/toaster/python3Ed Bartosh (6):
bitbake: toaster: use python3 explicitly
toaster: replaceviewkeys()->keys()
toaster: fix migrations
toaster: decode response content
toaster: fix incorrect file mode
toaster: fixtest_toaster_tablesElliot Smith (3):
toaster: fix broken reference to urllib
toaster-tests: fix tests for latest Selenium version
toaster: open image files in binary mode when sending in responsebitbake/bin/toaster | 4 +-
bitbake/lib/bb/ui/buildinfohelper.py| 2 +-
.../migrations/0004_auto_20160523_1446.py| 34 +++++++++
.../orm/migrations/0007_auto_20160523_1446.py| 89
++++++++++++++++++++++
bitbake/lib/toaster/tests/browser/README | 7 +-
.../toaster/tests/browser/test_js_unit_tests.py| 8 +-
bitbake/lib/toaster/toastergui/tests.py| 46 +++++------
bitbake/lib/toaster/toastergui/views.py| 2 +-
bitbake/lib/toaster/toastergui/widgets.py| 2 +-
9 files changed, 156 insertions(+), 38 deletions(-) create mode 100644
bitbake/lib/toaster/bldcontrol/migrations/0004_auto_20160523_1446.py
create mode 100644
bitbake/lib/toaster/orm/migrations/0007_auto_20160523_1446.py--
Regards,
Ed--
_______________________________________________
toaster mailing list
[email protected] <mailto:[email protected]>
https://lists.yoctoproject.org/listinfo/toasterSignature · 3 lines
Elliot Smith Software Engineer Intel Open Source Technology Centre
I resubmitted this patch series with the change Michael requested, and also removed one of the patches from the original submission (1/9 toaster: use python3 explicitly), which is already in master.
Elliot
Quoted 101 lines · Michael Wood
I've looked at Elliot's patches, apart from that one little thing it looks good to me.
Thanks,
Michael
Quoted 73 lines · Elliot
Thanks Ed. I've been through and reviewed your patches from this series, and they look good to me.
Michael has said he will review my patches in this series.
Once they're all reviewed, I'll pull them into toaster-next.
Elliot
On 6 June 2016 at 17:01, Ed Bartosh <[email protected] <mailto:
[email protected]>> wrote:Hi,
With this set of fixes I was able to run Toaster and build core-image-minimal for 'Local Yocto Project'.
The following changes since commit
14d075921ef5c5577a0a0acc394399b10f4fcbe8:toaster: Rework displaying package dependencies across Toaster
(2016-06-06 15:25:44 +0300)are available in the git repository at:
git://git.yoctoproject.org/poky-contrib
<http://git.yoctoproject.org/poky-contrib> ed/toaster/python3http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=ed/toaster/python3
Ed Bartosh (6):
bitbake: toaster: use python3 explicitly
toaster: replaceviewkeys()->keys()
toaster: fix migrations
toaster: decode response content
toaster: fix incorrect file mode
toaster: fixtest_toaster_tablesElliot Smith (3):
toaster: fix broken reference to urllib
toaster-tests: fix tests for latest Selenium version
toaster: open image files in binary mode when sending in responsebitbake/bin/toaster | 4 +-
bitbake/lib/bb/ui/buildinfohelper.py| 2 +-
.../migrations/0004_auto_20160523_1446.py| 34 +++++++++
.../orm/migrations/0007_auto_20160523_1446.py| 89
++++++++++++++++++++++
bitbake/lib/toaster/tests/browser/README | 7 +-
.../toaster/tests/browser/test_js_unit_tests.py| 8 +-
bitbake/lib/toaster/toastergui/tests.py| 46 +++++------
bitbake/lib/toaster/toastergui/views.py| 2 +-
bitbake/lib/toaster/toastergui/widgets.py| 2 +-
9 files changed, 156 insertions(+), 38 deletions(-) create mode 100644
bitbake/lib/toaster/bldcontrol/migrations/0004_auto_20160523_1446.py
create mode 100644
bitbake/lib/toaster/orm/migrations/0007_auto_20160523_1446.py--
Regards,
Ed--
_______________________________________________
toaster mailing list
[email protected] <mailto:[email protected]>
https://lists.yoctoproject.org/listinfo/toasterQuoted 7 lines
--
Elliot Smith
Software Engineer
Intel Open Source Technology Centre---------------------------------------------------------------------
Intel Corporation (UK) Limited
Registered No. 1134945 (England)
Registered Office: Pipers Way, Swindon SN3 1RJ
VAT No: 860 2173 47This 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.
Signature · 3 lines
Elliot Smith Software Engineer Intel Open Source Technology Centre