Comment # 4 on bug 59571 from
And the 4th problem. Found when using EDS master. To reproduce (assuming that
you use jhbuild to set up EDS master, as I do):

cd /tmp/; mkdir -p testing; cd testing; export
XDG_CONFIG_HOME=/tmp/testing/temp-testpim/config
XDG_DATA_HOME=/tmp/testing/temp-testpim/local/cache; jhbuild run
~pohly/src/syncevolution/test/dbus-session.sh bash
PATH=/home/pohly/work/syncevolution/src:$PATH
~pohly/src/syncevolution/src/dbus/server/pim/testpim.py -v
TestContacts.testFilterStartup  2>&1 | tee /tmp/log

The testFilterStartup adds three contacts:
u'''BEGIN:VCARD
VERSION:3.0
N:Zoo;Abraham
NICKNAME:Ace
TEL:1234
TEL:56/78
TEL:+1-800-FOOBAR
TEL:089/788899
EMAIL:az@example.com
END:VCARD''',

u'''BEGIN:VCARD
VERSION:3.0
N:Yeah;Benjamin
TEL:+49-89-788899
END:VCARD''',

u'''BEGIN:VCARD
VERSION:3.0
FN:Charly 'Chárleß' Xing
N:Xing;Charly
END:VCARD'''

It runs a (endswith "phone"  "8899") query against EDS. The expection is, as in
testFilterStartupRefine, that it gets two contacts back. That fails when using
DRA, which is enabled by default:

Traceback (most recent call last):
  File "/home/pohly/src/syncevolution/src/dbus/server/pim/testpim.py", line
3195, in testFilterStartup
    self.assertEqual(2, len(self.view.contacts))
  File "/home/pohly/src/syncevolution/test/testdbus.py", line 1321, in
assertEqualCustom
    unittest.TestCase.assertEqual(self, self.stripDBus(a, sortLists),
self.stripDBus(b, sortLists), msg)
AssertionError: 2 != 0

That's this line, which means "two contacts expected, zero actual content":
self.assertEqual(2, len(self.view.contacts))

When disabling DRA via SYNCEVOLUTION_NO_PIM_EDS_DIRECT=1, everything works as
expected:

SYNCEVOLUTION_NO_PIM_EDS_DIRECT=1 PATH=/home/pohly/work/syncevolution/src:$PATH
~pohly/src/syncevolution/src/dbus/server/pim/testpim.py -v
TestContacts.testFilterStartup  2>&1 | tee /tmp/log 
testFilterStartup (__main__.TestContacts)
TestContacts.testFilterStartup - phone number lookup while folks still loads
... ok

You can check testFilterStartup_TestContacts.dbus.log to see the EDS query.
It's not logged when using DRA.

Note that you can run all tests when passing "TestContacts" to testpim.py or
select some of the other failing tests, like
TestContacts.testFilterStartupRefine. In that test, the contact data is
different. As mentioned before, now the same search finds *too many* matches
(two instead of just one). Enabling/disabling DRA has no effect.


You are receiving this mail because: