Merge lp:~saviq/unity8/fix-mir-autopilot into lp:unity8

Proposed by Michał Sawicz
Status: Merged
Approved by: Francis Ginther
Approved revision: 396
Merged at revision: 397
Proposed branch: lp:~saviq/unity8/fix-mir-autopilot
Merge into: lp:unity8
Diff against target: 54 lines (+16/-7)
2 files modified
main.cpp (+3/-3)
tests/autopilot/unity8/shell/tests/__init__.py (+13/-4)
To merge this branch: bzr merge lp:~saviq/unity8/fix-mir-autopilot
Reviewer Review Type Date Requested Status
PS Jenkins bot (community) continuous-integration Approve
Gerry Boland (community) Approve
Review via email: mp+189350@code.launchpad.net

Commit message

Respect pre-set import and library paths and prevent segfault in startShell.

To post a comment you must log in.
Revision history for this message
Gerry Boland (gerboland) wrote :

Fixes AP!

review: Approve
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :

FAILED: Continuous integration, rev:394
http://jenkins.qa.ubuntu.com/job/unity8-ci/1260/
Executed test runs:
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-saucy/4540
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-touch/2324
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/unity-phablet-qmluitests-saucy/2094
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-saucy-amd64-ci/283
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-saucy-armhf-ci/1260
        deb: http://jenkins.qa.ubuntu.com/job/unity8-saucy-armhf-ci/1260/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-saucy-i386-ci/1259
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/autopilot-testrunner-otto-saucy/824
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-amd64/415
        deb: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-amd64/415/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-armhf/2326
        deb: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-armhf/2326/artifact/work/output/*zip*/output.zip
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-runner-maguro/2000
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-runner-mako/2014

Click here to trigger a rebuild:
http://s-jenkins:8080/job/unity8-ci/1260/rebuild

review: Needs Fixing (continuous-integration)
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
Francis Ginther (fginther) wrote :

A necessary job change caused the mako failure, re-approving.

Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :

FAILED: Autolanding.
More details in the following jenkins job:
http://10.97.0.26:8080/job/unity8-autolanding/591/
Executed test runs:
    SUCCESS: http://10.97.0.26:8080/job/generic-cleanup-mbs/2720
    FAILURE: http://10.97.0.26:8080/job/generic-mediumtests-saucy/4660/console
    FAILURE: http://10.97.0.26:8080/job/generic-mediumtests-touch/2463/console
    UNSTABLE: http://10.97.0.26:8080/job/unity-phablet-qmluitests-saucy/2138
    SUCCESS: http://10.97.0.26:8080/job/unity8-saucy-amd64-autolanding/176
    SUCCESS: http://10.97.0.26:8080/job/unity8-saucy-armhf-autolanding/595
        deb: http://10.97.0.26:8080/job/unity8-saucy-armhf-autolanding/595/artifact/work/output/*zip*/output.zip
    SUCCESS: http://10.97.0.26:8080/job/unity8-saucy-i386-autolanding/595
    FAILURE: http://10.97.0.26:8080/job/autopilot-testrunner-otto-saucy/849/console
    SUCCESS: http://10.97.0.26:8080/job/generic-mediumtests-builder-saucy-amd64/535
        deb: http://10.97.0.26:8080/job/generic-mediumtests-builder-saucy-amd64/535/artifact/work/output/*zip*/output.zip
    SUCCESS: http://10.97.0.26:8080/job/generic-mediumtests-builder-saucy-armhf/2465
        deb: http://10.97.0.26:8080/job/generic-mediumtests-builder-saucy-armhf/2465/artifact/work/output/*zip*/output.zip
    FAILURE: http://10.97.0.26:8080/job/generic-mediumtests-runner-maguro/2024/console
    FAILURE: http://10.97.0.26:8080/job/generic-mediumtests-runner-mako/2037/console

review: Needs Fixing (continuous-integration)
Revision history for this message
Francis Ginther (fginther) wrote :

The autopilot testing (all three jobs) ran into a package version conflict. A 'newer' version of qtdeclarative5-unity-notifications-plugin showed up in the ubuntu archive, but it was apparently older source and didn't contain the version bump to unity-notifications-impl-2. The version in the local archive (10.97.0.6) did, but wasn't the candidate version and therefore couldn't be installed through dependency resolution from unity8:

