I've spent some time to investigate this bug, here's my understanding.

The inactivity timer operates on a property of the OA.Manager object,
called "idle". If "idle" becomes true and stays true for the whole
duration of the timeout period (which by default is 5 seconds, and in
the tests is set to 2 seconds), then the service process quits.

The "idle" property is set to false if any client makes a call on the
D-Bus interface, and stays false until there are no active calls from
any client (that is, until not all client requests have been answered).
This means that the D-Bus service is free to come and go during the
lifetime of a long-running client, depending on whether the client is
actively using the D-Bus service or not.

But as I wrote in the comment above, this is not playing nice with the 
testAccountChanges() test case, which makes one D-Bus method call on its starts 
and then expects the service to stay alive and deliver change notifications.
We either need to increase the timeout during the tests (I wouldn't do that, 
since the next test duration would then need to be increased, to be meaningful) 
or place some method calls on the D-Bus service in testAccountChanges(), to 
keep the service alive. I'll try to go for this latter option.

Note: in the real world, this is not a problem: clients cannot directly
modify the accounts DB (it's read-only), all accounts modifications are
done through the online-accounts-service process (which is part of the
ubuntu-system-settings-online-accounts project), which was also chosen
to be the host for the OnlineAccounts.Manager D-Bus service. This means
that whenever an account is modified, the OnlineAccounts.Manager D-Bus
service will be active and able to detect modifications on the accounts
DB and signal them out.

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1603706

Title:
  Possible races in tst_daemon tests.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/online-accounts-api/+bug/1603706/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to