Dbus services are not isolated from session dbus
Bug #689800 reported by
Natalia Bidart
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Ubuntu One Control Panel |
Fix Released
|
High
|
dobey | ||
ubuntuone-control-panel (Ubuntu) |
Fix Released
|
High
|
Natalia Bidart |
Bug Description
When using the DBusTestCase to mock (real) dbus services, the system service is activated instead.
You can test this by running the tests in the ubuntuone-
./run-tests --integration
Be sure to have (for example) the ubuntu-sso-login dbus service running or the ubuntuone-
File "/home/
self.
twisted.
Related branches
lp:~dobey/ubuntuone-control-panel/fix-689800
- Natalia Bidart (community): Approve
- Roberto Alsina (community): Approve
-
Diff: 15 lines (+3/-1)1 file modifiedubuntuone/controlpanel/dbus_service.py (+3/-1)
Changed in ubuntuone-dev-tools: | |
status: | New → Confirmed |
importance: | Undecided → High |
Changed in ubuntuone-control-panel: | |
status: | Confirmed → Fix Committed |
Changed in ubuntuone-control-panel (Ubuntu): | |
status: | New → Triaged |
importance: | Undecided → High |
assignee: | nobody → Naty Bidart (nataliabidart) |
Changed in ubuntuone-control-panel (Ubuntu): | |
status: | Triaged → In Progress |
Changed in ubuntuone-control-panel (Ubuntu): | |
status: | In Progress → Fix Released |
Changed in ubuntuone-control-panel: | |
status: | Fix Committed → Fix Released |
To post a comment you must log in.
Moving to ubuntuone- control- panel which is where the real problem lies. There was a mutable default in one of the function definitions in an imported file, causing an initialization which connected to the running dbus session, as the private one has not yet been started. This is becuase u1trial imports the tests in order to query the test cases for what services need to be run, such as the dbus service.
After other failed attempts to debug the problem, I eventually found it by mokneypatching dbus.SessionSer vice() inside u1trial itself to simply raise an error when called. Was much easier than trying to create a simplified version of the same problem elsewhere. :)