# apt-cache policy qtdeclarative5-unity-notifications-plugin
qtdeclarative5-unity-notifications-plugin:
  Installed: (none)
  Candidate: 0.1.1+13.10.20131004.2-0ubuntu1
  Version table:
     0.1.1+13.10.20131004.2-0ubuntu1 0
        500 http://archive.ubuntu.com/ubuntu/ saucy/universe amd64 Packages
     0.1.1bzr177pkg0saucy0 0
        500 http://10.97.0.6/archive//head.unity8/ saucy/ Packages

I believe this is fixed by an internal rebuild of unity-notifications to pick up the changelog version bump that was done. After the rebuild and apt-get update this should now work:

# apt-cache policy qtdeclarative5-unity-notifications-plugin
qtdeclarative5-unity-notifications-plugin:
  Installed: (none)
  Candidate: 0.1.1+13.10.20131005bzr177pkg0saucy9
  Version table:
     0.1.1+13.10.20131005bzr177pkg0saucy9 0
        500 http://10.97.0.6/archive//head.unity8/ saucy/ Packages
     0.1.1+13.10.20131004.2-0ubuntu1 0
        500 http://archive.ubuntu.com/ubuntu/ saucy/universe amd64 Packages

The MP was re-approved to re-run all the testing.

Revision history for this message
PS Jenkins bot (ps-jenkins) :
review: Approve (continuous-integration)

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'main.cpp'
2--- main.cpp 2013-09-27 14:09:23 +0000
3+++ main.cpp 2013-10-04 16:03:42 +0000
4@@ -160,10 +160,10 @@
5 prependImportPaths(view->engine(), ::overrideImportPaths());
6 appendImportPaths(view->engine(), ::fallbackImportPaths());
7
8- QStringList importPath = view->engine()->importPathList().filter("qt5/imports");
9 if (isUbuntuMirServer) {
10- importPath.first().append("/Unity-Mir");
11- view->engine()->addImportPath(importPath.first());
12+ QStringList importPaths = view->engine()->importPathList();
13+ importPaths.replaceInStrings(QRegExp("qt5/imports$"), "qt5/imports/Unity-Mir");
14+ view->engine()->setImportPathList(importPaths);
15 }
16
17 view->setSource(source);
18
19=== modified file 'tests/autopilot/unity8/shell/tests/__init__.py'
20--- tests/autopilot/unity8/shell/tests/__init__.py 2013-10-03 21:26:52 +0000
21+++ tests/autopilot/unity8/shell/tests/__init__.py 2013-10-04 16:03:42 +0000
22@@ -183,10 +183,14 @@
23 def patch_lightdm_mock(self, mock_type='single'):
24 self._lightdm_mock_type = mock_type
25 logger.info("Setting up LightDM mock type '%s'", mock_type)
26- new_ld_library_path = "%s:%s" % (
27+ new_ld_library_path = [
28 get_default_extra_mock_libraries(),
29 self._get_lightdm_mock_path(mock_type)
30- )
31+ ]
32+ if os.getenv('LD_LIBRARY_PATH') is not None:
33+ new_ld_library_path.append(os.getenv('LD_LIBRARY_PATH'))
34+
35+ new_ld_library_path = ':'.join(new_ld_library_path)
36 logger.info("New library path: %s", new_ld_library_path)
37
38 self.patch_environment('LD_LIBRARY_PATH', new_ld_library_path)
39@@ -205,8 +209,13 @@
40 return lightdm_mock_path
41
42 def _setup_extra_mock_environment_patch(self):
43- mocks_library_path = get_mocks_library_path()
44- self.patch_environment('QML2_IMPORT_PATH', mocks_library_path)
45+ qml_import_path = [get_mocks_library_path()]
46+ if os.getenv('QML2_IMPORT_PATH') is not None:
47+ qml_import_path.append(os.getenv('QML2_IMPORT_PATH'))
48+
49+ qml_import_path = ':'.join(qml_import_path)
50+ logger.info("New QML2 import path: %s", qml_import_path)
51+ self.patch_environment('QML2_IMPORT_PATH', qml_import_path)
52
53 def _set_proxy(self, proxy):
54 """Keep a copy of the proxy object, so we can use it to get common

Subscribers

People subscribed via source and target branches