Merge lp://staging/~autopilot/autopilot-qt/update-for-1.3 into lp://staging/autopilot-qt

Proposed by Thomi Richards
Status: Merged
Approved by: Thomi Richards
Approved revision: 60
Merged at revision: 53
Proposed branch: lp://staging/~autopilot/autopilot-qt/update-for-1.3
Merge into: lp://staging/autopilot-qt
Diff against target: 233 lines (+43/-23)
7 files modified
debian/changelog (+6/-0)
debian/control (+2/-2)
driver/qtnode.cpp (+13/-7)
driver/qtnode.h (+3/-1)
driver/rootnode.cpp (+8/-3)
driver/rootnode.h (+1/-0)
tests/unittests/tst_introspection.cpp (+10/-10)
To merge this branch: bzr merge lp://staging/~autopilot/autopilot-qt/update-for-1.3
Reviewer Review Type Date Requested Status
Thomi Richards (community) Approve
PS Jenkins bot continuous-integration Approve
Michael Zanetti (community) Needs Fixing
Review via email: mp+159545@code.staging.launchpad.net

Commit message

Update dbus wire protocol to that needed for 1.3

Description of the change

This branch changes autopilot-qt to build against the latest libxpathselect, and updates it's dbus wire protocol to the latest version.

To post a comment you must log in.
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
Michael Zanetti (mzanetti) wrote :

Given that this is a Qt project I think we should try to adapt Qt quidelines.

Please use QString instead of std::string and one of Qt's shared pointer mechanisms. In fact, I'm not a big fan of shared pointers at all as in most cases they lead to bad design choices. So if not really necessary, try avoiding those.

review: Needs Fixing
Revision history for this message
Michael Zanetti (mzanetti) wrote :

I'd like to get the tests from the other MP merged before this for 2 reasons:
- knowing what this breaks before merging it
- the tests should still be released to raring while this will not.

Revision history for this message
Thomi Richards (thomir-deactivatedaccount) wrote :

> Given that this is a Qt project I think we should try to adapt Qt quidelines.
>
> Please use QString instead of std::string and one of Qt's shared pointer
> mechanisms.

Michael,

The GetName and GetPath methods are defined in xpathselect. We cannot use QStrings here since xpathselect does not (and should not) rely on Qt. Similarly, we use std::shared_ptr because that's what the interface defines.

> In fact, I'm not a big fan of shared pointers at all as in most
> cases they lead to bad design choices. So if not really necessary, try
> avoiding those.

I'm not sure what you mean - this is a classic case where shared_ptrs are necessary. Qt has it's fancy copy-on-write semantics which make passing objects around by value very cheap, but other toolkits don't have that. Since we're dealing with an interface that has to be toolkit-agnostic, we can't start using Qt's magic.

Revision history for this message
Thomi Richards (thomir-deactivatedaccount) wrote :

> I'd like to get the tests from the other MP merged before this for 2 reasons:
> - knowing what this breaks before merging it
> - the tests should still be released to raring while this will not.

I'm happy if you want to merge the tests with trunk, but please remember that trunk will never get released into raring. If you want your tests to go into raring you need to merge them in the stable branch.

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

7 + * Bump version number

Doesn't seem to describe what this changeset actually does

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

hmm.. doesn't build in jenkins because libpathselect >= 1.3 cannot be found. Is that already in some PPA I could add to the job?

Revision history for this message
Michael Zanetti (mzanetti) wrote :

> The GetName and GetPath methods are defined in xpathselect. We cannot use
> QStrings here since xpathselect does not (and should not) rely on Qt.
> Similarly, we use std::shared_ptr because that's what the interface defines.

Right... missed that.

Revision history for this message
Michael Zanetti (mzanetti) wrote :

Tests are merged to trunk and they fail because of the GatPath changes.

This would need to be merged with them and updated to pass CI (once Jenkins can find libxpathselect >= 1.3.)

review: Needs Fixing
Revision history for this message
Michael Terry (mterry) wrote :

> Doesn't seem to describe what this changeset actually does

The other change will be added to the changelog by jenkins due to the linked bug.

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 :
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
PS Jenkins bot (ps-jenkins) wrote :
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
PS Jenkins bot (ps-jenkins) wrote :
review: Approve (continuous-integration)
Revision history for this message
Thomi Richards (thomir-deactivatedaccount) wrote :

CI job passes, tests pass. Approving now.

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
The diff is not available at this time. You can reload the page or download it.

Subscribers

People subscribed via source and target branches

to all changes: