[DEBUG 00:00:00] *** starting Client::Sync::eds_contact::testComplexUpdate ***
[DEBUG 00:00:00] ClientTest.cpp:3852: starting doCopy()
[DEBUG 00:00:00] ClientTest.cpp:3130: starting CPPUNIT_ASSERT(accessClientB)
[DEBUG 00:00:00] ClientTest.cpp:3130: ending CPPUNIT_ASSERT(accessClientB)
[DEBUG 00:00:00] ClientTest.cpp:3132: starting deleteAll()
[DEBUG 00:00:00] ClientTest.cpp:3105: starting allSourcesDeleteAll()
[DEBUG 00:00:00] ClientTest.cpp:6491: starting source_pair.second->deleteAll(source_pair.second->createSourceA)
[DEBUG 00:00:00] ClientTest.cpp:802: starting CPPUNIT_ASSERT(createSource.createSource)
[DEBUG 00:00:00] ClientTest.cpp:802: ending CPPUNIT_ASSERT(createSource.createSource)
[DEBUG 00:00:00] ClientTest.cpp:807: starting source.reset(createSource())
[DEBUG 00:00:00] instantiating testing source eds_contact in config target-config@client-test-memotoo, with tracking name _1_A
[DEBUG 00:00:00] overriding testing source eds_contact properties with the ones from config memotoo_1 = /data/runtests/work/testing-amd64/home/memotoo/config/syncevolution/client-test-memotoo-1/peers/memotoo_1
[DEBUG 00:00:00]    sync = two-way (set)
[DEBUG 00:00:00]    uri = con (set)
[DEBUG 00:00:00]    backend = Evolution Address Book (set)
[DEBUG 00:00:00]    syncFormat = text/vcard (set)
[DEBUG 00:00:00]    forceSyncFormat = 0 (default)
[DEBUG 00:00:00]    database = Test_eds_contact_1 (set)
[DEBUG 00:00:00]    databaseFormat =  (default)
[DEBUG 00:00:00]    databaseUser =  (default)
[DEBUG 00:00:00]    databasePassword =  (default)
[DEBUG 00:00:02] instantiating testing source eds_contact in config target-config@client-test-memotoo, with tracking name _1_A
[DEBUG 00:00:02] overriding testing source eds_contact properties with the ones from config memotoo_1 = /data/runtests/work/testing-amd64/home/memotoo/config/syncevolution/client-test-memotoo-1/peers/memotoo_1
[DEBUG 00:00:02]    sync = two-way (set)
[DEBUG 00:00:02]    uri = con (set)
[DEBUG 00:00:02]    backend = Evolution Address Book (set)
[DEBUG 00:00:02]    syncFormat = text/vcard (set)
[DEBUG 00:00:02]    forceSyncFormat = 0 (default)
[DEBUG 00:00:02]    database = Test_eds_contact_1 (set)
[DEBUG 00:00:02]    databaseFormat =  (default)
[DEBUG 00:00:02]    databaseUser =  (default)
[DEBUG 00:00:02]    databasePassword =  (default)
[DEBUG 00:00:02] ClientTest.cpp:424: starting CPPUNIT_ASSERT(get())
[DEBUG 00:00:02] ClientTest.cpp:424: ending CPPUNIT_ASSERT(get())
[DEBUG 00:00:02] ClientTest.cpp:425: starting CPPUNIT_ASSERT(!m_active)
[DEBUG 00:00:02] ClientTest.cpp:425: ending CPPUNIT_ASSERT(!m_active)
[DEBUG 00:00:02] ClientTest.cpp:431: starting get()->open()
[DEBUG 00:00:02] ClientTest.cpp:431: ending get()->open()
[DEBUG 00:00:02] eds_contact: slow sync or testing, do full item scan to detect changes
[DEBUG 00:00:02] ClientTest.cpp:807: ending source.reset(createSource())
[DEBUG 00:00:02] ClientTest.cpp:807: starting CPPUNIT_ASSERT((source.get()))
[DEBUG 00:00:02] ClientTest.cpp:807: ending CPPUNIT_ASSERT((source.get()))
[DEBUG 00:00:02] ClientTest.cpp:810: starting source->removeAllItems()
[DEBUG 00:00:02] ClientTest.cpp:810: ending source->removeAllItems()
[DEBUG 00:00:02] ClientTest.cpp:810: starting CPPUNIT_ASSERT((source.get()))
[DEBUG 00:00:02] ClientTest.cpp:810: ending CPPUNIT_ASSERT((source.get()))
[DEBUG 00:00:02] ClientTest.cpp:811: starting source.reset()
[DEBUG 00:00:02] ClientTest.cpp:454: starting CPPUNIT_ASSERT(get())
[DEBUG 00:00:02] ClientTest.cpp:454: ending CPPUNIT_ASSERT(get())
[DEBUG 00:00:02] ClientTest.cpp:455: starting CPPUNIT_ASSERT(m_active)
[DEBUG 00:00:02] ClientTest.cpp:455: ending CPPUNIT_ASSERT(m_active)
[DEBUG 00:00:02] ClientTest.cpp:458: starting get()->getOperations().m_endDataWrite.getPostSignal()(*get(), OPERATION_FINISHED, sysync::LOCERR_OK, true, &dummy)
[DEBUG 00:00:03] ClientTest.cpp:458: ending get()->getOperations().m_endDataWrite.getPostSignal()(*get(), OPERATION_FINISHED, sysync::LOCERR_OK, true, &dummy)
[DEBUG 00:00:03] ClientTest.cpp:461: starting anchor = get()->endSync(true)
[DEBUG 00:00:03] ClientTest.cpp:461: ending anchor = get()->endSync(true)
[DEBUG 00:00:03] ClientTest.cpp:463: starting get()->close()
[DEBUG 00:00:03] ClientTest.cpp:463: ending get()->close()
[DEBUG 00:00:03] ClientTest.cpp:811: ending source.reset()
[DEBUG 00:00:03] ClientTest.cpp:814: starting source.reset(createSource())
[DEBUG 00:00:03] instantiating testing source eds_contact in config target-config@client-test-memotoo, with tracking name _1_A
[DEBUG 00:00:03] overriding testing source eds_contact properties with the ones from config memotoo_1 = /data/runtests/work/testing-amd64/home/memotoo/config/syncevolution/client-test-memotoo-1/peers/memotoo_1
[DEBUG 00:00:03]    sync = two-way (set)
[DEBUG 00:00:03]    uri = con (set)
[DEBUG 00:00:03]    backend = Evolution Address Book (set)
[DEBUG 00:00:03]    syncFormat = text/vcard (set)
[DEBUG 00:00:03]    forceSyncFormat = 0 (default)
[DEBUG 00:00:03]    database = Test_eds_contact_1 (set)
[DEBUG 00:00:03]    databaseFormat =  (default)
[DEBUG 00:00:03]    databaseUser =  (default)
[DEBUG 00:00:03]    databasePassword =  (default)
[DEBUG 00:00:03] ClientTest.cpp:424: starting CPPUNIT_ASSERT(get())
[DEBUG 00:00:03] ClientTest.cpp:424: ending CPPUNIT_ASSERT(get())
[DEBUG 00:00:03] ClientTest.cpp:425: starting CPPUNIT_ASSERT(!m_active)
[DEBUG 00:00:03] ClientTest.cpp:425: ending CPPUNIT_ASSERT(!m_active)
[DEBUG 00:00:03] ClientTest.cpp:431: starting get()->open()
[DEBUG 00:00:03] ClientTest.cpp:431: ending get()->open()
[DEBUG 00:00:03] eds_contact: using full item scan to detect changes
[DEBUG 00:00:03] ClientTest.cpp:814: ending source.reset(createSource())
[DEBUG 00:00:03] ClientTest.cpp:814: starting CPPUNIT_ASSERT((source.get()))
[DEBUG 00:00:03] ClientTest.cpp:814: ending CPPUNIT_ASSERT((source.get()))
[DEBUG 00:00:03] ClientTest.cpp:818: starting CPPUNIT_ASSERT_MESSAGE(("should be empty now"), ((countItems(source.get()) == 0)))
[DEBUG 00:00:03] ClientTest.cpp:818: ending CPPUNIT_ASSERT_MESSAGE(("should be empty now"), ((countItems(source.get()) == 0)))
[DEBUG 00:00:04] ClientTest.cpp:818: starting CPPUNIT_ASSERT((source.get()))
[DEBUG 00:00:04] ClientTest.cpp:818: ending CPPUNIT_ASSERT((source.get()))
[DEBUG 00:00:04] ClientTest.cpp:819: starting CPPUNIT_ASSERT_EQUAL((0),(countNewItems(source.get())))
[DEBUG 00:00:04] ClientTest.cpp:819: ending CPPUNIT_ASSERT_EQUAL((0),(countNewItems(source.get())))
[DEBUG 00:00:04] ClientTest.cpp:820: starting CPPUNIT_ASSERT_EQUAL((0),(countUpdatedItems(source.get())))
[DEBUG 00:00:04] ClientTest.cpp:820: ending CPPUNIT_ASSERT_EQUAL((0),(countUpdatedItems(source.get())))
[DEBUG 00:00:04] ClientTest.cpp:821: starting CPPUNIT_ASSERT_EQUAL((0),(countDeletedItems(source.get())))
[DEBUG 00:00:04] ClientTest.cpp:821: ending CPPUNIT_ASSERT_EQUAL((0),(countDeletedItems(source.get())))
[DEBUG 00:00:04] ClientTest.cpp:391: starting reset(__null)
[DEBUG 00:00:04] ClientTest.cpp:454: starting CPPUNIT_ASSERT(get())
[DEBUG 00:00:04] ClientTest.cpp:454: ending CPPUNIT_ASSERT(get())
[DEBUG 00:00:04] ClientTest.cpp:455: starting CPPUNIT_ASSERT(m_active)
[DEBUG 00:00:04] ClientTest.cpp:455: ending CPPUNIT_ASSERT(m_active)
[DEBUG 00:00:04] ClientTest.cpp:458: starting get()->getOperations().m_endDataWrite.getPostSignal()(*get(), OPERATION_FINISHED, sysync::LOCERR_OK, true, &dummy)
[DEBUG 00:00:04] ClientTest.cpp:458: ending get()->getOperations().m_endDataWrite.getPostSignal()(*get(), OPERATION_FINISHED, sysync::LOCERR_OK, true, &dummy)
[DEBUG 00:00:04] ClientTest.cpp:461: starting anchor = get()->endSync(true)
[DEBUG 00:00:04] ClientTest.cpp:461: ending anchor = get()->endSync(true)
[DEBUG 00:00:04] ClientTest.cpp:463: starting get()->close()
[DEBUG 00:00:04] ClientTest.cpp:463: ending get()->close()
[DEBUG 00:00:04] ClientTest.cpp:391: ending reset(__null)
[DEBUG 00:00:04] ClientTest.cpp:6491: ending source_pair.second->deleteAll(source_pair.second->createSourceA)
[DEBUG 00:00:04] ClientTest.cpp:3105: ending allSourcesDeleteAll()
[DEBUG 00:00:04] ClientTest.cpp:3106: starting doSync(logPrefix, options)
[DEBUG 00:00:04] 1. starting Client_Sync_eds_contact_testComplexUpdate.copy.deleteall.init.client.A with sync mode slow
[DEBUG 00:00:04] ClientTest.cpp:6460: starting res = client.doSync(sourceArray, logname, options)
[DEBUG 00:00:04] log path -> /data/runtests/work/testing-amd64/home/memotoo/cache/syncevolution, No such file or directory
[DEBUG 00:00:04] log path -> Client_Sync_eds_contact_testComplexUpdate.copy.deleteall.init.client.A, No such file or directory
[DEBUG 00:00:04] log path -> Client_Sync_eds_contact_testComplexUpdate.copy.deleteall.init.client.A, No such file or directory
[DEBUG 00:00:04] checking log dir Client_Sync_eds_contact_testComplexUpdate.copy.deleteall.init.client.A
[DEBUG 00:00:04] logfile: Client_Sync_eds_contact_testComplexUpdate.copy.deleteall.init.client.A/syncevolution-log.html
[DEVELOPER 00:00:07] SyncML server account: syncevolution
[DEVELOPER 00:00:07] client: SyncEvolution 1.5.3 for workstation
[DEVELOPER 00:00:07] device ID: sc-api-A
[DEVELOPER 00:00:07]
[DEVELOPER 00:00:07]
[INFO 00:00:07] addressbook: inactive
[INFO 00:00:07] calendar: inactive
[INFO 00:00:07] calendar+todo: inactive
[INFO 00:00:07] eas_contact: inactive
[INFO 00:00:07] eas_event: inactive
[INFO 00:00:07] eas_memo: inactive
[INFO 00:00:07] eas_task: inactive
[INFO 00:00:07] eds_event: inactive
[INFO 00:00:07] eds_memo: inactive
[INFO 00:00:07] eds_task: inactive
[INFO 00:00:07] file_calendar+todo: inactive
[INFO 00:00:07] file_contact: inactive
[INFO 00:00:07] file_event: inactive
[INFO 00:00:07] file_task: inactive
[INFO 00:00:07] kde_contact: inactive
[INFO 00:00:07] kde_event: inactive
[INFO 00:00:07] kde_memo: inactive
[INFO 00:00:07] kde_task: inactive
[INFO 00:00:07] memo: inactive
[INFO 00:00:07] todo: inactive
[DEBUG 00:00:07] checking password property 'password' in config 'memotoo_1@client-test-memotoo-1' with user identity 'syncevolution'
[DEBUG 00:00:07] loading password from keyring with key user=syncevolution server=www.memotoo.com/syncmldev
[DEBUG 00:00:07] not using KWallet
[DEBUG 00:00:08] sync password for memotoo_1@client-test-memotoo-1: loaded password from GNOME keyring using user=syncevolution server=www.memotoo.com/syncmldev
[DEBUG 00:00:08] checking password property 'databasePassword' in datastore 'eds_contact' of config 'memotoo_1@client-test-memotoo-1' with user identity ''
[DEBUG 00:00:08] sync is starting, catch signals
[DEBUG 00:00:08] SuspendFlags: (re)activating, currently inactive
[DEBUG 00:00:08] SuspendFlags: activating signal handler(s) with fds 38->37
[DEBUG 00:00:08] SuspendFlags: catch signal 15
[DEBUG 00:00:08] ready to sync
[DEBUG 00:00:08] CreateContext SyncEvolution//eds_contact => 0
[DEBUG 00:00:08] Module_Version = 01090100
[DEBUG 00:00:08] Module_Capabilities:
[DEBUG 00:00:08] PLATFORM:Linux
[DEBUG 00:00:08] DLL:true
[DEBUG 00:00:08] MINVERSION:V1.0.6.0
[DEBUG 00:00:08] MANUFACTURER:SyncEvolution
[DEBUG 00:00:08] DESCRIPTION:SyncEvolution Synthesis DB Plugin
[DEBUG 00:00:08] plugin_datastore_str:no
[DEBUG 00:00:08] plugin_datastore_key:yes
[DEBUG 00:00:08] ITEM_AS_KEY:yes
[DEBUG 00:00:08] plugin_datablob:no
[DEBUG 00:00:08] eds_contact: Module_PluginParams
[DEBUG 00:00:08] eds_contact:  Engine=01090100
[DEBUG 00:00:08] eds_contact:
[DEBUG 00:00:08] Module_Capabilities:
[DEBUG 00:00:08] PLATFORM:Linux
[DEBUG 00:00:08] DLL:true
[DEBUG 00:00:08] MINVERSION:V1.0.6.0
[DEBUG 00:00:08] MANUFACTURER:SyncEvolution
[DEBUG 00:00:08] DESCRIPTION:SyncEvolution Synthesis DB Plugin
[DEBUG 00:00:08] plugin_datastore_str:no
[DEBUG 00:00:08] plugin_datastore_key:yes
[DEBUG 00:00:08] ITEM_AS_KEY:yes
[DEBUG 00:00:08] plugin_datablob:no
[DEBUG 00:00:08] copying syncURL, username, password to Synthesis engine
[DEBUG 00:00:08] using plain username/password for syncevolution
[DEBUG 00:00:09] eds_contact: total number of items received 0
[INFO 00:00:13] eds_contact: starting first time sync, two-way (peer is server)
[DEBUG 00:00:13] reading: set read-ahead based on sync mode slow
[DEBUG 00:00:13] eds_contact: reading: set order 'all', 0 luids
[DEBUG 00:00:13] eds_contact: 'eds_contact' dev='anydevice' usr='singleuser' err=0
[DEBUG 00:00:13] eds_contact: FilterSupport staticfilter:
[DEBUG 00:00:13] eds_contact: dynamicfilter:
[DEBUG 00:00:13] eds_contact: invisiblefilter:
[DEBUG 00:00:13] eds_contact: ContextSupport ReadNextItem:allfields
[DEBUG 00:00:13] eds_contact:
[DEBUG 00:00:13] eds_contact: slow sync or testing, do full item scan to detect changes
[DEBUG 00:00:13] eds_contact: StartDataRead last='' resume='' res=0
[DEBUG 00:00:13] eds_contact: ReadNextItemAsKey aStatus=0 aID=((null),(null)) res=0
[DEBUG 00:00:13] eds_contact: EndDataRead res=0
[DEBUG 00:00:13] eds_contact: StartDataWrite
[DEBUG 00:00:13] eds_contact: total number of items received 0
[DEBUG 00:00:14] eds_contact: total number of items received 0
[INFO 00:00:14] eds_contact: started
[INFO 00:00:14] eds_contact: adding "Joan Doe"
[DEBUG 00:00:14] eds_contact: add operation #0: queueing for batched add
[DEBUG 00:00:14] eds_contact: InsertItemAsKey res=1
[DEBUG 00:00:14] eds_contact: batch add of 1 contacts starting
[DEBUG 00:00:14] eds_contact: waiting for 1 pending operations to complete
[DEBUG 00:00:14] eds_contact: batch add of 1 contacts completed
[DEBUG 00:00:14] eds_contact: add operation #0: completed: <<successfully>>
[DEBUG 00:00:14] eds_contact: pending operations completed
[DEBUG 00:00:14] eds_contact: add operation #0: checking operation: inserted
[DEBUG 00:00:14] eds_contact: InsertItemAsKey res=0
[DEBUG 00:00:15] eds_contact: EndDataWrite COMMIT '1' res=0
[DEBUG 00:00:15] eds_contact: total number of items received 0
[INFO 00:00:15] eds_contact: received 2/1
[DEBUG 00:00:16] eds_contact: DeleteContext
[INFO 00:00:16] eds_contact: first time sync done successfully
[DEBUG 00:00:16] closing session
[DEBUG 00:00:16] session closed
[DEBUG 00:00:16] SuspendFlags: deactivating fds 38->37
[DEBUG 00:00:16] SuspendFlags: close m_receiverFD 37
[DEBUG 00:00:16] SuspendFlags: close m_senderFD 38
[DEBUG 00:00:16] SuspendFlags: done with deactivation
[DEBUG 00:00:16] Module_DeleteContext eds_contact
[INFO 00:00:16] sync report:
[INFO 00:00:16] +---------------|-----------------------|-----------------------|-CON-+
[INFO 00:00:16] |               |         LOCAL         |        REMOTE         | FLI |
[INFO 00:00:16] |        Source | NEW | MOD | DEL | ERR | NEW | MOD | DEL | ERR | CTS |
[INFO 00:00:16] +---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+
[INFO 00:00:16] |   eds_contact |  1  |  0  |  0  |  0  |  0  |  0  |  0  |  0  |  0  |
[INFO 00:00:16] |   slow, 0 KB sent by client, 0 KB received                          |
[INFO 00:00:16] +---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+
[INFO 00:00:16] |          start Fri Jan  5 19:40:01 2018, duration 0:12min           |
[INFO 00:00:16] |               synchronization completed successfully                |
[INFO 00:00:16] +---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+
[INFO 00:00:16] ----------|--------CLIENT---------|--------SERVER---------|
[INFO 00:00:16]           |  NEW  |  MOD  |  DEL  |  NEW  |  MOD  |  DEL  |
[INFO 00:00:16] ----------|-----------------------------------------------|
[INFO 00:00:16] Expected  |   -1  |   -1  |   -1  |   -1  |   -1  |   -1  |
[INFO 00:00:16] Expected sync mode: disabled
[INFO 00:00:16] Expected cycles: 1
[INFO 00:00:16]
[DEBUG 00:00:16] ClientTest.cpp:8283: starting CPPUNIT_ASSERT_EQUAL((string("no error (remote, status 0)")),(Status2String(status)))
[DEBUG 00:00:16] ClientTest.cpp:8283: ending CPPUNIT_ASSERT_EQUAL((string("no error (remote, status 0)")),(Status2String(status)))
[DEBUG 00:00:16] ClientTest.cpp:8284: starting CPPUNIT_ASSERT_EQUAL((STATUS_OK),(status))
[DEBUG 00:00:16] ClientTest.cpp:8284: ending CPPUNIT_ASSERT_EQUAL((STATUS_OK),(status))
[DEBUG 00:00:16] Checking sync source eds_contact...
[DEBUG 00:00:16] ClientTest.cpp:8293: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "STATUS_OK" + " == " + "source.getStatus()",(STATUS_OK),(source.getStatus()))
[DEBUG 00:00:16] ClientTest.cpp:8293: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "STATUS_OK" + " == " + "source.getStatus()",(STATUS_OK),(source.getStatus()))
[DEBUG 00:00:16] ClientTest.cpp:8305: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "0" + " == " + "source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT)",(0),(source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT)))
[DEBUG 00:00:16] ClientTest.cpp:8305: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "0" + " == " + "source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT)",(0),(source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT)))
[DEBUG 00:00:16] ClientTest.cpp:8308: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "0" + " == " + "source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT)",(0),(source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT)))
[DEBUG 00:00:16] ClientTest.cpp:8308: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "0" + " == " + "source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT)",(0),(source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT)))
[DEBUG 00:00:16] ClientTest.cpp:8322: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "restarts + 1" + " == " + "source.getRestarts() + 1",(restarts + 1),(source.getRestarts() + 1))
[DEBUG 00:00:16] ClientTest.cpp:8322: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "restarts + 1" + " == " + "source.getRestarts() + 1",(restarts + 1),(source.getRestarts() + 1))
[DEBUG 00:00:16] Done with checking sync report.
[DEBUG 00:00:16] ClientTest.cpp:6460: ending res = client.doSync(sourceArray, logname, options)
[DEBUG 00:00:16] ClientTest.cpp:6465: starting postSync(res, logname)
[DEBUG 00:00:26] ClientTest.cpp:6465: ending postSync(res, logname)
[DEBUG 00:00:26] ClientTest.cpp:3106: ending doSync(logPrefix, options)
[DEBUG 00:00:26] ClientTest.cpp:3108: starting allSourcesDeleteAll()
[DEBUG 00:00:26] ClientTest.cpp:6491: starting source_pair.second->deleteAll(source_pair.second->createSourceA)
[DEBUG 00:00:26] ClientTest.cpp:802: starting CPPUNIT_ASSERT(createSource.createSource)
[DEBUG 00:00:26] ClientTest.cpp:802: ending CPPUNIT_ASSERT(createSource.createSource)
[DEBUG 00:00:26] ClientTest.cpp:807: starting source.reset(createSource())
[DEBUG 00:00:26] instantiating testing source eds_contact in config target-config@client-test-memotoo, with tracking name _1_A
[DEBUG 00:00:26] overriding testing source eds_contact properties with the ones from config memotoo_1 = /data/runtests/work/testing-amd64/home/memotoo/config/syncevolution/client-test-memotoo-1/peers/memotoo_1
[DEBUG 00:00:26]    sync = two-way (set)
[DEBUG 00:00:26]    uri = con (set)
[DEBUG 00:00:26]    backend = Evolution Address Book (set)
[DEBUG 00:00:26]    syncFormat = text/vcard (set)
[DEBUG 00:00:26]    forceSyncFormat = 0 (default)
[DEBUG 00:00:26]    database = Test_eds_contact_1 (set)
[DEBUG 00:00:26]    databaseFormat =  (default)
[DEBUG 00:00:26]    databaseUser =  (default)
[DEBUG 00:00:26]    databasePassword =  (default)
[DEBUG 00:00:26] ClientTest.cpp:424: starting CPPUNIT_ASSERT(get())
[DEBUG 00:00:26] ClientTest.cpp:424: ending CPPUNIT_ASSERT(get())
[DEBUG 00:00:26] ClientTest.cpp:425: starting CPPUNIT_ASSERT(!m_active)
[DEBUG 00:00:26] ClientTest.cpp:425: ending CPPUNIT_ASSERT(!m_active)
[DEBUG 00:00:26] ClientTest.cpp:431: starting get()->open()
[DEBUG 00:00:26] ClientTest.cpp:431: ending get()->open()
[DEBUG 00:00:26] eds_contact: using full item scan to detect changes
[DEBUG 00:00:26] ClientTest.cpp:807: ending source.reset(createSource())
[DEBUG 00:00:26] ClientTest.cpp:807: starting CPPUNIT_ASSERT((source.get()))
[DEBUG 00:00:26] ClientTest.cpp:807: ending CPPUNIT_ASSERT((source.get()))
[DEBUG 00:00:26] ClientTest.cpp:810: starting source->removeAllItems()
[DEBUG 00:00:26] ClientTest.cpp:810: ending source->removeAllItems()
[DEBUG 00:00:26] ClientTest.cpp:810: starting CPPUNIT_ASSERT((source.get()))
[DEBUG 00:00:26] ClientTest.cpp:810: ending CPPUNIT_ASSERT((source.get()))
[DEBUG 00:00:26] ClientTest.cpp:811: starting source.reset()
[DEBUG 00:00:26] ClientTest.cpp:454: starting CPPUNIT_ASSERT(get())
[DEBUG 00:00:26] ClientTest.cpp:454: ending CPPUNIT_ASSERT(get())
[DEBUG 00:00:26] ClientTest.cpp:455: starting CPPUNIT_ASSERT(m_active)
[DEBUG 00:00:26] ClientTest.cpp:455: ending CPPUNIT_ASSERT(m_active)
[DEBUG 00:00:26] ClientTest.cpp:458: starting get()->getOperations().m_endDataWrite.getPostSignal()(*get(), OPERATION_FINISHED, sysync::LOCERR_OK, true, &dummy)
[DEBUG 00:00:27] ClientTest.cpp:458: ending get()->getOperations().m_endDataWrite.getPostSignal()(*get(), OPERATION_FINISHED, sysync::LOCERR_OK, true, &dummy)
[DEBUG 00:00:27] ClientTest.cpp:461: starting anchor = get()->endSync(true)
[DEBUG 00:00:27] ClientTest.cpp:461: ending anchor = get()->endSync(true)
[DEBUG 00:00:27] ClientTest.cpp:463: starting get()->close()
[DEBUG 00:00:27] ClientTest.cpp:463: ending get()->close()
[DEBUG 00:00:27] ClientTest.cpp:811: ending source.reset()
[DEBUG 00:00:27] ClientTest.cpp:814: starting source.reset(createSource())
[DEBUG 00:00:27] instantiating testing source eds_contact in config target-config@client-test-memotoo, with tracking name _1_A
[DEBUG 00:00:27] overriding testing source eds_contact properties with the ones from config memotoo_1 = /data/runtests/work/testing-amd64/home/memotoo/config/syncevolution/client-test-memotoo-1/peers/memotoo_1
[DEBUG 00:00:27]    sync = two-way (set)
[DEBUG 00:00:28]    uri = con (set)
[DEBUG 00:00:28]    backend = Evolution Address Book (set)
[DEBUG 00:00:28]    syncFormat = text/vcard (set)
[DEBUG 00:00:28]    forceSyncFormat = 0 (default)
[DEBUG 00:00:28]    database = Test_eds_contact_1 (set)
[DEBUG 00:00:28]    databaseFormat =  (default)
[DEBUG 00:00:28]    databaseUser =  (default)
[DEBUG 00:00:28]    databasePassword =  (default)
[DEBUG 00:00:28] ClientTest.cpp:424: starting CPPUNIT_ASSERT(get())
[DEBUG 00:00:28] ClientTest.cpp:424: ending CPPUNIT_ASSERT(get())
[DEBUG 00:00:28] ClientTest.cpp:425: starting CPPUNIT_ASSERT(!m_active)
[DEBUG 00:00:28] ClientTest.cpp:425: ending CPPUNIT_ASSERT(!m_active)
[DEBUG 00:00:28] ClientTest.cpp:431: starting get()->open()
[DEBUG 00:00:28] ClientTest.cpp:431: ending get()->open()
[DEBUG 00:00:28] eds_contact: using full item scan to detect changes
[DEBUG 00:00:28] ClientTest.cpp:814: ending source.reset(createSource())
[DEBUG 00:00:28] ClientTest.cpp:814: starting CPPUNIT_ASSERT((source.get()))
[DEBUG 00:00:28] ClientTest.cpp:814: ending CPPUNIT_ASSERT((source.get()))
[DEBUG 00:00:28] ClientTest.cpp:818: starting CPPUNIT_ASSERT_MESSAGE(("should be empty now"), ((countItems(source.get()) == 0)))
[DEBUG 00:00:28] ClientTest.cpp:818: ending CPPUNIT_ASSERT_MESSAGE(("should be empty now"), ((countItems(source.get()) == 0)))
[DEBUG 00:00:28] ClientTest.cpp:818: starting CPPUNIT_ASSERT((source.get()))
[DEBUG 00:00:28] ClientTest.cpp:818: ending CPPUNIT_ASSERT((source.get()))
[DEBUG 00:00:28] ClientTest.cpp:819: starting CPPUNIT_ASSERT_EQUAL((0),(countNewItems(source.get())))
[DEBUG 00:00:28] ClientTest.cpp:819: ending CPPUNIT_ASSERT_EQUAL((0),(countNewItems(source.get())))
[DEBUG 00:00:28] ClientTest.cpp:820: starting CPPUNIT_ASSERT_EQUAL((0),(countUpdatedItems(source.get())))
[DEBUG 00:00:28] ClientTest.cpp:820: ending CPPUNIT_ASSERT_EQUAL((0),(countUpdatedItems(source.get())))
[DEBUG 00:00:28] ClientTest.cpp:821: starting CPPUNIT_ASSERT_EQUAL((0),(countDeletedItems(source.get())))
[DEBUG 00:00:28] ClientTest.cpp:821: ending CPPUNIT_ASSERT_EQUAL((0),(countDeletedItems(source.get())))
[DEBUG 00:00:28] ClientTest.cpp:391: starting reset(__null)
[DEBUG 00:00:28] ClientTest.cpp:454: starting CPPUNIT_ASSERT(get())
[DEBUG 00:00:28] ClientTest.cpp:454: ending CPPUNIT_ASSERT(get())
[DEBUG 00:00:28] ClientTest.cpp:455: starting CPPUNIT_ASSERT(m_active)
[DEBUG 00:00:28] ClientTest.cpp:455: ending CPPUNIT_ASSERT(m_active)
[DEBUG 00:00:28] ClientTest.cpp:458: starting get()->getOperations().m_endDataWrite.getPostSignal()(*get(), OPERATION_FINISHED, sysync::LOCERR_OK, true, &dummy)
[DEBUG 00:00:28] ClientTest.cpp:458: ending get()->getOperations().m_endDataWrite.getPostSignal()(*get(), OPERATION_FINISHED, sysync::LOCERR_OK, true, &dummy)
[DEBUG 00:00:28] ClientTest.cpp:461: starting anchor = get()->endSync(true)
[DEBUG 00:00:28] ClientTest.cpp:461: ending anchor = get()->endSync(true)
[DEBUG 00:00:28] ClientTest.cpp:463: starting get()->close()
[DEBUG 00:00:28] ClientTest.cpp:463: ending get()->close()
[DEBUG 00:00:28] ClientTest.cpp:391: ending reset(__null)
[DEBUG 00:00:28] ClientTest.cpp:6491: ending source_pair.second->deleteAll(source_pair.second->createSourceA)
[DEBUG 00:00:28] ClientTest.cpp:3108: ending allSourcesDeleteAll()
[DEBUG 00:00:28] ClientTest.cpp:3109: starting doSync(logPrefix, options)
[DEBUG 00:00:28] 2. starting Client_Sync_eds_contact_testComplexUpdate.copy.deleteall.twoway.client.A with sync mode two-way
[DEBUG 00:00:28] ClientTest.cpp:6460: starting res = client.doSync(sourceArray, logname, options)
[DEBUG 00:00:28] log path -> /data/runtests/work/testing-amd64/home/memotoo/cache/syncevolution, No such file or directory
[DEBUG 00:00:28] log path -> Client_Sync_eds_contact_testComplexUpdate.copy.deleteall.twoway.client.A, No such file or directory
[DEBUG 00:00:28] log path -> Client_Sync_eds_contact_testComplexUpdate.copy.deleteall.twoway.client.A, No such file or directory
[DEBUG 00:00:28] checking log dir Client_Sync_eds_contact_testComplexUpdate.copy.deleteall.twoway.client.A
[DEBUG 00:00:28] logfile: Client_Sync_eds_contact_testComplexUpdate.copy.deleteall.twoway.client.A/syncevolution-log.html
[DEVELOPER 00:00:30] SyncML server account: syncevolution
[DEVELOPER 00:00:30] client: SyncEvolution 1.5.3 for workstation
[DEVELOPER 00:00:30] device ID: sc-api-A
[DEVELOPER 00:00:30]
[DEVELOPER 00:00:30]
[INFO 00:00:30] addressbook: inactive
[INFO 00:00:30] calendar: inactive
[INFO 00:00:30] calendar+todo: inactive
[INFO 00:00:30] eas_contact: inactive
[INFO 00:00:30] eas_event: inactive
[INFO 00:00:30] eas_memo: inactive
[INFO 00:00:30] eas_task: inactive
[INFO 00:00:30] eds_event: inactive
[INFO 00:00:30] eds_memo: inactive
[INFO 00:00:30] eds_task: inactive
[INFO 00:00:30] file_calendar+todo: inactive
[INFO 00:00:30] file_contact: inactive
[INFO 00:00:30] file_event: inactive
[INFO 00:00:30] file_task: inactive
[INFO 00:00:30] kde_contact: inactive
[INFO 00:00:30] kde_event: inactive
[INFO 00:00:30] kde_memo: inactive
[INFO 00:00:30] kde_task: inactive
[INFO 00:00:30] memo: inactive
[INFO 00:00:30] todo: inactive
[DEBUG 00:00:30] checking password property 'password' in config 'memotoo_1@client-test-memotoo-1' with user identity 'syncevolution'
[DEBUG 00:00:30] loading password from keyring with key user=syncevolution server=www.memotoo.com/syncmldev
[DEBUG 00:00:30] not using KWallet
[DEBUG 00:00:30] sync password for memotoo_1@client-test-memotoo-1: loaded password from GNOME keyring using user=syncevolution server=www.memotoo.com/syncmldev
[DEBUG 00:00:30] checking password property 'databasePassword' in datastore 'eds_contact' of config 'memotoo_1@client-test-memotoo-1' with user identity ''
[DEBUG 00:00:30] sync is starting, catch signals
[DEBUG 00:00:30] SuspendFlags: (re)activating, currently inactive
[DEBUG 00:00:30] SuspendFlags: activating signal handler(s) with fds 38->37
[DEBUG 00:00:30] SuspendFlags: catch signal 15
[DEBUG 00:00:30] ready to sync
[DEBUG 00:00:30] CreateContext SyncEvolution//eds_contact => 0
[DEBUG 00:00:30] Module_Version = 01090100
[DEBUG 00:00:30] Module_Capabilities:
[DEBUG 00:00:30] PLATFORM:Linux
[DEBUG 00:00:30] DLL:true
[DEBUG 00:00:30] MINVERSION:V1.0.6.0
[DEBUG 00:00:30] MANUFACTURER:SyncEvolution
[DEBUG 00:00:30] DESCRIPTION:SyncEvolution Synthesis DB Plugin
[DEBUG 00:00:30] plugin_datastore_str:no
[DEBUG 00:00:30] plugin_datastore_key:yes
[DEBUG 00:00:30] ITEM_AS_KEY:yes
[DEBUG 00:00:30] plugin_datablob:no
[DEBUG 00:00:30] eds_contact: Module_PluginParams
[DEBUG 00:00:30] eds_contact:  Engine=01090100
[DEBUG 00:00:30] eds_contact:
[DEBUG 00:00:30] Module_Capabilities:
[DEBUG 00:00:30] PLATFORM:Linux
[DEBUG 00:00:30] DLL:true
[DEBUG 00:00:30] MINVERSION:V1.0.6.0
[DEBUG 00:00:30] MANUFACTURER:SyncEvolution
[DEBUG 00:00:30] DESCRIPTION:SyncEvolution Synthesis DB Plugin
[DEBUG 00:00:30] plugin_datastore_str:no
[DEBUG 00:00:30] plugin_datastore_key:yes
[DEBUG 00:00:30] ITEM_AS_KEY:yes
[DEBUG 00:00:30] plugin_datablob:no
[DEBUG 00:00:30] copying syncURL, username, password to Synthesis engine
[DEBUG 00:00:30] using plain username/password for syncevolution
[DEBUG 00:00:31] eds_contact: total number of items received 0
[INFO 00:00:33] eds_contact: starting normal sync, two-way (peer is server)
[DEBUG 00:00:33] reading: set read-ahead based on sync mode two-way
[DEBUG 00:00:33] eds_contact: reading: set order 'changed', 0 luids
[DEBUG 00:00:33] eds_contact: 'eds_contact' dev='anydevice' usr='singleuser' err=0
[DEBUG 00:00:33] eds_contact: FilterSupport staticfilter:
[DEBUG 00:00:33] eds_contact: dynamicfilter:
[DEBUG 00:00:33] eds_contact: invisiblefilter:
[DEBUG 00:00:33] eds_contact: using full item scan to detect changes
[DEBUG 00:00:33] eds_contact: StartDataRead last='1' resume='1' res=0
[DEBUG 00:00:33] eds_contact: ReadNextItemAsKey aStatus=0 aID=((null),(null)) res=0
[DEBUG 00:00:33] eds_contact: EndDataRead res=0
[DEBUG 00:00:33] eds_contact: StartDataWrite
[DEBUG 00:00:33] eds_contact: total number of items received 0
[INFO 00:00:33] eds_contact: sent 1/1
[DEBUG 00:00:33] eds_contact: total number of items received 0
[INFO 00:00:33] eds_contact: started
[DEBUG 00:00:34] eds_contact: total number of items received 0
[DEBUG 00:00:34] eds_contact: EndDataWrite COMMIT '1' res=0
[DEBUG 00:00:34] eds_contact: DeleteContext
[INFO 00:00:34] eds_contact: normal sync done successfully
[DEBUG 00:00:34] closing session
[DEBUG 00:00:34] session closed
[DEBUG 00:00:34] SuspendFlags: deactivating fds 38->37
[DEBUG 00:00:34] SuspendFlags: close m_receiverFD 37
[DEBUG 00:00:34] SuspendFlags: close m_senderFD 38
[DEBUG 00:00:34] SuspendFlags: done with deactivation
[DEBUG 00:00:34] Module_DeleteContext eds_contact
[INFO 00:00:34] sync report:
[INFO 00:00:34] +---------------|-----------------------|-----------------------|-CON-+
[INFO 00:00:34] |               |         LOCAL         |        REMOTE         | FLI |
[INFO 00:00:34] |        Source | NEW | MOD | DEL | ERR | NEW | MOD | DEL | ERR | CTS |
[INFO 00:00:34] +---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+
[INFO 00:00:34] |   eds_contact |  0  |  0  |  0  |  0  |  0  |  0  |  1  |  0  |  0  |
[INFO 00:00:34] |   two-way, 0 KB sent by client, 0 KB received                       |
[INFO 00:00:34] +---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+
[INFO 00:00:34] |          start Fri Jan  5 19:40:25 2018, duration 0:06min           |
[INFO 00:00:34] |               synchronization completed successfully                |
[INFO 00:00:34] +---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+
[INFO 00:00:34] ----------|--------CLIENT---------|--------SERVER---------|
[INFO 00:00:34]           |  NEW  |  MOD  |  DEL  |  NEW  |  MOD  |  DEL  |
[INFO 00:00:34] ----------|-----------------------------------------------|
[INFO 00:00:34] Expected  |    0  |    0  |    0  |    0  |    0  |   -1  |
[INFO 00:00:34] Expected sync mode: two-way
[INFO 00:00:34] Expected cycles: 1
[INFO 00:00:34]
[DEBUG 00:00:34] ClientTest.cpp:8283: starting CPPUNIT_ASSERT_EQUAL((string("no error (remote, status 0)")),(Status2String(status)))
[DEBUG 00:00:34] ClientTest.cpp:8283: ending CPPUNIT_ASSERT_EQUAL((string("no error (remote, status 0)")),(Status2String(status)))
[DEBUG 00:00:34] ClientTest.cpp:8284: starting CPPUNIT_ASSERT_EQUAL((STATUS_OK),(status))
[DEBUG 00:00:34] ClientTest.cpp:8284: ending CPPUNIT_ASSERT_EQUAL((STATUS_OK),(status))
[DEBUG 00:00:34] Checking sync source eds_contact...
[DEBUG 00:00:34] ClientTest.cpp:8293: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "STATUS_OK" + " == " + "source.getStatus()",(STATUS_OK),(source.getStatus()))
[DEBUG 00:00:34] ClientTest.cpp:8293: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "STATUS_OK" + " == " + "source.getStatus()",(STATUS_OK),(source.getStatus()))
[DEBUG 00:00:34] ClientTest.cpp:8305: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "0" + " == " + "source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT)",(0),(source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT)))
[DEBUG 00:00:34] ClientTest.cpp:8305: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "0" + " == " + "source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT)",(0),(source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT)))
[DEBUG 00:00:34] ClientTest.cpp:8308: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "0" + " == " + "source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT)",(0),(source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT)))
[DEBUG 00:00:34] ClientTest.cpp:8308: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "0" + " == " + "source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT)",(0),(source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT)))
[DEBUG 00:00:34] ClientTest.cpp:8322: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "restarts + 1" + " == " + "source.getRestarts() + 1",(restarts + 1),(source.getRestarts() + 1))
[DEBUG 00:00:34] ClientTest.cpp:8322: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "restarts + 1" + " == " + "source.getRestarts() + 1",(restarts + 1),(source.getRestarts() + 1))
[DEBUG 00:00:34] ClientTest.cpp:8328: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "clientAdded" + " == " + "source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_ADDED, SyncSourceReport::ITEM_TOTAL)",(clientAdded),(source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_ADDED, SyncSourceReport::ITEM_TOTAL)))
[DEBUG 00:00:34] ClientTest.cpp:8328: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "clientAdded" + " == " + "source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_ADDED, SyncSourceReport::ITEM_TOTAL)",(clientAdded),(source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_ADDED, SyncSourceReport::ITEM_TOTAL)))
[DEBUG 00:00:34] ClientTest.cpp:8334: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "clientUpdated" + " == " + "source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_UPDATED, SyncSourceReport::ITEM_TOTAL)",(clientUpdated),(source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_UPDATED, SyncSourceReport::ITEM_TOTAL)))
[DEBUG 00:00:34] ClientTest.cpp:8334: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "clientUpdated" + " == " + "source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_UPDATED, SyncSourceReport::ITEM_TOTAL)",(clientUpdated),(source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_UPDATED, SyncSourceReport::ITEM_TOTAL)))
[DEBUG 00:00:34] ClientTest.cpp:8340: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "clientDeleted" + " == " + "source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_REMOVED, SyncSourceReport::ITEM_TOTAL)",(clientDeleted),(source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_REMOVED, SyncSourceReport::ITEM_TOTAL)))
[DEBUG 00:00:34] ClientTest.cpp:8340: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "clientDeleted" + " == " + "source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_REMOVED, SyncSourceReport::ITEM_TOTAL)",(clientDeleted),(source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_REMOVED, SyncSourceReport::ITEM_TOTAL)))
[DEBUG 00:00:34] ClientTest.cpp:8347: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "serverAdded" + " == " + "source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_ADDED, SyncSourceReport::ITEM_TOTAL)",(serverAdded),(source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_ADDED, SyncSourceReport::ITEM_TOTAL)))
[DEBUG 00:00:34] ClientTest.cpp:8347: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "serverAdded" + " == " + "source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_ADDED, SyncSourceReport::ITEM_TOTAL)",(serverAdded),(source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_ADDED, SyncSourceReport::ITEM_TOTAL)))
[DEBUG 00:00:34] ClientTest.cpp:8353: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "serverUpdated" + " == " + "source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_UPDATED, SyncSourceReport::ITEM_TOTAL)",(serverUpdated),(source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_UPDATED, SyncSourceReport::ITEM_TOTAL)))
[DEBUG 00:00:34] ClientTest.cpp:8353: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "serverUpdated" + " == " + "source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_UPDATED, SyncSourceReport::ITEM_TOTAL)",(serverUpdated),(source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_UPDATED, SyncSourceReport::ITEM_TOTAL)))
[DEBUG 00:00:34] Done with checking sync report.
[DEBUG 00:00:34] ClientTest.cpp:6460: ending res = client.doSync(sourceArray, logname, options)
[DEBUG 00:00:34] ClientTest.cpp:6465: starting postSync(res, logname)
[DEBUG 00:00:44] ClientTest.cpp:6465: ending postSync(res, logname)
[DEBUG 00:00:44] ClientTest.cpp:3109: ending doSync(logPrefix, options)
[DEBUG 00:00:44] ClientTest.cpp:3132: ending deleteAll()
[DEBUG 00:00:44] ClientTest.cpp:3105: starting allSourcesDeleteAll()
[DEBUG 00:00:44] ClientTest.cpp:6491: starting source_pair.second->deleteAll(source_pair.second->createSourceA)
[DEBUG 00:00:44] ClientTest.cpp:802: starting CPPUNIT_ASSERT(createSource.createSource)
[DEBUG 00:00:44] ClientTest.cpp:802: ending CPPUNIT_ASSERT(createSource.createSource)
[DEBUG 00:00:44] ClientTest.cpp:807: starting source.reset(createSource())
[DEBUG 00:00:44] instantiating testing source eds_contact in config target-config@client-test-memotoo, with tracking name _2_A
[DEBUG 00:00:44] overriding testing source eds_contact properties with the ones from config memotoo_2 = /data/runtests/work/testing-amd64/home/memotoo/config/syncevolution/client-test-memotoo-2/peers/memotoo_2
[DEBUG 00:00:44]    sync = two-way (set)
[DEBUG 00:00:44]    uri = con (set)
[DEBUG 00:00:44]    backend = Evolution Address Book (set)
[DEBUG 00:00:44]    syncFormat = text/vcard (set)
[DEBUG 00:00:44]    forceSyncFormat = 0 (default)
[DEBUG 00:00:44]    database = Test_eds_contact_2 (set)
[DEBUG 00:00:44]    databaseFormat =  (default)
[DEBUG 00:00:44]    databaseUser =  (default)
[DEBUG 00:00:44]    databasePassword =  (default)
[DEBUG 00:00:44] ClientTest.cpp:424: starting CPPUNIT_ASSERT(get())
[DEBUG 00:00:44] ClientTest.cpp:424: ending CPPUNIT_ASSERT(get())
[DEBUG 00:00:44] ClientTest.cpp:425: starting CPPUNIT_ASSERT(!m_active)
[DEBUG 00:00:44] ClientTest.cpp:425: ending CPPUNIT_ASSERT(!m_active)
[DEBUG 00:00:44] ClientTest.cpp:431: starting get()->open()
[DEBUG 00:00:44] ClientTest.cpp:431: ending get()->open()
[DEBUG 00:00:44] eds_contact: slow sync or testing, do full item scan to detect changes
[DEBUG 00:00:44] ClientTest.cpp:807: ending source.reset(createSource())
[DEBUG 00:00:44] ClientTest.cpp:807: starting CPPUNIT_ASSERT((source.get()))
[DEBUG 00:00:44] ClientTest.cpp:807: ending CPPUNIT_ASSERT((source.get()))
[DEBUG 00:00:44] ClientTest.cpp:810: starting source->removeAllItems()
[DEBUG 00:00:44] ClientTest.cpp:810: ending source->removeAllItems()
[DEBUG 00:00:44] ClientTest.cpp:810: starting CPPUNIT_ASSERT((source.get()))
[DEBUG 00:00:44] ClientTest.cpp:810: ending CPPUNIT_ASSERT((source.get()))
[DEBUG 00:00:44] ClientTest.cpp:811: starting source.reset()
[DEBUG 00:00:44] ClientTest.cpp:454: starting CPPUNIT_ASSERT(get())
[DEBUG 00:00:44] ClientTest.cpp:454: ending CPPUNIT_ASSERT(get())
[DEBUG 00:00:44] ClientTest.cpp:455: starting CPPUNIT_ASSERT(m_active)
[DEBUG 00:00:44] ClientTest.cpp:455: ending CPPUNIT_ASSERT(m_active)
[DEBUG 00:00:44] ClientTest.cpp:458: starting get()->getOperations().m_endDataWrite.getPostSignal()(*get(), OPERATION_FINISHED, sysync::LOCERR_OK, true, &dummy)
[DEBUG 00:00:45] ClientTest.cpp:458: ending get()->getOperations().m_endDataWrite.getPostSignal()(*get(), OPERATION_FINISHED, sysync::LOCERR_OK, true, &dummy)
[DEBUG 00:00:45] ClientTest.cpp:461: starting anchor = get()->endSync(true)
[DEBUG 00:00:45] ClientTest.cpp:461: ending anchor = get()->endSync(true)
[DEBUG 00:00:45] ClientTest.cpp:463: starting get()->close()
[DEBUG 00:00:45] ClientTest.cpp:463: ending get()->close()
[DEBUG 00:00:45] ClientTest.cpp:811: ending source.reset()
[DEBUG 00:00:45] ClientTest.cpp:814: starting source.reset(createSource())
[DEBUG 00:00:45] instantiating testing source eds_contact in config target-config@client-test-memotoo, with tracking name _2_A
[DEBUG 00:00:45] overriding testing source eds_contact properties with the ones from config memotoo_2 = /data/runtests/work/testing-amd64/home/memotoo/config/syncevolution/client-test-memotoo-2/peers/memotoo_2
[DEBUG 00:00:45]    sync = two-way (set)
[DEBUG 00:00:45]    uri = con (set)
[DEBUG 00:00:45]    backend = Evolution Address Book (set)
[DEBUG 00:00:45]    syncFormat = text/vcard (set)
[DEBUG 00:00:45]    forceSyncFormat = 0 (default)
[DEBUG 00:00:45]    database = Test_eds_contact_2 (set)
[DEBUG 00:00:45]    databaseFormat =  (default)
[DEBUG 00:00:45]    databaseUser =  (default)
[DEBUG 00:00:45]    databasePassword =  (default)
[DEBUG 00:00:45] ClientTest.cpp:424: starting CPPUNIT_ASSERT(get())
[DEBUG 00:00:45] ClientTest.cpp:424: ending CPPUNIT_ASSERT(get())
[DEBUG 00:00:45] ClientTest.cpp:425: starting CPPUNIT_ASSERT(!m_active)
[DEBUG 00:00:45] ClientTest.cpp:425: ending CPPUNIT_ASSERT(!m_active)
[DEBUG 00:00:45] ClientTest.cpp:431: starting get()->open()
[DEBUG 00:00:45] ClientTest.cpp:431: ending get()->open()
[DEBUG 00:00:45] eds_contact: using full item scan to detect changes
[DEBUG 00:00:46] ClientTest.cpp:814: ending source.reset(createSource())
[DEBUG 00:00:46] ClientTest.cpp:814: starting CPPUNIT_ASSERT((source.get()))
[DEBUG 00:00:46] ClientTest.cpp:814: ending CPPUNIT_ASSERT((source.get()))
[DEBUG 00:00:46] ClientTest.cpp:818: starting CPPUNIT_ASSERT_MESSAGE(("should be empty now"), ((countItems(source.get()) == 0)))
[DEBUG 00:00:46] ClientTest.cpp:818: ending CPPUNIT_ASSERT_MESSAGE(("should be empty now"), ((countItems(source.get()) == 0)))
[DEBUG 00:00:46] ClientTest.cpp:818: starting CPPUNIT_ASSERT((source.get()))
[DEBUG 00:00:46] ClientTest.cpp:818: ending CPPUNIT_ASSERT((source.get()))
[DEBUG 00:00:46] ClientTest.cpp:819: starting CPPUNIT_ASSERT_EQUAL((0),(countNewItems(source.get())))
[DEBUG 00:00:46] ClientTest.cpp:819: ending CPPUNIT_ASSERT_EQUAL((0),(countNewItems(source.get())))
[DEBUG 00:00:46] ClientTest.cpp:820: starting CPPUNIT_ASSERT_EQUAL((0),(countUpdatedItems(source.get())))
[DEBUG 00:00:46] ClientTest.cpp:820: ending CPPUNIT_ASSERT_EQUAL((0),(countUpdatedItems(source.get())))
[DEBUG 00:00:46] ClientTest.cpp:821: starting CPPUNIT_ASSERT_EQUAL((0),(countDeletedItems(source.get())))
[DEBUG 00:00:46] ClientTest.cpp:821: ending CPPUNIT_ASSERT_EQUAL((0),(countDeletedItems(source.get())))
[DEBUG 00:00:46] ClientTest.cpp:391: starting reset(__null)
[DEBUG 00:00:46] ClientTest.cpp:454: starting CPPUNIT_ASSERT(get())
[DEBUG 00:00:46] ClientTest.cpp:454: ending CPPUNIT_ASSERT(get())
[DEBUG 00:00:46] ClientTest.cpp:455: starting CPPUNIT_ASSERT(m_active)
[DEBUG 00:00:46] ClientTest.cpp:455: ending CPPUNIT_ASSERT(m_active)
[DEBUG 00:00:46] ClientTest.cpp:458: starting get()->getOperations().m_endDataWrite.getPostSignal()(*get(), OPERATION_FINISHED, sysync::LOCERR_OK, true, &dummy)
[DEBUG 00:00:46] ClientTest.cpp:458: ending get()->getOperations().m_endDataWrite.getPostSignal()(*get(), OPERATION_FINISHED, sysync::LOCERR_OK, true, &dummy)
[DEBUG 00:00:46] ClientTest.cpp:461: starting anchor = get()->endSync(true)
[DEBUG 00:00:46] ClientTest.cpp:461: ending anchor = get()->endSync(true)
[DEBUG 00:00:46] ClientTest.cpp:463: starting get()->close()
[DEBUG 00:00:46] ClientTest.cpp:463: ending get()->close()
[DEBUG 00:00:46] ClientTest.cpp:391: ending reset(__null)
[DEBUG 00:00:46] ClientTest.cpp:6491: ending source_pair.second->deleteAll(source_pair.second->createSourceA)
[DEBUG 00:00:46] ClientTest.cpp:3105: ending allSourcesDeleteAll()
[DEBUG 00:00:46] ClientTest.cpp:3106: starting doSync(logPrefix, options)
[DEBUG 00:00:46] 3. starting Client_Sync_eds_contact_testComplexUpdate.deleteall.init.client.B with sync mode slow
[DEBUG 00:00:46] ClientTest.cpp:6460: starting res = client.doSync(sourceArray, logname, options)
[DEBUG 00:00:46] log path -> /data/runtests/work/testing-amd64/home/memotoo/cache/syncevolution, No such file or directory
[DEBUG 00:00:46] log path -> Client_Sync_eds_contact_testComplexUpdate.deleteall.init.client.B, No such file or directory
[DEBUG 00:00:46] log path -> Client_Sync_eds_contact_testComplexUpdate.deleteall.init.client.B, No such file or directory
[DEBUG 00:00:46] checking log dir Client_Sync_eds_contact_testComplexUpdate.deleteall.init.client.B
[DEBUG 00:00:46] logfile: Client_Sync_eds_contact_testComplexUpdate.deleteall.init.client.B/syncevolution-log.html
[DEVELOPER 00:00:47] SyncML server account: syncevolution
[DEVELOPER 00:00:47] client: SyncEvolution 1.5.3 for workstation
[DEVELOPER 00:00:47] device ID: sc-pim-B
[DEVELOPER 00:00:47]
[DEVELOPER 00:00:47]
[INFO 00:00:48] addressbook: inactive
[INFO 00:00:48] calendar: inactive
[INFO 00:00:48] calendar+todo: inactive
[INFO 00:00:48] eas_contact: inactive
[INFO 00:00:48] eas_event: inactive
[INFO 00:00:48] eas_memo: inactive
[INFO 00:00:48] eas_task: inactive
[INFO 00:00:48] eds_event: inactive
[INFO 00:00:48] eds_memo: inactive
[INFO 00:00:48] eds_task: inactive
[INFO 00:00:48] file_calendar+todo: inactive
[INFO 00:00:48] file_contact: inactive
[INFO 00:00:48] file_event: inactive
[INFO 00:00:48] file_task: inactive
[INFO 00:00:48] kde_contact: inactive
[INFO 00:00:48] kde_event: inactive
[INFO 00:00:48] kde_memo: inactive
[INFO 00:00:48] kde_task: inactive
[INFO 00:00:48] memo: inactive
[INFO 00:00:48] todo: inactive
[DEBUG 00:00:48] checking password property 'password' in config 'memotoo_2@client-test-memotoo-2' with user identity 'syncevolution'
[DEBUG 00:00:48] loading password from keyring with key user=syncevolution server=www.memotoo.com/syncmldev
[DEBUG 00:00:48] not using KWallet
[DEBUG 00:00:48] sync password for memotoo_2@client-test-memotoo-2: loaded password from GNOME keyring using user=syncevolution server=www.memotoo.com/syncmldev
[DEBUG 00:00:48] checking password property 'databasePassword' in datastore 'eds_contact' of config 'memotoo_2@client-test-memotoo-2' with user identity ''
[DEBUG 00:00:48] sync is starting, catch signals
[DEBUG 00:00:48] SuspendFlags: (re)activating, currently inactive
[DEBUG 00:00:48] SuspendFlags: activating signal handler(s) with fds 38->37
[DEBUG 00:00:48] SuspendFlags: catch signal 15
[DEBUG 00:00:48] ready to sync
[DEBUG 00:00:48] CreateContext SyncEvolution//eds_contact => 0
[DEBUG 00:00:48] Module_Version = 01090100
[DEBUG 00:00:48] Module_Capabilities:
[DEBUG 00:00:48] PLATFORM:Linux
[DEBUG 00:00:48] DLL:true
[DEBUG 00:00:48] MINVERSION:V1.0.6.0
[DEBUG 00:00:48] MANUFACTURER:SyncEvolution
[DEBUG 00:00:48] DESCRIPTION:SyncEvolution Synthesis DB Plugin
[DEBUG 00:00:48] plugin_datastore_str:no
[DEBUG 00:00:48] plugin_datastore_key:yes
[DEBUG 00:00:48] ITEM_AS_KEY:yes
[DEBUG 00:00:48] plugin_datablob:no
[DEBUG 00:00:48] eds_contact: Module_PluginParams
[DEBUG 00:00:48] eds_contact:  Engine=01090100
[DEBUG 00:00:48] eds_contact:
[DEBUG 00:00:48] Module_Capabilities:
[DEBUG 00:00:48] PLATFORM:Linux
[DEBUG 00:00:48] DLL:true
[DEBUG 00:00:48] MINVERSION:V1.0.6.0
[DEBUG 00:00:48] MANUFACTURER:SyncEvolution
[DEBUG 00:00:48] DESCRIPTION:SyncEvolution Synthesis DB Plugin
[DEBUG 00:00:48] plugin_datastore_str:no
[DEBUG 00:00:48] plugin_datastore_key:yes
[DEBUG 00:00:48] ITEM_AS_KEY:yes
[DEBUG 00:00:48] plugin_datablob:no
[DEBUG 00:00:48] copying syncURL, username, password to Synthesis engine
[DEBUG 00:00:48] using plain username/password for syncevolution
[DEBUG 00:00:48] eds_contact: total number of items received 0
[INFO 00:00:50] eds_contact: starting first time sync, two-way (peer is server)
[DEBUG 00:00:50] reading: set read-ahead based on sync mode slow
[DEBUG 00:00:50] eds_contact: reading: set order 'all', 0 luids
[DEBUG 00:00:50] eds_contact: 'eds_contact' dev='anydevice' usr='singleuser' err=0
[DEBUG 00:00:50] eds_contact: FilterSupport staticfilter:
[DEBUG 00:00:50] eds_contact: dynamicfilter:
[DEBUG 00:00:50] eds_contact: invisiblefilter:
[DEBUG 00:00:50] eds_contact: ContextSupport ReadNextItem:allfields
[DEBUG 00:00:50] eds_contact:
[DEBUG 00:00:50] eds_contact: slow sync or testing, do full item scan to detect changes
[DEBUG 00:00:50] eds_contact: StartDataRead last='' resume='' res=0
[DEBUG 00:00:50] eds_contact: ReadNextItemAsKey aStatus=0 aID=((null),(null)) res=0
[DEBUG 00:00:50] eds_contact: EndDataRead res=0
[DEBUG 00:00:50] eds_contact: StartDataWrite
[DEBUG 00:00:50] eds_contact: total number of items received 0
[DEBUG 00:00:51] eds_contact: total number of items received 0
[INFO 00:00:51] eds_contact: started
[DEBUG 00:00:51] eds_contact: total number of items received 0
[DEBUG 00:00:52] eds_contact: EndDataWrite COMMIT '1' res=0
[DEBUG 00:00:52] eds_contact: DeleteContext
[INFO 00:00:52] eds_contact: first time sync done successfully
[DEBUG 00:00:52] closing session
[DEBUG 00:00:52] session closed
[DEBUG 00:00:52] SuspendFlags: deactivating fds 38->37
[DEBUG 00:00:52] SuspendFlags: close m_receiverFD 37
[DEBUG 00:00:52] SuspendFlags: close m_senderFD 38
[DEBUG 00:00:52] SuspendFlags: done with deactivation
[DEBUG 00:00:52] Module_DeleteContext eds_contact
[INFO 00:00:52] sync report:
[INFO 00:00:52] +---------------|-----------------------|-----------------------|-CON-+
[INFO 00:00:52] |               |         LOCAL         |        REMOTE         | FLI |
[INFO 00:00:52] |        Source | NEW | MOD | DEL | ERR | NEW | MOD | DEL | ERR | CTS |
[INFO 00:00:52] +---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+
[INFO 00:00:52] |   eds_contact |  0  |  0  |  0  |  0  |  0  |  0  |  0  |  0  |  0  |
[INFO 00:00:52] |   slow, 0 KB sent by client, 0 KB received                          |
[INFO 00:00:52] +---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+
[INFO 00:00:52] |          start Fri Jan  5 19:40:43 2018, duration 0:06min           |
[INFO 00:00:52] |               synchronization completed successfully                |
[INFO 00:00:52] +---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+
[INFO 00:00:52] ----------|--------CLIENT---------|--------SERVER---------|
[INFO 00:00:52]           |  NEW  |  MOD  |  DEL  |  NEW  |  MOD  |  DEL  |
[INFO 00:00:52] ----------|-----------------------------------------------|
[INFO 00:00:52] Expected  |   -1  |   -1  |   -1  |   -1  |   -1  |   -1  |
[INFO 00:00:52] Expected sync mode: disabled
[INFO 00:00:52] Expected cycles: 1
[INFO 00:00:52]
[DEBUG 00:00:52] ClientTest.cpp:8283: starting CPPUNIT_ASSERT_EQUAL((string("no error (remote, status 0)")),(Status2String(status)))
[DEBUG 00:00:52] ClientTest.cpp:8283: ending CPPUNIT_ASSERT_EQUAL((string("no error (remote, status 0)")),(Status2String(status)))
[DEBUG 00:00:52] ClientTest.cpp:8284: starting CPPUNIT_ASSERT_EQUAL((STATUS_OK),(status))
[DEBUG 00:00:52] ClientTest.cpp:8284: ending CPPUNIT_ASSERT_EQUAL((STATUS_OK),(status))
[DEBUG 00:00:52] Checking sync source eds_contact...
[DEBUG 00:00:52] ClientTest.cpp:8293: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "STATUS_OK" + " == " + "source.getStatus()",(STATUS_OK),(source.getStatus()))
[DEBUG 00:00:52] ClientTest.cpp:8293: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "STATUS_OK" + " == " + "source.getStatus()",(STATUS_OK),(source.getStatus()))
[DEBUG 00:00:52] ClientTest.cpp:8305: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "0" + " == " + "source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT)",(0),(source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT)))
[DEBUG 00:00:52] ClientTest.cpp:8305: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "0" + " == " + "source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT)",(0),(source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT)))
[DEBUG 00:00:52] ClientTest.cpp:8308: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "0" + " == " + "source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT)",(0),(source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT)))
[DEBUG 00:00:52] ClientTest.cpp:8308: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "0" + " == " + "source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT)",(0),(source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT)))
[DEBUG 00:00:52] ClientTest.cpp:8322: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "restarts + 1" + " == " + "source.getRestarts() + 1",(restarts + 1),(source.getRestarts() + 1))
[DEBUG 00:00:52] ClientTest.cpp:8322: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "restarts + 1" + " == " + "source.getRestarts() + 1",(restarts + 1),(source.getRestarts() + 1))
[DEBUG 00:00:52] Done with checking sync report.
[DEBUG 00:00:52] ClientTest.cpp:6460: ending res = client.doSync(sourceArray, logname, options)
[DEBUG 00:00:52] ClientTest.cpp:6465: starting postSync(res, logname)
[DEBUG 00:01:02] ClientTest.cpp:6465: ending postSync(res, logname)
[DEBUG 00:01:02] ClientTest.cpp:3106: ending doSync(logPrefix, options)
[DEBUG 00:01:02] ClientTest.cpp:3108: starting allSourcesDeleteAll()
[DEBUG 00:01:02] ClientTest.cpp:6491: starting source_pair.second->deleteAll(source_pair.second->createSourceA)
[DEBUG 00:01:02] ClientTest.cpp:802: starting CPPUNIT_ASSERT(createSource.createSource)
[DEBUG 00:01:02] ClientTest.cpp:802: ending CPPUNIT_ASSERT(createSource.createSource)
[DEBUG 00:01:02] ClientTest.cpp:807: starting source.reset(createSource())
[DEBUG 00:01:02] instantiating testing source eds_contact in config target-config@client-test-memotoo, with tracking name _2_A
[DEBUG 00:01:02] overriding testing source eds_contact properties with the ones from config memotoo_2 = /data/runtests/work/testing-amd64/home/memotoo/config/syncevolution/client-test-memotoo-2/peers/memotoo_2
[DEBUG 00:01:02]    sync = two-way (set)
[DEBUG 00:01:02]    uri = con (set)
[DEBUG 00:01:02]    backend = Evolution Address Book (set)
[DEBUG 00:01:02]    syncFormat = text/vcard (set)
[DEBUG 00:01:02]    forceSyncFormat = 0 (default)
[DEBUG 00:01:02]    database = Test_eds_contact_2 (set)
[DEBUG 00:01:02]    databaseFormat =  (default)
[DEBUG 00:01:02]    databaseUser =  (default)
[DEBUG 00:01:02]    databasePassword =  (default)
[DEBUG 00:01:02] ClientTest.cpp:424: starting CPPUNIT_ASSERT(get())
[DEBUG 00:01:02] ClientTest.cpp:424: ending CPPUNIT_ASSERT(get())
[DEBUG 00:01:02] ClientTest.cpp:425: starting CPPUNIT_ASSERT(!m_active)
[DEBUG 00:01:02] ClientTest.cpp:425: ending CPPUNIT_ASSERT(!m_active)
[DEBUG 00:01:02] ClientTest.cpp:431: starting get()->open()
[DEBUG 00:01:02] ClientTest.cpp:431: ending get()->open()
[DEBUG 00:01:02] eds_contact: using full item scan to detect changes
[DEBUG 00:01:02] ClientTest.cpp:807: ending source.reset(createSource())
[DEBUG 00:01:02] ClientTest.cpp:807: starting CPPUNIT_ASSERT((source.get()))
[DEBUG 00:01:02] ClientTest.cpp:807: ending CPPUNIT_ASSERT((source.get()))
[DEBUG 00:01:02] ClientTest.cpp:810: starting source->removeAllItems()
[DEBUG 00:01:02] ClientTest.cpp:810: ending source->removeAllItems()
[DEBUG 00:01:02] ClientTest.cpp:810: starting CPPUNIT_ASSERT((source.get()))
[DEBUG 00:01:02] ClientTest.cpp:810: ending CPPUNIT_ASSERT((source.get()))
[DEBUG 00:01:02] ClientTest.cpp:811: starting source.reset()
[DEBUG 00:01:02] ClientTest.cpp:454: starting CPPUNIT_ASSERT(get())
[DEBUG 00:01:02] ClientTest.cpp:454: ending CPPUNIT_ASSERT(get())
[DEBUG 00:01:02] ClientTest.cpp:455: starting CPPUNIT_ASSERT(m_active)
[DEBUG 00:01:02] ClientTest.cpp:455: ending CPPUNIT_ASSERT(m_active)
[DEBUG 00:01:02] ClientTest.cpp:458: starting get()->getOperations().m_endDataWrite.getPostSignal()(*get(), OPERATION_FINISHED, sysync::LOCERR_OK, true, &dummy)
[DEBUG 00:01:02] ClientTest.cpp:458: ending get()->getOperations().m_endDataWrite.getPostSignal()(*get(), OPERATION_FINISHED, sysync::LOCERR_OK, true, &dummy)
[DEBUG 00:01:02] ClientTest.cpp:461: starting anchor = get()->endSync(true)
[DEBUG 00:01:02] ClientTest.cpp:461: ending anchor = get()->endSync(true)
[DEBUG 00:01:02] ClientTest.cpp:463: starting get()->close()
[DEBUG 00:01:02] ClientTest.cpp:463: ending get()->close()
[DEBUG 00:01:02] ClientTest.cpp:811: ending source.reset()
[DEBUG 00:01:02] ClientTest.cpp:814: starting source.reset(createSource())
[DEBUG 00:01:02] instantiating testing source eds_contact in config target-config@client-test-memotoo, with tracking name _2_A
[DEBUG 00:01:02] overriding testing source eds_contact properties with the ones from config memotoo_2 = /data/runtests/work/testing-amd64/home/memotoo/config/syncevolution/client-test-memotoo-2/peers/memotoo_2
[DEBUG 00:01:02]    sync = two-way (set)
[DEBUG 00:01:02]    uri = con (set)
[DEBUG 00:01:02]    backend = Evolution Address Book (set)
[DEBUG 00:01:02]    syncFormat = text/vcard (set)
[DEBUG 00:01:02]    forceSyncFormat = 0 (default)
[DEBUG 00:01:02]    database = Test_eds_contact_2 (set)
[DEBUG 00:01:02]    databaseFormat =  (default)
[DEBUG 00:01:02]    databaseUser =  (default)
[DEBUG 00:01:02]    databasePassword =  (default)
[DEBUG 00:01:02] ClientTest.cpp:424: starting CPPUNIT_ASSERT(get())
[DEBUG 00:01:02] ClientTest.cpp:424: ending CPPUNIT_ASSERT(get())
[DEBUG 00:01:02] ClientTest.cpp:425: starting CPPUNIT_ASSERT(!m_active)
[DEBUG 00:01:02] ClientTest.cpp:425: ending CPPUNIT_ASSERT(!m_active)
[DEBUG 00:01:02] ClientTest.cpp:431: starting get()->open()
[DEBUG 00:01:02] ClientTest.cpp:431: ending get()->open()
[DEBUG 00:01:02] eds_contact: using full item scan to detect changes
[DEBUG 00:01:02] ClientTest.cpp:814: ending source.reset(createSource())
[DEBUG 00:01:02] ClientTest.cpp:814: starting CPPUNIT_ASSERT((source.get()))
[DEBUG 00:01:02] ClientTest.cpp:814: ending CPPUNIT_ASSERT((source.get()))
[DEBUG 00:01:02] ClientTest.cpp:818: starting CPPUNIT_ASSERT_MESSAGE(("should be empty now"), ((countItems(source.get()) == 0)))
[DEBUG 00:01:02] ClientTest.cpp:818: ending CPPUNIT_ASSERT_MESSAGE(("should be empty now"), ((countItems(source.get()) == 0)))
[DEBUG 00:01:02] ClientTest.cpp:818: starting CPPUNIT_ASSERT((source.get()))
[DEBUG 00:01:02] ClientTest.cpp:818: ending CPPUNIT_ASSERT((source.get()))
[DEBUG 00:01:02] ClientTest.cpp:819: starting CPPUNIT_ASSERT_EQUAL((0),(countNewItems(source.get())))
[DEBUG 00:01:02] ClientTest.cpp:819: ending CPPUNIT_ASSERT_EQUAL((0),(countNewItems(source.get())))
[DEBUG 00:01:02] ClientTest.cpp:820: starting CPPUNIT_ASSERT_EQUAL((0),(countUpdatedItems(source.get())))
[DEBUG 00:01:02] ClientTest.cpp:820: ending CPPUNIT_ASSERT_EQUAL((0),(countUpdatedItems(source.get())))
[DEBUG 00:01:02] ClientTest.cpp:821: starting CPPUNIT_ASSERT_EQUAL((0),(countDeletedItems(source.get())))
[DEBUG 00:01:02] ClientTest.cpp:821: ending CPPUNIT_ASSERT_EQUAL((0),(countDeletedItems(source.get())))
[DEBUG 00:01:02] ClientTest.cpp:391: starting reset(__null)
[DEBUG 00:01:02] ClientTest.cpp:454: starting CPPUNIT_ASSERT(get())
[DEBUG 00:01:02] ClientTest.cpp:454: ending CPPUNIT_ASSERT(get())
[DEBUG 00:01:02] ClientTest.cpp:455: starting CPPUNIT_ASSERT(m_active)
[DEBUG 00:01:02] ClientTest.cpp:455: ending CPPUNIT_ASSERT(m_active)
[DEBUG 00:01:02] ClientTest.cpp:458: starting get()->getOperations().m_endDataWrite.getPostSignal()(*get(), OPERATION_FINISHED, sysync::LOCERR_OK, true, &dummy)
[DEBUG 00:01:02] ClientTest.cpp:458: ending get()->getOperations().m_endDataWrite.getPostSignal()(*get(), OPERATION_FINISHED, sysync::LOCERR_OK, true, &dummy)
[DEBUG 00:01:02] ClientTest.cpp:461: starting anchor = get()->endSync(true)
[DEBUG 00:01:02] ClientTest.cpp:461: ending anchor = get()->endSync(true)
[DEBUG 00:01:02] ClientTest.cpp:463: starting get()->close()
[DEBUG 00:01:02] ClientTest.cpp:463: ending get()->close()
[DEBUG 00:01:02] ClientTest.cpp:391: ending reset(__null)
[DEBUG 00:01:02] ClientTest.cpp:6491: ending source_pair.second->deleteAll(source_pair.second->createSourceA)
[DEBUG 00:01:02] ClientTest.cpp:3108: ending allSourcesDeleteAll()
[DEBUG 00:01:02] ClientTest.cpp:3109: starting doSync(logPrefix, options)
[DEBUG 00:01:02] 4. starting Client_Sync_eds_contact_testComplexUpdate.deleteall.twoway.client.B with sync mode two-way
[DEBUG 00:01:02] ClientTest.cpp:6460: starting res = client.doSync(sourceArray, logname, options)
[DEBUG 00:01:02] log path -> /data/runtests/work/testing-amd64/home/memotoo/cache/syncevolution, No such file or directory
[DEBUG 00:01:02] log path -> Client_Sync_eds_contact_testComplexUpdate.deleteall.twoway.client.B, No such file or directory
[DEBUG 00:01:02] log path -> Client_Sync_eds_contact_testComplexUpdate.deleteall.twoway.client.B, No such file or directory
[DEBUG 00:01:02] checking log dir Client_Sync_eds_contact_testComplexUpdate.deleteall.twoway.client.B
[DEBUG 00:01:02] logfile: Client_Sync_eds_contact_testComplexUpdate.deleteall.twoway.client.B/syncevolution-log.html
[DEVELOPER 00:01:04] SyncML server account: syncevolution
[DEVELOPER 00:01:04] client: SyncEvolution 1.5.3 for workstation
[DEVELOPER 00:01:04] device ID: sc-pim-B
[DEVELOPER 00:01:04]
[DEVELOPER 00:01:04]
[INFO 00:01:04] addressbook: inactive
[INFO 00:01:04] calendar: inactive
[INFO 00:01:04] calendar+todo: inactive
[INFO 00:01:04] eas_contact: inactive
[INFO 00:01:04] eas_event: inactive
[INFO 00:01:04] eas_memo: inactive
[INFO 00:01:04] eas_task: inactive
[INFO 00:01:04] eds_event: inactive
[INFO 00:01:04] eds_memo: inactive
[INFO 00:01:04] eds_task: inactive
[INFO 00:01:04] file_calendar+todo: inactive
[INFO 00:01:04] file_contact: inactive
[INFO 00:01:04] file_event: inactive
[INFO 00:01:04] file_task: inactive
[INFO 00:01:04] kde_contact: inactive
[INFO 00:01:04] kde_event: inactive
[INFO 00:01:04] kde_memo: inactive
[INFO 00:01:04] kde_task: inactive
[INFO 00:01:04] memo: inactive
[INFO 00:01:04] todo: inactive
[DEBUG 00:01:04] checking password property 'password' in config 'memotoo_2@client-test-memotoo-2' with user identity 'syncevolution'
[DEBUG 00:01:04] loading password from keyring with key user=syncevolution server=www.memotoo.com/syncmldev
[DEBUG 00:01:04] not using KWallet
[DEBUG 00:01:05] sync password for memotoo_2@client-test-memotoo-2: loaded password from GNOME keyring using user=syncevolution server=www.memotoo.com/syncmldev
[DEBUG 00:01:05] checking password property 'databasePassword' in datastore 'eds_contact' of config 'memotoo_2@client-test-memotoo-2' with user identity ''
[DEBUG 00:01:05] sync is starting, catch signals
[DEBUG 00:01:05] SuspendFlags: (re)activating, currently inactive
[DEBUG 00:01:05] SuspendFlags: activating signal handler(s) with fds 38->37
[DEBUG 00:01:05] SuspendFlags: catch signal 15
[DEBUG 00:01:05] ready to sync
[DEBUG 00:01:05] CreateContext SyncEvolution//eds_contact => 0
[DEBUG 00:01:05] Module_Version = 01090100
[DEBUG 00:01:05] Module_Capabilities:
[DEBUG 00:01:05] PLATFORM:Linux
[DEBUG 00:01:05] DLL:true
[DEBUG 00:01:05] MINVERSION:V1.0.6.0
[DEBUG 00:01:05] MANUFACTURER:SyncEvolution
[DEBUG 00:01:05] DESCRIPTION:SyncEvolution Synthesis DB Plugin
[DEBUG 00:01:05] plugin_datastore_str:no
[DEBUG 00:01:05] plugin_datastore_key:yes
[DEBUG 00:01:05] ITEM_AS_KEY:yes
[DEBUG 00:01:05] plugin_datablob:no
[DEBUG 00:01:05] eds_contact: Module_PluginParams
[DEBUG 00:01:05] eds_contact:  Engine=01090100
[DEBUG 00:01:05] eds_contact:
[DEBUG 00:01:05] Module_Capabilities:
[DEBUG 00:01:05] PLATFORM:Linux
[DEBUG 00:01:05] DLL:true
[DEBUG 00:01:05] MINVERSION:V1.0.6.0
[DEBUG 00:01:05] MANUFACTURER:SyncEvolution
[DEBUG 00:01:05] DESCRIPTION:SyncEvolution Synthesis DB Plugin
[DEBUG 00:01:05] plugin_datastore_str:no
[DEBUG 00:01:05] plugin_datastore_key:yes
[DEBUG 00:01:05] ITEM_AS_KEY:yes
[DEBUG 00:01:05] plugin_datablob:no
[DEBUG 00:01:05] copying syncURL, username, password to Synthesis engine
[DEBUG 00:01:05] using plain username/password for syncevolution
[DEBUG 00:01:05] eds_contact: total number of items received 0
[INFO 00:01:07] eds_contact: starting normal sync, two-way (peer is server)
[DEBUG 00:01:07] reading: set read-ahead based on sync mode two-way
[DEBUG 00:01:07] eds_contact: reading: set order 'changed', 0 luids
[DEBUG 00:01:07] eds_contact: 'eds_contact' dev='anydevice' usr='singleuser' err=0
[DEBUG 00:01:07] eds_contact: FilterSupport staticfilter:
[DEBUG 00:01:07] eds_contact: dynamicfilter:
[DEBUG 00:01:07] eds_contact: invisiblefilter:
[DEBUG 00:01:07] eds_contact: using full item scan to detect changes
[DEBUG 00:01:07] eds_contact: StartDataRead last='1' resume='1' res=0
[DEBUG 00:01:07] eds_contact: ReadNextItemAsKey aStatus=0 aID=((null),(null)) res=0
[DEBUG 00:01:07] eds_contact: EndDataRead res=0
[DEBUG 00:01:07] eds_contact: StartDataWrite
[DEBUG 00:01:07] eds_contact: total number of items received 0
[DEBUG 00:01:08] eds_contact: total number of items received 0
[INFO 00:01:08] eds_contact: started
[DEBUG 00:01:08] eds_contact: total number of items received 0
[DEBUG 00:01:08] eds_contact: EndDataWrite COMMIT '1' res=0
[DEBUG 00:01:08] eds_contact: DeleteContext
[INFO 00:01:08] eds_contact: normal sync done successfully
[DEBUG 00:01:08] closing session
[DEBUG 00:01:08] session closed
[DEBUG 00:01:08] SuspendFlags: deactivating fds 38->37
[DEBUG 00:01:08] SuspendFlags: close m_receiverFD 37
[DEBUG 00:01:08] SuspendFlags: close m_senderFD 38
[DEBUG 00:01:08] SuspendFlags: done with deactivation
[DEBUG 00:01:08] Module_DeleteContext eds_contact
[INFO 00:01:08] sync report:
[INFO 00:01:08] +---------------|-----------------------|-----------------------|-CON-+
[INFO 00:01:08] |               |         LOCAL         |        REMOTE         | FLI |
[INFO 00:01:08] |        Source | NEW | MOD | DEL | ERR | NEW | MOD | DEL | ERR | CTS |
[INFO 00:01:08] +---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+
[INFO 00:01:08] |   eds_contact |  0  |  0  |  0  |  0  |  0  |  0  |  0  |  0  |  0  |
[INFO 00:01:08] |   two-way, 0 KB sent by client, 0 KB received                       |
[INFO 00:01:08] +---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+
[INFO 00:01:08] |          start Fri Jan  5 19:41:00 2018, duration 0:06min           |
[INFO 00:01:08] |               synchronization completed successfully                |
[INFO 00:01:08] +---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+
[INFO 00:01:08] ----------|--------CLIENT---------|--------SERVER---------|
[INFO 00:01:08]           |  NEW  |  MOD  |  DEL  |  NEW  |  MOD  |  DEL  |
[INFO 00:01:08] ----------|-----------------------------------------------|
[INFO 00:01:08] Expected  |    0  |    0  |    0  |    0  |    0  |   -1  |
[INFO 00:01:08] Expected sync mode: two-way
[INFO 00:01:08] Expected cycles: 1
[INFO 00:01:08]
[DEBUG 00:01:08] ClientTest.cpp:8283: starting CPPUNIT_ASSERT_EQUAL((string("no error (remote, status 0)")),(Status2String(status)))
[DEBUG 00:01:08] ClientTest.cpp:8283: ending CPPUNIT_ASSERT_EQUAL((string("no error (remote, status 0)")),(Status2String(status)))
[DEBUG 00:01:08] ClientTest.cpp:8284: starting CPPUNIT_ASSERT_EQUAL((STATUS_OK),(status))
[DEBUG 00:01:08] ClientTest.cpp:8284: ending CPPUNIT_ASSERT_EQUAL((STATUS_OK),(status))
[DEBUG 00:01:08] Checking sync source eds_contact...
[DEBUG 00:01:08] ClientTest.cpp:8293: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "STATUS_OK" + " == " + "source.getStatus()",(STATUS_OK),(source.getStatus()))
[DEBUG 00:01:08] ClientTest.cpp:8293: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "STATUS_OK" + " == " + "source.getStatus()",(STATUS_OK),(source.getStatus()))
[DEBUG 00:01:08] ClientTest.cpp:8305: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "0" + " == " + "source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT)",(0),(source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT)))
[DEBUG 00:01:08] ClientTest.cpp:8305: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "0" + " == " + "source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT)",(0),(source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT)))
[DEBUG 00:01:08] ClientTest.cpp:8308: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "0" + " == " + "source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT)",(0),(source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT)))
[DEBUG 00:01:08] ClientTest.cpp:8308: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "0" + " == " + "source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT)",(0),(source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT)))
[DEBUG 00:01:08] ClientTest.cpp:8322: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "restarts + 1" + " == " + "source.getRestarts() + 1",(restarts + 1),(source.getRestarts() + 1))
[DEBUG 00:01:08] ClientTest.cpp:8322: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "restarts + 1" + " == " + "source.getRestarts() + 1",(restarts + 1),(source.getRestarts() + 1))
[DEBUG 00:01:08] ClientTest.cpp:8328: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "clientAdded" + " == " + "source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_ADDED, SyncSourceReport::ITEM_TOTAL)",(clientAdded),(source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_ADDED, SyncSourceReport::ITEM_TOTAL)))
[DEBUG 00:01:08] ClientTest.cpp:8328: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "clientAdded" + " == " + "source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_ADDED, SyncSourceReport::ITEM_TOTAL)",(clientAdded),(source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_ADDED, SyncSourceReport::ITEM_TOTAL)))
[DEBUG 00:01:08] ClientTest.cpp:8334: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "clientUpdated" + " == " + "source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_UPDATED, SyncSourceReport::ITEM_TOTAL)",(clientUpdated),(source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_UPDATED, SyncSourceReport::ITEM_TOTAL)))
[DEBUG 00:01:08] ClientTest.cpp:8334: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "clientUpdated" + " == " + "source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_UPDATED, SyncSourceReport::ITEM_TOTAL)",(clientUpdated),(source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_UPDATED, SyncSourceReport::ITEM_TOTAL)))
[DEBUG 00:01:08] ClientTest.cpp:8340: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "clientDeleted" + " == " + "source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_REMOVED, SyncSourceReport::ITEM_TOTAL)",(clientDeleted),(source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_REMOVED, SyncSourceReport::ITEM_TOTAL)))
[DEBUG 00:01:08] ClientTest.cpp:8340: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "clientDeleted" + " == " + "source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_REMOVED, SyncSourceReport::ITEM_TOTAL)",(clientDeleted),(source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_REMOVED, SyncSourceReport::ITEM_TOTAL)))
[DEBUG 00:01:08] ClientTest.cpp:8347: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "serverAdded" + " == " + "source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_ADDED, SyncSourceReport::ITEM_TOTAL)",(serverAdded),(source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_ADDED, SyncSourceReport::ITEM_TOTAL)))
[DEBUG 00:01:08] ClientTest.cpp:8347: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "serverAdded" + " == " + "source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_ADDED, SyncSourceReport::ITEM_TOTAL)",(serverAdded),(source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_ADDED, SyncSourceReport::ITEM_TOTAL)))
[DEBUG 00:01:08] ClientTest.cpp:8353: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "serverUpdated" + " == " + "source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_UPDATED, SyncSourceReport::ITEM_TOTAL)",(serverUpdated),(source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_UPDATED, SyncSourceReport::ITEM_TOTAL)))
[DEBUG 00:01:08] ClientTest.cpp:8353: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "serverUpdated" + " == " + "source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_UPDATED, SyncSourceReport::ITEM_TOTAL)",(serverUpdated),(source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_UPDATED, SyncSourceReport::ITEM_TOTAL)))
[DEBUG 00:01:08] Done with checking sync report.
[DEBUG 00:01:08] ClientTest.cpp:6460: ending res = client.doSync(sourceArray, logname, options)
[DEBUG 00:01:08] ClientTest.cpp:6465: starting postSync(res, logname)
[DEBUG 00:01:18] ClientTest.cpp:6465: ending postSync(res, logname)
[DEBUG 00:01:18] ClientTest.cpp:3109: ending doSync(logPrefix, options)
[DEBUG 00:01:18] ClientTest.cpp:3138: starting allSourcesInsert()
[DEBUG 00:01:18] ClientTest.cpp:6476: starting source_pair.second->doInsert(withUID)
[DEBUG 00:01:18] ClientTest.cpp:1178: starting CPPUNIT_ASSERT(!config.m_insertItem.empty())
[DEBUG 00:01:18] ClientTest.cpp:1178: ending CPPUNIT_ASSERT(!config.m_insertItem.empty())
[DEBUG 00:01:18] ClientTest.cpp:1179: starting CPPUNIT_ASSERT(!config.m_createSourceA.empty())
[DEBUG 00:01:18] ClientTest.cpp:1179: ending CPPUNIT_ASSERT(!config.m_createSourceA.empty())
[DEBUG 00:01:18] ClientTest.cpp:1185: starting insert(createSourceA, item)
[DEBUG 00:01:18] ClientTest.cpp:669: starting source.reset(createSource())
[DEBUG 00:01:19] instantiating testing source eds_contact in config target-config@client-test-memotoo, with tracking name _1_A
[DEBUG 00:01:19] overriding testing source eds_contact properties with the ones from config memotoo_1 = /data/runtests/work/testing-amd64/home/memotoo/config/syncevolution/client-test-memotoo-1/peers/memotoo_1
[DEBUG 00:01:19]    sync = two-way (set)
[DEBUG 00:01:19]    uri = con (set)
[DEBUG 00:01:19]    backend = Evolution Address Book (set)
[DEBUG 00:01:19]    syncFormat = text/vcard (set)
[DEBUG 00:01:19]    forceSyncFormat = 0 (default)
[DEBUG 00:01:19]    database = Test_eds_contact_1 (set)
[DEBUG 00:01:19]    databaseFormat =  (default)
[DEBUG 00:01:19]    databaseUser =  (default)
[DEBUG 00:01:19]    databasePassword =  (default)
[DEBUG 00:01:19] ClientTest.cpp:424: starting CPPUNIT_ASSERT(get())
[DEBUG 00:01:19] ClientTest.cpp:424: ending CPPUNIT_ASSERT(get())
[DEBUG 00:01:19] ClientTest.cpp:425: starting CPPUNIT_ASSERT(!m_active)
[DEBUG 00:01:19] ClientTest.cpp:425: ending CPPUNIT_ASSERT(!m_active)
[DEBUG 00:01:19] ClientTest.cpp:431: starting get()->open()
[DEBUG 00:01:19] ClientTest.cpp:431: ending get()->open()
[DEBUG 00:01:19] eds_contact: using full item scan to detect changes
[DEBUG 00:01:19] ClientTest.cpp:669: ending source.reset(createSource())
[DEBUG 00:01:19] ClientTest.cpp:669: starting CPPUNIT_ASSERT((source.get()))
[DEBUG 00:01:19] ClientTest.cpp:669: ending CPPUNIT_ASSERT((source.get()))
[DEBUG 00:01:19] ClientTest.cpp:673: starting numItems = countItems(source.get())
[DEBUG 00:01:19] ClientTest.cpp:673: ending numItems = countItems(source.get())
[DEBUG 00:01:19] ClientTest.cpp:679: starting res = source->insertItemRaw("", mangled)
[DEBUG 00:01:19] eds_contact: add operation #0: queueing for batched add
[DEBUG 00:01:19] eds_contact: batch add of 1 contacts starting
[DEBUG 00:01:19] eds_contact: waiting for 1 pending operations to complete
[DEBUG 00:01:19] eds_contact: batch add of 1 contacts completed
[DEBUG 00:01:19] eds_contact: add operation #0: completed: <<successfully>>
[DEBUG 00:01:19] eds_contact: pending operations completed
[DEBUG 00:01:19] eds_contact: add operation #0: checking operation: inserted
[DEBUG 00:01:19] ClientTest.cpp:679: ending res = source->insertItemRaw("", mangled)
[DEBUG 00:01:19] ClientTest.cpp:679: starting CPPUNIT_ASSERT((source.get()))
[DEBUG 00:01:19] ClientTest.cpp:679: ending CPPUNIT_ASSERT((source.get()))
[DEBUG 00:01:19] ClientTest.cpp:680: starting CPPUNIT_ASSERT(!res.m_luid.empty())
[DEBUG 00:01:19] ClientTest.cpp:680: ending CPPUNIT_ASSERT(!res.m_luid.empty())
[DEBUG 00:01:19] ClientTest.cpp:693: starting source.reset()
[DEBUG 00:01:19] ClientTest.cpp:454: starting CPPUNIT_ASSERT(get())
[DEBUG 00:01:19] ClientTest.cpp:454: ending CPPUNIT_ASSERT(get())
[DEBUG 00:01:19] ClientTest.cpp:455: starting CPPUNIT_ASSERT(m_active)
[DEBUG 00:01:19] ClientTest.cpp:455: ending CPPUNIT_ASSERT(m_active)
[DEBUG 00:01:19] ClientTest.cpp:458: starting get()->getOperations().m_endDataWrite.getPostSignal()(*get(), OPERATION_FINISHED, sysync::LOCERR_OK, true, &dummy)
[DEBUG 00:01:20] ClientTest.cpp:458: ending get()->getOperations().m_endDataWrite.getPostSignal()(*get(), OPERATION_FINISHED, sysync::LOCERR_OK, true, &dummy)
[DEBUG 00:01:20] ClientTest.cpp:461: starting anchor = get()->endSync(true)
[DEBUG 00:01:20] ClientTest.cpp:461: ending anchor = get()->endSync(true)
[DEBUG 00:01:20] ClientTest.cpp:463: starting get()->close()
[DEBUG 00:01:20] ClientTest.cpp:463: ending get()->close()
[DEBUG 00:01:20] ClientTest.cpp:693: ending source.reset()
[DEBUG 00:01:20] ClientTest.cpp:699: starting source.reset(createSource())
[DEBUG 00:01:20] instantiating testing source eds_contact in config target-config@client-test-memotoo, with tracking name _1_A
[DEBUG 00:01:20] overriding testing source eds_contact properties with the ones from config memotoo_1 = /data/runtests/work/testing-amd64/home/memotoo/config/syncevolution/client-test-memotoo-1/peers/memotoo_1
[DEBUG 00:01:20]    sync = two-way (set)
[DEBUG 00:01:20]    uri = con (set)
[DEBUG 00:01:20]    backend = Evolution Address Book (set)
[DEBUG 00:01:20]    syncFormat = text/vcard (set)
[DEBUG 00:01:20]    forceSyncFormat = 0 (default)
[DEBUG 00:01:20]    database = Test_eds_contact_1 (set)
[DEBUG 00:01:20]    databaseFormat =  (default)
[DEBUG 00:01:20]    databaseUser =  (default)
[DEBUG 00:01:20]    databasePassword =  (default)
[DEBUG 00:01:20] ClientTest.cpp:424: starting CPPUNIT_ASSERT(get())
[DEBUG 00:01:20] ClientTest.cpp:424: ending CPPUNIT_ASSERT(get())
[DEBUG 00:01:20] ClientTest.cpp:425: starting CPPUNIT_ASSERT(!m_active)
[DEBUG 00:01:20] ClientTest.cpp:425: ending CPPUNIT_ASSERT(!m_active)
[DEBUG 00:01:20] ClientTest.cpp:431: starting get()->open()
[DEBUG 00:01:20] ClientTest.cpp:431: ending get()->open()
[DEBUG 00:01:20] eds_contact: using full item scan to detect changes
[DEBUG 00:01:20] ClientTest.cpp:699: ending source.reset(createSource())
[DEBUG 00:01:20] ClientTest.cpp:699: starting CPPUNIT_ASSERT((source.get()))
[DEBUG 00:01:20] ClientTest.cpp:699: ending CPPUNIT_ASSERT((source.get()))
[DEBUG 00:01:20] ClientTest.cpp:701: starting CPPUNIT_ASSERT_EQUAL((numItems + ((res.m_state == ITEM_REPLACED || res.m_state == ITEM_MERGED || updated) ? 0 : 1)),(countItems(source.get())))
[DEBUG 00:01:20] ClientTest.cpp:701: ending CPPUNIT_ASSERT_EQUAL((numItems + ((res.m_state == ITEM_REPLACED || res.m_state == ITEM_MERGED || updated) ? 0 : 1)),(countItems(source.get())))
[DEBUG 00:01:20] ClientTest.cpp:702: starting CPPUNIT_ASSERT_EQUAL((0),(countNewItems(source.get())))
[DEBUG 00:01:20] ClientTest.cpp:702: ending CPPUNIT_ASSERT_EQUAL((0),(countNewItems(source.get())))
[DEBUG 00:01:20] ClientTest.cpp:703: starting CPPUNIT_ASSERT_EQUAL((0),(countUpdatedItems(source.get())))
[DEBUG 00:01:20] ClientTest.cpp:703: ending CPPUNIT_ASSERT_EQUAL((0),(countUpdatedItems(source.get())))
[DEBUG 00:01:20] ClientTest.cpp:704: starting CPPUNIT_ASSERT_EQUAL((0),(countDeletedItems(source.get())))
[DEBUG 00:01:20] ClientTest.cpp:704: ending CPPUNIT_ASSERT_EQUAL((0),(countDeletedItems(source.get())))
[DEBUG 00:01:20] ClientTest.cpp:391: starting reset(__null)
[DEBUG 00:01:20] ClientTest.cpp:454: starting CPPUNIT_ASSERT(get())
[DEBUG 00:01:20] ClientTest.cpp:454: ending CPPUNIT_ASSERT(get())
[DEBUG 00:01:20] ClientTest.cpp:455: starting CPPUNIT_ASSERT(m_active)
[DEBUG 00:01:20] ClientTest.cpp:455: ending CPPUNIT_ASSERT(m_active)
[DEBUG 00:01:20] ClientTest.cpp:458: starting get()->getOperations().m_endDataWrite.getPostSignal()(*get(), OPERATION_FINISHED, sysync::LOCERR_OK, true, &dummy)
[DEBUG 00:01:20] ClientTest.cpp:458: ending get()->getOperations().m_endDataWrite.getPostSignal()(*get(), OPERATION_FINISHED, sysync::LOCERR_OK, true, &dummy)
[DEBUG 00:01:20] ClientTest.cpp:461: starting anchor = get()->endSync(true)
[DEBUG 00:01:20] ClientTest.cpp:461: ending anchor = get()->endSync(true)
[DEBUG 00:01:20] ClientTest.cpp:463: starting get()->close()
[DEBUG 00:01:20] ClientTest.cpp:463: ending get()->close()
[DEBUG 00:01:20] ClientTest.cpp:391: ending reset(__null)
[DEBUG 00:01:20] ClientTest.cpp:1185: ending insert(createSourceA, item)
[DEBUG 00:01:20] ClientTest.cpp:6476: ending source_pair.second->doInsert(withUID)
[DEBUG 00:01:20] ClientTest.cpp:3138: ending allSourcesInsert()
[DEBUG 00:01:20] ClientTest.cpp:3139: starting doSync(logPrefix, options)
[DEBUG 00:01:20] 5. starting Client_Sync_eds_contact_testComplexUpdate.copy.send.client.A with sync mode two-way
[DEBUG 00:01:20] ClientTest.cpp:6460: starting res = client.doSync(sourceArray, logname, options)
[DEBUG 00:01:20] log path -> /data/runtests/work/testing-amd64/home/memotoo/cache/syncevolution, No such file or directory
[DEBUG 00:01:20] log path -> Client_Sync_eds_contact_testComplexUpdate.copy.send.client.A, No such file or directory
[DEBUG 00:01:20] log path -> Client_Sync_eds_contact_testComplexUpdate.copy.send.client.A, No such file or directory
[DEBUG 00:01:20] checking log dir Client_Sync_eds_contact_testComplexUpdate.copy.send.client.A
[DEBUG 00:01:20] logfile: Client_Sync_eds_contact_testComplexUpdate.copy.send.client.A/syncevolution-log.html
[DEVELOPER 00:01:22] SyncML server account: syncevolution
[DEVELOPER 00:01:22] client: SyncEvolution 1.5.3 for workstation
[DEVELOPER 00:01:22] device ID: sc-api-A
[DEVELOPER 00:01:22]
[DEVELOPER 00:01:22]
[INFO 00:01:22] addressbook: inactive
[INFO 00:01:22] calendar: inactive
[INFO 00:01:22] calendar+todo: inactive
[INFO 00:01:22] eas_contact: inactive
[INFO 00:01:22] eas_event: inactive
[INFO 00:01:22] eas_memo: inactive
[INFO 00:01:22] eas_task: inactive
[INFO 00:01:22] eds_event: inactive
[INFO 00:01:22] eds_memo: inactive
[INFO 00:01:22] eds_task: inactive
[INFO 00:01:22] file_calendar+todo: inactive
[INFO 00:01:22] file_contact: inactive
[INFO 00:01:22] file_event: inactive
[INFO 00:01:22] file_task: inactive
[INFO 00:01:22] kde_contact: inactive
[INFO 00:01:22] kde_event: inactive
[INFO 00:01:22] kde_memo: inactive
[INFO 00:01:22] kde_task: inactive
[INFO 00:01:22] memo: inactive
[INFO 00:01:22] todo: inactive
[DEBUG 00:01:22] checking password property 'password' in config 'memotoo_1@client-test-memotoo-1' with user identity 'syncevolution'
[DEBUG 00:01:22] loading password from keyring with key user=syncevolution server=www.memotoo.com/syncmldev
[DEBUG 00:01:22] not using KWallet
[DEBUG 00:01:22] sync password for memotoo_1@client-test-memotoo-1: loaded password from GNOME keyring using user=syncevolution server=www.memotoo.com/syncmldev
[DEBUG 00:01:22] checking password property 'databasePassword' in datastore 'eds_contact' of config 'memotoo_1@client-test-memotoo-1' with user identity ''
[DEBUG 00:01:22] sync is starting, catch signals
[DEBUG 00:01:22] SuspendFlags: (re)activating, currently inactive
[DEBUG 00:01:22] SuspendFlags: activating signal handler(s) with fds 38->37
[DEBUG 00:01:22] SuspendFlags: catch signal 15
[DEBUG 00:01:22] ready to sync
[DEBUG 00:01:23] CreateContext SyncEvolution//eds_contact => 0
[DEBUG 00:01:23] Module_Version = 01090100
[DEBUG 00:01:23] Module_Capabilities:
[DEBUG 00:01:23] PLATFORM:Linux
[DEBUG 00:01:23] DLL:true
[DEBUG 00:01:23] MINVERSION:V1.0.6.0
[DEBUG 00:01:23] MANUFACTURER:SyncEvolution
[DEBUG 00:01:23] DESCRIPTION:SyncEvolution Synthesis DB Plugin
[DEBUG 00:01:23] plugin_datastore_str:no
[DEBUG 00:01:23] plugin_datastore_key:yes
[DEBUG 00:01:23] ITEM_AS_KEY:yes
[DEBUG 00:01:23] plugin_datablob:no
[DEBUG 00:01:23] eds_contact: Module_PluginParams
[DEBUG 00:01:23] eds_contact:  Engine=01090100
[DEBUG 00:01:23] eds_contact:
[DEBUG 00:01:23] Module_Capabilities:
[DEBUG 00:01:23] PLATFORM:Linux
[DEBUG 00:01:23] DLL:true
[DEBUG 00:01:23] MINVERSION:V1.0.6.0
[DEBUG 00:01:23] MANUFACTURER:SyncEvolution
[DEBUG 00:01:23] DESCRIPTION:SyncEvolution Synthesis DB Plugin
[DEBUG 00:01:23] plugin_datastore_str:no
[DEBUG 00:01:23] plugin_datastore_key:yes
[DEBUG 00:01:23] ITEM_AS_KEY:yes
[DEBUG 00:01:23] plugin_datablob:no
[DEBUG 00:01:23] copying syncURL, username, password to Synthesis engine
[DEBUG 00:01:23] using plain username/password for syncevolution
[DEBUG 00:01:23] eds_contact: total number of items received 0
[INFO 00:01:25] eds_contact: starting normal sync, two-way (peer is server)
[DEBUG 00:01:25] reading: set read-ahead based on sync mode two-way
[DEBUG 00:01:25] eds_contact: reading: set order 'changed', 0 luids
[DEBUG 00:01:25] eds_contact: 'eds_contact' dev='anydevice' usr='singleuser' err=0
[DEBUG 00:01:25] eds_contact: FilterSupport staticfilter:
[DEBUG 00:01:25] eds_contact: dynamicfilter:
[DEBUG 00:01:25] eds_contact: invisiblefilter:
[DEBUG 00:01:25] eds_contact: using full item scan to detect changes
[DEBUG 00:01:25] eds_contact: StartDataRead last='1' resume='1' res=0
[DEBUG 00:01:25] eds_contact: ReadNextItemAsKey aStatus=1 aID=(pas-id-36bbc9dd71e938e40ecb7d76cb674711cd062ec3,(null)) res=0
[DEBUG 00:01:25] eds_contact: ReadNextItemAsKey aStatus=0 aID=((null),(null)) res=0
[DEBUG 00:01:25] eds_contact: EndDataRead res=0
[DEBUG 00:01:25] eds_contact: reading: getting contact pas-id-36bbc9dd71e938e40ecb7d76cb674711cd062ec3
[DEBUG 00:01:25] eds_contact: reading: must read contact pas-id-36bbc9dd71e938e40ecb7d76cb674711cd062ec3
[DEBUG 00:01:26] eds_contact: reading: started contact read pas-id-36bbc9dd71e938e40ecb7d76cb674711cd062ec3-pas-id-36bbc9dd71e938e40ecb7d76cb674711cd062ec3 (1)
[DEBUG 00:01:26] eds_contact: reading: active cache pas-id-36bbc9dd71e938e40ecb7d76cb674711cd062ec3-pas-id-36bbc9dd71e938e40ecb7d76cb674711cd062ec3 (1)
[DEBUG 00:01:26] eds_contact: reading: in running cache
[DEBUG 00:01:26] eds_contact: reading: contact read pas-id-36bbc9dd71e938e40ecb7d76cb674711cd062ec3-pas-id-36bbc9dd71e938e40ecb7d76cb674711cd062ec3 (1) finished: <<successful>>
[DEBUG 00:01:26] eds_contact: reading: contact read pas-id-36bbc9dd71e938e40ecb7d76cb674711cd062ec3-pas-id-36bbc9dd71e938e40ecb7d76cb674711cd062ec3 (1) got pas-id-36bbc9dd71e938e40ecb7d76cb674711cd062ec3
[DEBUG 00:01:26] eds_contact: reading: in cache, available
[DEBUG 00:01:26] eds_contact: reading: continue after contact pas-id-36bbc9dd71e938e40ecb7d76cb674711cd062ec3
[DEBUG 00:01:26] eds_contact: reading: read pas-id-36bbc9dd71e938e40ecb7d76cb674711cd062ec3: <<okay>>
[DEBUG 00:01:26] eds_contact: requested 1, retrieved 1 from DB in 1 queries, misses 0/1 (0%), stalls 1
[DEBUG 00:01:26] eds_contact: ReadItemAsKey aID=(pas-id-36bbc9dd71e938e40ecb7d76cb674711cd062ec3,) res=0
[DEBUG 00:01:26] eds_contact: StartDataWrite
[DEBUG 00:01:26] eds_contact: total number of items received 0
[INFO 00:01:26] eds_contact: sent 1/1
[DEBUG 00:01:26] eds_contact: total number of items received 0
[INFO 00:01:27] eds_contact: started
[DEBUG 00:01:27] eds_contact: total number of items received 0
[DEBUG 00:01:27] eds_contact: EndDataWrite COMMIT '1' res=0
[DEBUG 00:01:27] eds_contact: DeleteContext
[INFO 00:01:27] eds_contact: normal sync done successfully
[DEBUG 00:01:27] closing session
[DEBUG 00:01:27] session closed
[DEBUG 00:01:27] SuspendFlags: deactivating fds 38->37
[DEBUG 00:01:27] SuspendFlags: close m_receiverFD 37
[DEBUG 00:01:27] SuspendFlags: close m_senderFD 38
[DEBUG 00:01:27] SuspendFlags: done with deactivation
[DEBUG 00:01:27] Module_DeleteContext eds_contact
[INFO 00:01:27] sync report:
[INFO 00:01:27] +---------------|-----------------------|-----------------------|-CON-+
[INFO 00:01:27] |               |         LOCAL         |        REMOTE         | FLI |
[INFO 00:01:27] |        Source | NEW | MOD | DEL | ERR | NEW | MOD | DEL | ERR | CTS |
[INFO 00:01:27] +---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+
[INFO 00:01:27] |   eds_contact |  0  |  0  |  0  |  0  |  1  |  0  |  0  |  0  |  0  |
[INFO 00:01:27] |   two-way, 0 KB sent by client, 0 KB received                       |
[INFO 00:01:27] +---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+
[INFO 00:01:27] |          start Fri Jan  5 19:41:17 2018, duration 0:07min           |
[INFO 00:01:27] |               synchronization completed successfully                |
[INFO 00:01:27] +---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+
[INFO 00:01:27] ----------|--------CLIENT---------|--------SERVER---------|
[INFO 00:01:27]           |  NEW  |  MOD  |  DEL  |  NEW  |  MOD  |  DEL  |
[INFO 00:01:27] ----------|-----------------------------------------------|
[INFO 00:01:27] Expected  |    0  |   -1  |    0  |    1  |    0  |    0  |
[INFO 00:01:27] Expected sync mode: two-way
[INFO 00:01:27] Expected cycles: 1
[INFO 00:01:27]
[DEBUG 00:01:27] ClientTest.cpp:8283: starting CPPUNIT_ASSERT_EQUAL((string("no error (remote, status 0)")),(Status2String(status)))
[DEBUG 00:01:27] ClientTest.cpp:8283: ending CPPUNIT_ASSERT_EQUAL((string("no error (remote, status 0)")),(Status2String(status)))
[DEBUG 00:01:27] ClientTest.cpp:8284: starting CPPUNIT_ASSERT_EQUAL((STATUS_OK),(status))
[DEBUG 00:01:27] ClientTest.cpp:8284: ending CPPUNIT_ASSERT_EQUAL((STATUS_OK),(status))
[DEBUG 00:01:27] Checking sync source eds_contact...
[DEBUG 00:01:27] ClientTest.cpp:8293: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "STATUS_OK" + " == " + "source.getStatus()",(STATUS_OK),(source.getStatus()))
[DEBUG 00:01:27] ClientTest.cpp:8293: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "STATUS_OK" + " == " + "source.getStatus()",(STATUS_OK),(source.getStatus()))
[DEBUG 00:01:27] ClientTest.cpp:8305: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "0" + " == " + "source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT)",(0),(source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT)))
[DEBUG 00:01:27] ClientTest.cpp:8305: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "0" + " == " + "source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT)",(0),(source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT)))
[DEBUG 00:01:27] ClientTest.cpp:8308: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "0" + " == " + "source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT)",(0),(source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT)))
[DEBUG 00:01:27] ClientTest.cpp:8308: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "0" + " == " + "source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT)",(0),(source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT)))
[DEBUG 00:01:27] ClientTest.cpp:8322: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "restarts + 1" + " == " + "source.getRestarts() + 1",(restarts + 1),(source.getRestarts() + 1))
[DEBUG 00:01:27] ClientTest.cpp:8322: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "restarts + 1" + " == " + "source.getRestarts() + 1",(restarts + 1),(source.getRestarts() + 1))
[DEBUG 00:01:27] ClientTest.cpp:8328: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "clientAdded" + " == " + "source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_ADDED, SyncSourceReport::ITEM_TOTAL)",(clientAdded),(source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_ADDED, SyncSourceReport::ITEM_TOTAL)))
[DEBUG 00:01:27] ClientTest.cpp:8328: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "clientAdded" + " == " + "source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_ADDED, SyncSourceReport::ITEM_TOTAL)",(clientAdded),(source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_ADDED, SyncSourceReport::ITEM_TOTAL)))
[DEBUG 00:01:27] ClientTest.cpp:8340: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "clientDeleted" + " == " + "source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_REMOVED, SyncSourceReport::ITEM_TOTAL)",(clientDeleted),(source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_REMOVED, SyncSourceReport::ITEM_TOTAL)))
[DEBUG 00:01:27] ClientTest.cpp:8340: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "clientDeleted" + " == " + "source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_REMOVED, SyncSourceReport::ITEM_TOTAL)",(clientDeleted),(source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_REMOVED, SyncSourceReport::ITEM_TOTAL)))
[DEBUG 00:01:27] ClientTest.cpp:8347: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "serverAdded" + " == " + "source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_ADDED, SyncSourceReport::ITEM_TOTAL)",(serverAdded),(source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_ADDED, SyncSourceReport::ITEM_TOTAL)))
[DEBUG 00:01:27] ClientTest.cpp:8347: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "serverAdded" + " == " + "source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_ADDED, SyncSourceReport::ITEM_TOTAL)",(serverAdded),(source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_ADDED, SyncSourceReport::ITEM_TOTAL)))
[DEBUG 00:01:27] ClientTest.cpp:8353: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "serverUpdated" + " == " + "source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_UPDATED, SyncSourceReport::ITEM_TOTAL)",(serverUpdated),(source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_UPDATED, SyncSourceReport::ITEM_TOTAL)))
[DEBUG 00:01:27] ClientTest.cpp:8353: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "serverUpdated" + " == " + "source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_UPDATED, SyncSourceReport::ITEM_TOTAL)",(serverUpdated),(source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_UPDATED, SyncSourceReport::ITEM_TOTAL)))
[DEBUG 00:01:27] ClientTest.cpp:8359: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "serverDeleted" + " == " + "source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_REMOVED, SyncSourceReport::ITEM_TOTAL)",(serverDeleted),(source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_REMOVED, SyncSourceReport::ITEM_TOTAL)))
[DEBUG 00:01:27] ClientTest.cpp:8359: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "serverDeleted" + " == " + "source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_REMOVED, SyncSourceReport::ITEM_TOTAL)",(serverDeleted),(source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_REMOVED, SyncSourceReport::ITEM_TOTAL)))
[DEBUG 00:01:27] Done with checking sync report.
[DEBUG 00:01:27] ClientTest.cpp:6460: ending res = client.doSync(sourceArray, logname, options)
[DEBUG 00:01:27] ClientTest.cpp:6465: starting postSync(res, logname)
[DEBUG 00:01:37] ClientTest.cpp:6465: ending postSync(res, logname)
[DEBUG 00:01:37] ClientTest.cpp:3139: ending doSync(logPrefix, options)
[DEBUG 00:01:37] ClientTest.cpp:3145: starting doSync(logPrefix, options)
[DEBUG 00:01:37] 6. starting Client_Sync_eds_contact_testComplexUpdate.recv.client.B with sync mode two-way
[DEBUG 00:01:37] ClientTest.cpp:6460: starting res = client.doSync(sourceArray, logname, options)
[DEBUG 00:01:37] log path -> /data/runtests/work/testing-amd64/home/memotoo/cache/syncevolution, No such file or directory
[DEBUG 00:01:37] log path -> Client_Sync_eds_contact_testComplexUpdate.recv.client.B, No such file or directory
[DEBUG 00:01:37] log path -> Client_Sync_eds_contact_testComplexUpdate.recv.client.B, No such file or directory
[DEBUG 00:01:37] checking log dir Client_Sync_eds_contact_testComplexUpdate.recv.client.B
[DEBUG 00:01:37] logfile: Client_Sync_eds_contact_testComplexUpdate.recv.client.B/syncevolution-log.html
[DEVELOPER 00:01:39] SyncML server account: syncevolution
[DEVELOPER 00:01:39] client: SyncEvolution 1.5.3 for workstation
[DEVELOPER 00:01:39] device ID: sc-pim-B
[DEVELOPER 00:01:39]
[DEVELOPER 00:01:39]
[INFO 00:01:39] addressbook: inactive
[INFO 00:01:39] calendar: inactive
[INFO 00:01:39] calendar+todo: inactive
[INFO 00:01:39] eas_contact: inactive
[INFO 00:01:39] eas_event: inactive
[INFO 00:01:39] eas_memo: inactive
[INFO 00:01:39] eas_task: inactive
[INFO 00:01:39] eds_event: inactive
[INFO 00:01:39] eds_memo: inactive
[INFO 00:01:39] eds_task: inactive
[INFO 00:01:39] file_calendar+todo: inactive
[INFO 00:01:39] file_contact: inactive
[INFO 00:01:39] file_event: inactive
[INFO 00:01:39] file_task: inactive
[INFO 00:01:39] kde_contact: inactive
[INFO 00:01:39] kde_event: inactive
[INFO 00:01:39] kde_memo: inactive
[INFO 00:01:39] kde_task: inactive
[INFO 00:01:39] memo: inactive
[INFO 00:01:39] todo: inactive
[DEBUG 00:01:39] checking password property 'password' in config 'memotoo_2@client-test-memotoo-2' with user identity 'syncevolution'
[DEBUG 00:01:39] loading password from keyring with key user=syncevolution server=www.memotoo.com/syncmldev
[DEBUG 00:01:39] not using KWallet
[DEBUG 00:01:39] sync password for memotoo_2@client-test-memotoo-2: loaded password from GNOME keyring using user=syncevolution server=www.memotoo.com/syncmldev
[DEBUG 00:01:39] checking password property 'databasePassword' in datastore 'eds_contact' of config 'memotoo_2@client-test-memotoo-2' with user identity ''
[DEBUG 00:01:39] sync is starting, catch signals
[DEBUG 00:01:39] SuspendFlags: (re)activating, currently inactive
[DEBUG 00:01:39] SuspendFlags: activating signal handler(s) with fds 38->37
[DEBUG 00:01:39] SuspendFlags: catch signal 15
[DEBUG 00:01:39] ready to sync
[DEBUG 00:01:40] CreateContext SyncEvolution//eds_contact => 0
[DEBUG 00:01:40] Module_Version = 01090100
[DEBUG 00:01:40] Module_Capabilities:
[DEBUG 00:01:40] PLATFORM:Linux
[DEBUG 00:01:40] DLL:true
[DEBUG 00:01:40] MINVERSION:V1.0.6.0
[DEBUG 00:01:40] MANUFACTURER:SyncEvolution
[DEBUG 00:01:40] DESCRIPTION:SyncEvolution Synthesis DB Plugin
[DEBUG 00:01:40] plugin_datastore_str:no
[DEBUG 00:01:40] plugin_datastore_key:yes
[DEBUG 00:01:40] ITEM_AS_KEY:yes
[DEBUG 00:01:40] plugin_datablob:no
[DEBUG 00:01:40] eds_contact: Module_PluginParams
[DEBUG 00:01:40] eds_contact:  Engine=01090100
[DEBUG 00:01:40] eds_contact:
[DEBUG 00:01:40] Module_Capabilities:
[DEBUG 00:01:40] PLATFORM:Linux
[DEBUG 00:01:40] DLL:true
[DEBUG 00:01:40] MINVERSION:V1.0.6.0
[DEBUG 00:01:40] MANUFACTURER:SyncEvolution
[DEBUG 00:01:40] DESCRIPTION:SyncEvolution Synthesis DB Plugin
[DEBUG 00:01:40] plugin_datastore_str:no
[DEBUG 00:01:40] plugin_datastore_key:yes
[DEBUG 00:01:40] ITEM_AS_KEY:yes
[DEBUG 00:01:40] plugin_datablob:no
[DEBUG 00:01:40] copying syncURL, username, password to Synthesis engine
[DEBUG 00:01:40] using plain username/password for syncevolution
[DEBUG 00:01:40] eds_contact: total number of items received 0
[INFO 00:01:42] eds_contact: starting normal sync, two-way (peer is server)
[DEBUG 00:01:42] reading: set read-ahead based on sync mode two-way
[DEBUG 00:01:42] eds_contact: reading: set order 'changed', 0 luids
[DEBUG 00:01:42] eds_contact: 'eds_contact' dev='anydevice' usr='singleuser' err=0
[DEBUG 00:01:42] eds_contact: FilterSupport staticfilter:
[DEBUG 00:01:42] eds_contact: dynamicfilter:
[DEBUG 00:01:42] eds_contact: invisiblefilter:
[DEBUG 00:01:42] eds_contact: using full item scan to detect changes
[DEBUG 00:01:42] eds_contact: StartDataRead last='1' resume='1' res=0
[DEBUG 00:01:42] eds_contact: ReadNextItemAsKey aStatus=0 aID=((null),(null)) res=0
[DEBUG 00:01:42] eds_contact: EndDataRead res=0
[DEBUG 00:01:42] eds_contact: StartDataWrite
[DEBUG 00:01:42] eds_contact: total number of items received 0
[DEBUG 00:01:42] eds_contact: total number of items received 0
[INFO 00:01:43] eds_contact: started
[INFO 00:01:43] eds_contact: adding "John Doe"
[DEBUG 00:01:43] eds_contact: add operation #0: queueing for batched add
[DEBUG 00:01:43] eds_contact: InsertItemAsKey res=1
[DEBUG 00:01:43] eds_contact: batch add of 1 contacts starting
[DEBUG 00:01:43] eds_contact: waiting for 1 pending operations to complete
[DEBUG 00:01:43] eds_contact: batch add of 1 contacts completed
[DEBUG 00:01:43] eds_contact: add operation #0: completed: <<successfully>>
[DEBUG 00:01:43] eds_contact: pending operations completed
[DEBUG 00:01:43] eds_contact: add operation #0: checking operation: inserted
[DEBUG 00:01:43] eds_contact: InsertItemAsKey res=0
[DEBUG 00:01:44] eds_contact: EndDataWrite COMMIT '1' res=0
[DEBUG 00:01:44] eds_contact: total number of items received 0
[INFO 00:01:44] eds_contact: received 2/1
[DEBUG 00:01:44] eds_contact: DeleteContext
[INFO 00:01:44] eds_contact: normal sync done successfully
[DEBUG 00:01:44] closing session
[DEBUG 00:01:44] session closed
[DEBUG 00:01:44] SuspendFlags: deactivating fds 38->37
[DEBUG 00:01:44] SuspendFlags: close m_receiverFD 37
[DEBUG 00:01:44] SuspendFlags: close m_senderFD 38
[DEBUG 00:01:44] SuspendFlags: done with deactivation
[DEBUG 00:01:44] Module_DeleteContext eds_contact
[INFO 00:01:45] sync report:
[INFO 00:01:45] +---------------|-----------------------|-----------------------|-CON-+
[INFO 00:01:45] |               |         LOCAL         |        REMOTE         | FLI |
[INFO 00:01:45] |        Source | NEW | MOD | DEL | ERR | NEW | MOD | DEL | ERR | CTS |
[INFO 00:01:45] +---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+
[INFO 00:01:45] |   eds_contact |  1  |  0  |  0  |  0  |  0  |  0  |  0  |  0  |  0  |
[INFO 00:01:45] |   two-way, 0 KB sent by client, 0 KB received                       |
[INFO 00:01:45] +---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+
[INFO 00:01:45] |          start Fri Jan  5 19:41:35 2018, duration 0:07min           |
[INFO 00:01:45] |               synchronization completed successfully                |
[INFO 00:01:45] +---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+
[INFO 00:01:45] ----------|--------CLIENT---------|--------SERVER---------|
[INFO 00:01:45]           |  NEW  |  MOD  |  DEL  |  NEW  |  MOD  |  DEL  |
[INFO 00:01:45] ----------|-----------------------------------------------|
[INFO 00:01:45] Expected  |    1  |    0  |    0  |    0  |    0  |    0  |
[INFO 00:01:45] Expected sync mode: two-way
[INFO 00:01:45] Expected cycles: 1
[INFO 00:01:45]
[DEBUG 00:01:45] ClientTest.cpp:8283: starting CPPUNIT_ASSERT_EQUAL((string("no error (remote, status 0)")),(Status2String(status)))
[DEBUG 00:01:45] ClientTest.cpp:8283: ending CPPUNIT_ASSERT_EQUAL((string("no error (remote, status 0)")),(Status2String(status)))
[DEBUG 00:01:45] ClientTest.cpp:8284: starting CPPUNIT_ASSERT_EQUAL((STATUS_OK),(status))
[DEBUG 00:01:45] ClientTest.cpp:8284: ending CPPUNIT_ASSERT_EQUAL((STATUS_OK),(status))
[DEBUG 00:01:45] Checking sync source eds_contact...
[DEBUG 00:01:45] ClientTest.cpp:8293: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "STATUS_OK" + " == " + "source.getStatus()",(STATUS_OK),(source.getStatus()))
[DEBUG 00:01:45] ClientTest.cpp:8293: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "STATUS_OK" + " == " + "source.getStatus()",(STATUS_OK),(source.getStatus()))
[DEBUG 00:01:45] ClientTest.cpp:8305: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "0" + " == " + "source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT)",(0),(source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT)))
[DEBUG 00:01:45] ClientTest.cpp:8305: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "0" + " == " + "source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT)",(0),(source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT)))
[DEBUG 00:01:45] ClientTest.cpp:8308: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "0" + " == " + "source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT)",(0),(source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT)))
[DEBUG 00:01:45] ClientTest.cpp:8308: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "0" + " == " + "source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT)",(0),(source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT)))
[DEBUG 00:01:45] ClientTest.cpp:8322: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "restarts + 1" + " == " + "source.getRestarts() + 1",(restarts + 1),(source.getRestarts() + 1))
[DEBUG 00:01:45] ClientTest.cpp:8322: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "restarts + 1" + " == " + "source.getRestarts() + 1",(restarts + 1),(source.getRestarts() + 1))
[DEBUG 00:01:45] ClientTest.cpp:8328: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "clientAdded" + " == " + "source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_ADDED, SyncSourceReport::ITEM_TOTAL)",(clientAdded),(source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_ADDED, SyncSourceReport::ITEM_TOTAL)))
[DEBUG 00:01:45] ClientTest.cpp:8328: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "clientAdded" + " == " + "source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_ADDED, SyncSourceReport::ITEM_TOTAL)",(clientAdded),(source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_ADDED, SyncSourceReport::ITEM_TOTAL)))
[DEBUG 00:01:45] ClientTest.cpp:8334: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "clientUpdated" + " == " + "source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_UPDATED, SyncSourceReport::ITEM_TOTAL)",(clientUpdated),(source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_UPDATED, SyncSourceReport::ITEM_TOTAL)))
[DEBUG 00:01:45] ClientTest.cpp:8334: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "clientUpdated" + " == " + "source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_UPDATED, SyncSourceReport::ITEM_TOTAL)",(clientUpdated),(source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_UPDATED, SyncSourceReport::ITEM_TOTAL)))
[DEBUG 00:01:45] ClientTest.cpp:8340: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "clientDeleted" + " == " + "source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_REMOVED, SyncSourceReport::ITEM_TOTAL)",(clientDeleted),(source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_REMOVED, SyncSourceReport::ITEM_TOTAL)))
[DEBUG 00:01:45] ClientTest.cpp:8340: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "clientDeleted" + " == " + "source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_REMOVED, SyncSourceReport::ITEM_TOTAL)",(clientDeleted),(source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_REMOVED, SyncSourceReport::ITEM_TOTAL)))
[DEBUG 00:01:45] ClientTest.cpp:8347: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "serverAdded" + " == " + "source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_ADDED, SyncSourceReport::ITEM_TOTAL)",(serverAdded),(source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_ADDED, SyncSourceReport::ITEM_TOTAL)))
[DEBUG 00:01:45] ClientTest.cpp:8347: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "serverAdded" + " == " + "source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_ADDED, SyncSourceReport::ITEM_TOTAL)",(serverAdded),(source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_ADDED, SyncSourceReport::ITEM_TOTAL)))
[DEBUG 00:01:45] ClientTest.cpp:8353: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "serverUpdated" + " == " + "source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_UPDATED, SyncSourceReport::ITEM_TOTAL)",(serverUpdated),(source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_UPDATED, SyncSourceReport::ITEM_TOTAL)))
[DEBUG 00:01:45] ClientTest.cpp:8353: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "serverUpdated" + " == " + "source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_UPDATED, SyncSourceReport::ITEM_TOTAL)",(serverUpdated),(source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_UPDATED, SyncSourceReport::ITEM_TOTAL)))
[DEBUG 00:01:45] ClientTest.cpp:8359: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "serverDeleted" + " == " + "source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_REMOVED, SyncSourceReport::ITEM_TOTAL)",(serverDeleted),(source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_REMOVED, SyncSourceReport::ITEM_TOTAL)))
[DEBUG 00:01:45] ClientTest.cpp:8359: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "serverDeleted" + " == " + "source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_REMOVED, SyncSourceReport::ITEM_TOTAL)",(serverDeleted),(source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_REMOVED, SyncSourceReport::ITEM_TOTAL)))
[DEBUG 00:01:45] Done with checking sync report.
[DEBUG 00:01:45] ClientTest.cpp:6460: ending res = client.doSync(sourceArray, logname, options)
[DEBUG 00:01:45] ClientTest.cpp:6465: starting postSync(res, logname)
[DEBUG 00:01:55] ClientTest.cpp:6465: ending postSync(res, logname)
[DEBUG 00:01:55] ClientTest.cpp:3145: ending doSync(logPrefix, options)
[DEBUG 00:01:55] ClientTest.cpp:3150: starting compareDatabases()
[DEBUG 00:01:55] ClientTest.cpp:3065: starting CPPUNIT_ASSERT(accessClientB)
[DEBUG 00:01:55] ClientTest.cpp:3065: ending CPPUNIT_ASSERT(accessClientB)
[DEBUG 00:01:55] ClientTest.cpp:3070: starting copy.reset(it2->second->createSourceB())
[DEBUG 00:01:55] instantiating testing source eds_contact in config target-config@client-test-memotoo, with tracking name _2_B
[DEBUG 00:01:55] overriding testing source eds_contact properties with the ones from config memotoo_2 = /data/runtests/work/testing-amd64/home/memotoo/config/syncevolution/client-test-memotoo-2/peers/memotoo_2
[DEBUG 00:01:55]    sync = two-way (set)
[DEBUG 00:01:55]    uri = con (set)
[DEBUG 00:01:55]    backend = Evolution Address Book (set)
[DEBUG 00:01:55]    syncFormat = text/vcard (set)
[DEBUG 00:01:55]    forceSyncFormat = 0 (default)
[DEBUG 00:01:55]    database = Test_eds_contact_2 (set)
[DEBUG 00:01:55]    databaseFormat =  (default)
[DEBUG 00:01:55]    databaseUser =  (default)
[DEBUG 00:01:55]    databasePassword =  (default)
[DEBUG 00:01:55] ClientTest.cpp:424: starting CPPUNIT_ASSERT(get())
[DEBUG 00:01:55] ClientTest.cpp:424: ending CPPUNIT_ASSERT(get())
[DEBUG 00:01:55] ClientTest.cpp:425: starting CPPUNIT_ASSERT(!m_active)
[DEBUG 00:01:55] ClientTest.cpp:425: ending CPPUNIT_ASSERT(!m_active)
[DEBUG 00:01:55] ClientTest.cpp:431: starting get()->open()
[DEBUG 00:01:55] ClientTest.cpp:431: ending get()->open()
[DEBUG 00:01:55] eds_contact: slow sync or testing, do full item scan to detect changes
[DEBUG 00:01:55] ClientTest.cpp:3070: ending copy.reset(it2->second->createSourceB())
[DEBUG 00:01:55] ClientTest.cpp:3070: starting CPPUNIT_ASSERT((copy.get()))
[DEBUG 00:01:55] ClientTest.cpp:3070: ending CPPUNIT_ASSERT((copy.get()))
[DEBUG 00:01:55] ClientTest.cpp:846: starting CPPUNIT_ASSERT(config.m_dump)
[DEBUG 00:01:55] ClientTest.cpp:846: ending CPPUNIT_ASSERT(config.m_dump)
[DEBUG 00:01:55] ClientTest.cpp:856: starting source.reset(createSourceA())
[DEBUG 00:01:55] instantiating testing source eds_contact in config target-config@client-test-memotoo, with tracking name _1_A
[DEBUG 00:01:55] overriding testing source eds_contact properties with the ones from config memotoo_1 = /data/runtests/work/testing-amd64/home/memotoo/config/syncevolution/client-test-memotoo-1/peers/memotoo_1
[DEBUG 00:01:55]    sync = two-way (set)
[DEBUG 00:01:55]    uri = con (set)
[DEBUG 00:01:55]    backend = Evolution Address Book (set)
[DEBUG 00:01:55]    syncFormat = text/vcard (set)
[DEBUG 00:01:55]    forceSyncFormat = 0 (default)
[DEBUG 00:01:55]    database = Test_eds_contact_1 (set)
[DEBUG 00:01:55]    databaseFormat =  (default)
[DEBUG 00:01:55]    databaseUser =  (default)
[DEBUG 00:01:55]    databasePassword =  (default)
[DEBUG 00:01:55] ClientTest.cpp:424: starting CPPUNIT_ASSERT(get())
[DEBUG 00:01:55] ClientTest.cpp:424: ending CPPUNIT_ASSERT(get())
[DEBUG 00:01:55] ClientTest.cpp:425: starting CPPUNIT_ASSERT(!m_active)
[DEBUG 00:01:55] ClientTest.cpp:425: ending CPPUNIT_ASSERT(!m_active)
[DEBUG 00:01:55] ClientTest.cpp:431: starting get()->open()
[DEBUG 00:01:55] ClientTest.cpp:431: ending get()->open()
[DEBUG 00:01:55] eds_contact: using full item scan to detect changes
[DEBUG 00:01:55] ClientTest.cpp:856: ending source.reset(createSourceA())
[DEBUG 00:01:55] ClientTest.cpp:856: starting CPPUNIT_ASSERT((source.get()))
[DEBUG 00:01:55] ClientTest.cpp:856: ending CPPUNIT_ASSERT((source.get()))
[DEBUG 00:01:55] ClientTest.cpp:857: starting CPPUNIT_ASSERT_EQUAL((0),(config.m_dump(client, *source.get(), sourceFile)))
[DEBUG 00:01:55] ClientTest.cpp:6698: starting CPPUNIT_ASSERT(source.getOperations().m_backupData)
[DEBUG 00:01:55] ClientTest.cpp:6698: ending CPPUNIT_ASSERT(source.getOperations().m_backupData)
[DEBUG 00:01:55] eds_contact: reading: set order 'selected', 1 luids
[DEBUG 00:01:55] eds_contact: reading: getting contact pas-id-36bbc9dd71e938e40ecb7d76cb674711cd062ec3
[DEBUG 00:01:55] eds_contact: reading: must read contact pas-id-36bbc9dd71e938e40ecb7d76cb674711cd062ec3
[DEBUG 00:01:55] eds_contact: reading: started contact read pas-id-36bbc9dd71e938e40ecb7d76cb674711cd062ec3-pas-id-36bbc9dd71e938e40ecb7d76cb674711cd062ec3 (1)
[DEBUG 00:01:55] eds_contact: reading: active cache pas-id-36bbc9dd71e938e40ecb7d76cb674711cd062ec3-pas-id-36bbc9dd71e938e40ecb7d76cb674711cd062ec3 (1)
[DEBUG 00:01:55] eds_contact: reading: in running cache
[DEBUG 00:01:55] eds_contact: reading: contact read pas-id-36bbc9dd71e938e40ecb7d76cb674711cd062ec3-pas-id-36bbc9dd71e938e40ecb7d76cb674711cd062ec3 (1) finished: <<successful>>
[DEBUG 00:01:55] eds_contact: reading: contact read pas-id-36bbc9dd71e938e40ecb7d76cb674711cd062ec3-pas-id-36bbc9dd71e938e40ecb7d76cb674711cd062ec3 (1) got pas-id-36bbc9dd71e938e40ecb7d76cb674711cd062ec3
[DEBUG 00:01:55] eds_contact: reading: in cache, available
[DEBUG 00:01:55] eds_contact: reading: continue after contact pas-id-36bbc9dd71e938e40ecb7d76cb674711cd062ec3
[DEBUG 00:01:55] eds_contact: reading: read pas-id-36bbc9dd71e938e40ecb7d76cb674711cd062ec3: <<okay>>
[DEBUG 00:01:55] eds_contact: requested 1, retrieved 1 from DB in 1 queries, misses 0/1 (0%), stalls 1
[DEBUG 00:01:55] eds_contact: reading: set order 'none', 0 luids
[DEBUG 00:01:55] ClientTest.cpp:857: ending CPPUNIT_ASSERT_EQUAL((0),(config.m_dump(client, *source.get(), sourceFile)))
[DEBUG 00:01:55] ClientTest.cpp:857: starting CPPUNIT_ASSERT((source.get()))
[DEBUG 00:01:55] ClientTest.cpp:857: ending CPPUNIT_ASSERT((source.get()))
[DEBUG 00:01:55] ClientTest.cpp:858: starting source.reset()
[DEBUG 00:01:55] ClientTest.cpp:454: starting CPPUNIT_ASSERT(get())
[DEBUG 00:01:55] ClientTest.cpp:454: ending CPPUNIT_ASSERT(get())
[DEBUG 00:01:55] ClientTest.cpp:455: starting CPPUNIT_ASSERT(m_active)
[DEBUG 00:01:55] ClientTest.cpp:455: ending CPPUNIT_ASSERT(m_active)
[DEBUG 00:01:55] ClientTest.cpp:458: starting get()->getOperations().m_endDataWrite.getPostSignal()(*get(), OPERATION_FINISHED, sysync::LOCERR_OK, true, &dummy)
[DEBUG 00:01:55] ClientTest.cpp:458: ending get()->getOperations().m_endDataWrite.getPostSignal()(*get(), OPERATION_FINISHED, sysync::LOCERR_OK, true, &dummy)
[DEBUG 00:01:55] ClientTest.cpp:461: starting anchor = get()->endSync(true)
[DEBUG 00:01:55] ClientTest.cpp:461: ending anchor = get()->endSync(true)
[DEBUG 00:01:55] ClientTest.cpp:463: starting get()->close()
[DEBUG 00:01:55] ClientTest.cpp:463: ending get()->close()
[DEBUG 00:01:55] ClientTest.cpp:858: ending source.reset()
[DEBUG 00:01:55] ClientTest.cpp:391: starting reset(__null)
[DEBUG 00:01:55] ClientTest.cpp:391: ending reset(__null)
[DEBUG 00:01:55] ClientTest.cpp:863: starting CPPUNIT_ASSERT_EQUAL((0),(config.m_dump(client, copy, copyFile)))
[DEBUG 00:01:55] ClientTest.cpp:6698: starting CPPUNIT_ASSERT(source.getOperations().m_backupData)
[DEBUG 00:01:55] ClientTest.cpp:6698: ending CPPUNIT_ASSERT(source.getOperations().m_backupData)
[DEBUG 00:01:55] eds_contact: reading: set order 'selected', 1 luids
[DEBUG 00:01:55] eds_contact: reading: getting contact pas-id-12a81edb5be0fc5fdd6f80139e8a7490ac3e5672
[DEBUG 00:01:55] eds_contact: reading: must read contact pas-id-12a81edb5be0fc5fdd6f80139e8a7490ac3e5672
[DEBUG 00:01:55] eds_contact: reading: started contact read pas-id-12a81edb5be0fc5fdd6f80139e8a7490ac3e5672-pas-id-12a81edb5be0fc5fdd6f80139e8a7490ac3e5672 (1)
[DEBUG 00:01:55] eds_contact: reading: active cache pas-id-12a81edb5be0fc5fdd6f80139e8a7490ac3e5672-pas-id-12a81edb5be0fc5fdd6f80139e8a7490ac3e5672 (1)
[DEBUG 00:01:55] eds_contact: reading: in running cache
[DEBUG 00:01:55] eds_contact: reading: contact read pas-id-12a81edb5be0fc5fdd6f80139e8a7490ac3e5672-pas-id-12a81edb5be0fc5fdd6f80139e8a7490ac3e5672 (1) finished: <<successful>>
[DEBUG 00:01:55] eds_contact: reading: contact read pas-id-12a81edb5be0fc5fdd6f80139e8a7490ac3e5672-pas-id-12a81edb5be0fc5fdd6f80139e8a7490ac3e5672 (1) got pas-id-12a81edb5be0fc5fdd6f80139e8a7490ac3e5672
[DEBUG 00:01:55] eds_contact: reading: in cache, available
[DEBUG 00:01:55] eds_contact: reading: continue after contact pas-id-12a81edb5be0fc5fdd6f80139e8a7490ac3e5672
[DEBUG 00:01:55] eds_contact: reading: read pas-id-12a81edb5be0fc5fdd6f80139e8a7490ac3e5672: <<okay>>
[DEBUG 00:01:55] eds_contact: requested 1, retrieved 1 from DB in 1 queries, misses 0/1 (0%), stalls 1
[DEBUG 00:01:55] eds_contact: reading: set order 'none', 0 luids
[DEBUG 00:01:55] ClientTest.cpp:863: ending CPPUNIT_ASSERT_EQUAL((0),(config.m_dump(client, copy, copyFile)))
[DEBUG 00:01:55] ClientTest.cpp:871: starting equal = config.m_compare(client, refFile.c_str(), actualFile.c_str())
[DEBUG 00:01:55] ClientTest.cpp:871: ending equal = config.m_compare(client, refFile.c_str(), actualFile.c_str())
[DEBUG 00:01:55] ClientTest.cpp:872: starting CPPUNIT_ASSERT(!raiseAssert || equal)
[DEBUG 00:01:55] ClientTest.cpp:872: ending CPPUNIT_ASSERT(!raiseAssert || equal)
[DEBUG 00:01:55] ClientTest.cpp:3084: starting copy.reset()
[DEBUG 00:01:55] ClientTest.cpp:454: starting CPPUNIT_ASSERT(get())
[DEBUG 00:01:55] ClientTest.cpp:454: ending CPPUNIT_ASSERT(get())
[DEBUG 00:01:55] ClientTest.cpp:455: starting CPPUNIT_ASSERT(m_active)
[DEBUG 00:01:55] ClientTest.cpp:455: ending CPPUNIT_ASSERT(m_active)
[DEBUG 00:01:55] ClientTest.cpp:458: starting get()->getOperations().m_endDataWrite.getPostSignal()(*get(), OPERATION_FINISHED, sysync::LOCERR_OK, true, &dummy)
[DEBUG 00:01:55] ClientTest.cpp:458: ending get()->getOperations().m_endDataWrite.getPostSignal()(*get(), OPERATION_FINISHED, sysync::LOCERR_OK, true, &dummy)
[DEBUG 00:01:55] ClientTest.cpp:461: starting anchor = get()->endSync(true)
[DEBUG 00:01:55] ClientTest.cpp:461: ending anchor = get()->endSync(true)
[DEBUG 00:01:55] ClientTest.cpp:463: starting get()->close()
[DEBUG 00:01:55] ClientTest.cpp:463: ending get()->close()
[DEBUG 00:01:55] ClientTest.cpp:3084: ending copy.reset()
[DEBUG 00:01:55] ClientTest.cpp:391: starting reset(__null)
[DEBUG 00:01:55] ClientTest.cpp:391: ending reset(__null)
[DEBUG 00:01:55] ClientTest.cpp:3086: starting CPPUNIT_ASSERT(it1 == sources.end())
[DEBUG 00:01:55] ClientTest.cpp:3086: ending CPPUNIT_ASSERT(it1 == sources.end())
[DEBUG 00:01:55] ClientTest.cpp:3087: starting CPPUNIT_ASSERT(it2 == accessClientB->sources.end())
[DEBUG 00:01:55] ClientTest.cpp:3087: ending CPPUNIT_ASSERT(it2 == accessClientB->sources.end())
[DEBUG 00:01:55] ClientTest.cpp:3089: starting CPPUNIT_ASSERT(!raiseAssert || equal)
[DEBUG 00:01:55] ClientTest.cpp:3089: ending CPPUNIT_ASSERT(!raiseAssert || equal)
[DEBUG 00:01:55] ClientTest.cpp:3150: ending compareDatabases()
[DEBUG 00:01:55] ClientTest.cpp:3852: ending doCopy()
[DEBUG 00:01:55] ClientTest.cpp:748: starting CPPUNIT_ASSERT(createSource.createSource)
[DEBUG 00:01:55] ClientTest.cpp:748: ending CPPUNIT_ASSERT(createSource.createSource)
[DEBUG 00:01:55] ClientTest.cpp:754: starting source.reset(createSource())
[DEBUG 00:01:55] instantiating testing source eds_contact in config target-config@client-test-memotoo, with tracking name _1_A
[DEBUG 00:01:55] overriding testing source eds_contact properties with the ones from config memotoo_1 = /data/runtests/work/testing-amd64/home/memotoo/config/syncevolution/client-test-memotoo-1/peers/memotoo_1
[DEBUG 00:01:55]    sync = two-way (set)
[DEBUG 00:01:55]    uri = con (set)
[DEBUG 00:01:55]    backend = Evolution Address Book (set)
[DEBUG 00:01:55]    syncFormat = text/vcard (set)
[DEBUG 00:01:55]    forceSyncFormat = 0 (default)
[DEBUG 00:01:55]    database = Test_eds_contact_1 (set)
[DEBUG 00:01:55]    databaseFormat =  (default)
[DEBUG 00:01:55]    databaseUser =  (default)
[DEBUG 00:01:55]    databasePassword =  (default)
[DEBUG 00:01:56] ClientTest.cpp:424: starting CPPUNIT_ASSERT(get())
[DEBUG 00:01:56] ClientTest.cpp:424: ending CPPUNIT_ASSERT(get())
[DEBUG 00:01:56] ClientTest.cpp:425: starting CPPUNIT_ASSERT(!m_active)
[DEBUG 00:01:56] ClientTest.cpp:425: ending CPPUNIT_ASSERT(!m_active)
[DEBUG 00:01:56] ClientTest.cpp:431: starting get()->open()
[DEBUG 00:01:56] ClientTest.cpp:431: ending get()->open()
[DEBUG 00:01:56] eds_contact: using full item scan to detect changes
[DEBUG 00:01:56] ClientTest.cpp:754: ending source.reset(createSource())
[DEBUG 00:01:56] ClientTest.cpp:754: starting CPPUNIT_ASSERT((source.get()))
[DEBUG 00:01:56] ClientTest.cpp:754: ending CPPUNIT_ASSERT((source.get()))
[DEBUG 00:01:56] ClientTest.cpp:758: starting it = source->getAllItems().begin()
[DEBUG 00:01:56] ClientTest.cpp:758: ending it = source->getAllItems().begin()
[DEBUG 00:01:56] ClientTest.cpp:758: starting CPPUNIT_ASSERT((source.get()))
[DEBUG 00:01:56] ClientTest.cpp:758: ending CPPUNIT_ASSERT((source.get()))
[DEBUG 00:01:56] ClientTest.cpp:759: starting CPPUNIT_ASSERT(it != source->getAllItems().end())
[DEBUG 00:01:56] ClientTest.cpp:759: ending CPPUNIT_ASSERT(it != source->getAllItems().end())
[DEBUG 00:01:56] ClientTest.cpp:763: starting res = source->insertItemRaw(luid, mangled)
[DEBUG 00:01:56] eds_contact: insert pas-id-36bbc9dd71e938e40ecb7d76cb674711cd062ec3 operation #0: queueing for batched update
[DEBUG 00:01:56] eds_contact: batch update of 1 contacts starting
[DEBUG 00:01:56] eds_contact: waiting for 1 pending operations to complete
[DEBUG 00:01:56] eds_contact: batch update of 1 contacts completed
[DEBUG 00:01:56] eds_contact: insert pas-id-36bbc9dd71e938e40ecb7d76cb674711cd062ec3 operation #0: completed: <<successfully>>
[DEBUG 00:01:56] eds_contact: pending operations completed
[DEBUG 00:01:56] eds_contact: insert pas-id-36bbc9dd71e938e40ecb7d76cb674711cd062ec3 operation #0: checking operation: inserted
[DEBUG 00:01:56] ClientTest.cpp:763: ending res = source->insertItemRaw(luid, mangled)
[DEBUG 00:01:56] ClientTest.cpp:763: starting CPPUNIT_ASSERT((source.get()))
[DEBUG 00:01:56] ClientTest.cpp:763: ending CPPUNIT_ASSERT((source.get()))
[DEBUG 00:01:56] ClientTest.cpp:764: starting source.reset()
[DEBUG 00:01:56] ClientTest.cpp:454: starting CPPUNIT_ASSERT(get())
[DEBUG 00:01:56] ClientTest.cpp:454: ending CPPUNIT_ASSERT(get())
[DEBUG 00:01:56] ClientTest.cpp:455: starting CPPUNIT_ASSERT(m_active)
[DEBUG 00:01:56] ClientTest.cpp:455: ending CPPUNIT_ASSERT(m_active)
[DEBUG 00:01:56] ClientTest.cpp:458: starting get()->getOperations().m_endDataWrite.getPostSignal()(*get(), OPERATION_FINISHED, sysync::LOCERR_OK, true, &dummy)
[DEBUG 00:01:57] ClientTest.cpp:458: ending get()->getOperations().m_endDataWrite.getPostSignal()(*get(), OPERATION_FINISHED, sysync::LOCERR_OK, true, &dummy)
[DEBUG 00:01:57] ClientTest.cpp:461: starting anchor = get()->endSync(true)
[DEBUG 00:01:57] ClientTest.cpp:461: ending anchor = get()->endSync(true)
[DEBUG 00:01:57] ClientTest.cpp:463: starting get()->close()
[DEBUG 00:01:57] ClientTest.cpp:463: ending get()->close()
[DEBUG 00:01:57] ClientTest.cpp:764: ending source.reset()
[DEBUG 00:01:57] ClientTest.cpp:765: starting CPPUNIT_ASSERT_EQUAL((luid),(res.m_luid))
[DEBUG 00:01:57] ClientTest.cpp:765: ending CPPUNIT_ASSERT_EQUAL((luid),(res.m_luid))
[DEBUG 00:01:57] ClientTest.cpp:766: starting CPPUNIT_ASSERT_EQUAL((ITEM_OKAY),(res.m_state))
[DEBUG 00:01:57] ClientTest.cpp:766: ending CPPUNIT_ASSERT_EQUAL((ITEM_OKAY),(res.m_state))
[DEBUG 00:01:57] ClientTest.cpp:773: starting source.reset(createSource())
[DEBUG 00:01:57] instantiating testing source eds_contact in config target-config@client-test-memotoo, with tracking name _1_A
[DEBUG 00:01:57] overriding testing source eds_contact properties with the ones from config memotoo_1 = /data/runtests/work/testing-amd64/home/memotoo/config/syncevolution/client-test-memotoo-1/peers/memotoo_1
[DEBUG 00:01:57]    sync = two-way (set)
[DEBUG 00:01:57]    uri = con (set)
[DEBUG 00:01:57]    backend = Evolution Address Book (set)
[DEBUG 00:01:57]    syncFormat = text/vcard (set)
[DEBUG 00:01:57]    forceSyncFormat = 0 (default)
[DEBUG 00:01:57]    database = Test_eds_contact_1 (set)
[DEBUG 00:01:57]    databaseFormat =  (default)
[DEBUG 00:01:57]    databaseUser =  (default)
[DEBUG 00:01:57]    databasePassword =  (default)
[DEBUG 00:01:57] ClientTest.cpp:424: starting CPPUNIT_ASSERT(get())
[DEBUG 00:01:57] ClientTest.cpp:424: ending CPPUNIT_ASSERT(get())
[DEBUG 00:01:57] ClientTest.cpp:425: starting CPPUNIT_ASSERT(!m_active)
[DEBUG 00:01:57] ClientTest.cpp:425: ending CPPUNIT_ASSERT(!m_active)
[DEBUG 00:01:57] ClientTest.cpp:431: starting get()->open()
[DEBUG 00:01:57] ClientTest.cpp:431: ending get()->open()
[DEBUG 00:01:57] eds_contact: using full item scan to detect changes
[DEBUG 00:01:57] ClientTest.cpp:773: ending source.reset(createSource())
[DEBUG 00:01:57] ClientTest.cpp:773: starting CPPUNIT_ASSERT((source.get()))
[DEBUG 00:01:57] ClientTest.cpp:773: ending CPPUNIT_ASSERT((source.get()))
[DEBUG 00:01:57] ClientTest.cpp:774: starting CPPUNIT_ASSERT_EQUAL((1),(countItems(source.get())))
[DEBUG 00:01:57] ClientTest.cpp:774: ending CPPUNIT_ASSERT_EQUAL((1),(countItems(source.get())))
[DEBUG 00:01:57] ClientTest.cpp:775: starting CPPUNIT_ASSERT_EQUAL((0),(countNewItems(source.get())))
[DEBUG 00:01:57] ClientTest.cpp:775: ending CPPUNIT_ASSERT_EQUAL((0),(countNewItems(source.get())))
[DEBUG 00:01:57] ClientTest.cpp:776: starting CPPUNIT_ASSERT_EQUAL((0),(countUpdatedItems(source.get())))
[DEBUG 00:01:57] ClientTest.cpp:776: ending CPPUNIT_ASSERT_EQUAL((0),(countUpdatedItems(source.get())))
[DEBUG 00:01:57] ClientTest.cpp:777: starting CPPUNIT_ASSERT_EQUAL((0),(countDeletedItems(source.get())))
[DEBUG 00:01:57] ClientTest.cpp:777: ending CPPUNIT_ASSERT_EQUAL((0),(countDeletedItems(source.get())))
[DEBUG 00:01:57] ClientTest.cpp:779: starting it = source->getAllItems().begin()
[DEBUG 00:01:57] ClientTest.cpp:779: ending it = source->getAllItems().begin()
[DEBUG 00:01:57] ClientTest.cpp:779: starting CPPUNIT_ASSERT((source.get()))
[DEBUG 00:01:57] ClientTest.cpp:779: ending CPPUNIT_ASSERT((source.get()))
[DEBUG 00:01:57] ClientTest.cpp:780: starting CPPUNIT_ASSERT(it != source->getAllItems().end())
[DEBUG 00:01:57] ClientTest.cpp:780: ending CPPUNIT_ASSERT(it != source->getAllItems().end())
[DEBUG 00:01:57] ClientTest.cpp:781: starting CPPUNIT_ASSERT_EQUAL((luid),(*it))
[DEBUG 00:01:57] ClientTest.cpp:781: ending CPPUNIT_ASSERT_EQUAL((luid),(*it))
[DEBUG 00:01:57] ClientTest.cpp:391: starting reset(__null)
[DEBUG 00:01:57] ClientTest.cpp:454: starting CPPUNIT_ASSERT(get())
[DEBUG 00:01:57] ClientTest.cpp:454: ending CPPUNIT_ASSERT(get())
[DEBUG 00:01:57] ClientTest.cpp:455: starting CPPUNIT_ASSERT(m_active)
[DEBUG 00:01:57] ClientTest.cpp:455: ending CPPUNIT_ASSERT(m_active)
[DEBUG 00:01:57] ClientTest.cpp:458: starting get()->getOperations().m_endDataWrite.getPostSignal()(*get(), OPERATION_FINISHED, sysync::LOCERR_OK, true, &dummy)
[DEBUG 00:01:57] ClientTest.cpp:458: ending get()->getOperations().m_endDataWrite.getPostSignal()(*get(), OPERATION_FINISHED, sysync::LOCERR_OK, true, &dummy)
[DEBUG 00:01:57] ClientTest.cpp:461: starting anchor = get()->endSync(true)
[DEBUG 00:01:57] ClientTest.cpp:461: ending anchor = get()->endSync(true)
[DEBUG 00:01:57] ClientTest.cpp:463: starting get()->close()
[DEBUG 00:01:57] ClientTest.cpp:463: ending get()->close()
[DEBUG 00:01:57] ClientTest.cpp:391: ending reset(__null)
[DEBUG 00:01:57] ClientTest.cpp:3865: starting doSync(logPrefix, options)
[DEBUG 00:01:57] 7. starting Client_Sync_eds_contact_testComplexUpdate.update.client.A with sync mode two-way
[DEBUG 00:01:57] ClientTest.cpp:6460: starting res = client.doSync(sourceArray, logname, options)
[DEBUG 00:01:57] log path -> /data/runtests/work/testing-amd64/home/memotoo/cache/syncevolution, No such file or directory
[DEBUG 00:01:57] log path -> Client_Sync_eds_contact_testComplexUpdate.update.client.A, No such file or directory
[DEBUG 00:01:57] log path -> Client_Sync_eds_contact_testComplexUpdate.update.client.A, No such file or directory
[DEBUG 00:01:57] checking log dir Client_Sync_eds_contact_testComplexUpdate.update.client.A
[DEBUG 00:01:57] logfile: Client_Sync_eds_contact_testComplexUpdate.update.client.A/syncevolution-log.html
[DEVELOPER 00:01:59] SyncML server account: syncevolution
[DEVELOPER 00:01:59] client: SyncEvolution 1.5.3 for workstation
[DEVELOPER 00:01:59] device ID: sc-api-A
[DEVELOPER 00:01:59]
[DEVELOPER 00:01:59]
[INFO 00:01:59] addressbook: inactive
[INFO 00:01:59] calendar: inactive
[INFO 00:01:59] calendar+todo: inactive
[INFO 00:01:59] eas_contact: inactive
[INFO 00:01:59] eas_event: inactive
[INFO 00:01:59] eas_memo: inactive
[INFO 00:01:59] eas_task: inactive
[INFO 00:01:59] eds_event: inactive
[INFO 00:01:59] eds_memo: inactive
[INFO 00:01:59] eds_task: inactive
[INFO 00:01:59] file_calendar+todo: inactive
[INFO 00:01:59] file_contact: inactive
[INFO 00:01:59] file_event: inactive
[INFO 00:01:59] file_task: inactive
[INFO 00:01:59] kde_contact: inactive
[INFO 00:01:59] kde_event: inactive
[INFO 00:01:59] kde_memo: inactive
[INFO 00:01:59] kde_task: inactive
[INFO 00:01:59] memo: inactive
[INFO 00:01:59] todo: inactive
[DEBUG 00:01:59] checking password property 'password' in config 'memotoo_1@client-test-memotoo-1' with user identity 'syncevolution'
[DEBUG 00:01:59] loading password from keyring with key user=syncevolution server=www.memotoo.com/syncmldev
[DEBUG 00:01:59] not using KWallet
[DEBUG 00:01:59] sync password for memotoo_1@client-test-memotoo-1: loaded password from GNOME keyring using user=syncevolution server=www.memotoo.com/syncmldev
[DEBUG 00:01:59] checking password property 'databasePassword' in datastore 'eds_contact' of config 'memotoo_1@client-test-memotoo-1' with user identity ''
[DEBUG 00:01:59] sync is starting, catch signals
[DEBUG 00:01:59] SuspendFlags: (re)activating, currently inactive
[DEBUG 00:01:59] SuspendFlags: activating signal handler(s) with fds 38->37
[DEBUG 00:01:59] SuspendFlags: catch signal 15
[DEBUG 00:01:59] ready to sync
[DEBUG 00:02:00] CreateContext SyncEvolution//eds_contact => 0
[DEBUG 00:02:00] Module_Version = 01090100
[DEBUG 00:02:00] Module_Capabilities:
[DEBUG 00:02:00] PLATFORM:Linux
[DEBUG 00:02:00] DLL:true
[DEBUG 00:02:00] MINVERSION:V1.0.6.0
[DEBUG 00:02:00] MANUFACTURER:SyncEvolution
[DEBUG 00:02:00] DESCRIPTION:SyncEvolution Synthesis DB Plugin
[DEBUG 00:02:00] plugin_datastore_str:no
[DEBUG 00:02:00] plugin_datastore_key:yes
[DEBUG 00:02:00] ITEM_AS_KEY:yes
[DEBUG 00:02:00] plugin_datablob:no
[DEBUG 00:02:00] eds_contact: Module_PluginParams
[DEBUG 00:02:00] eds_contact:  Engine=01090100
[DEBUG 00:02:00] eds_contact:
[DEBUG 00:02:00] Module_Capabilities:
[DEBUG 00:02:00] PLATFORM:Linux
[DEBUG 00:02:00] DLL:true
[DEBUG 00:02:00] MINVERSION:V1.0.6.0
[DEBUG 00:02:00] MANUFACTURER:SyncEvolution
[DEBUG 00:02:00] DESCRIPTION:SyncEvolution Synthesis DB Plugin
[DEBUG 00:02:00] plugin_datastore_str:no
[DEBUG 00:02:00] plugin_datastore_key:yes
[DEBUG 00:02:00] ITEM_AS_KEY:yes
[DEBUG 00:02:00] plugin_datablob:no
[DEBUG 00:02:00] copying syncURL, username, password to Synthesis engine
[DEBUG 00:02:00] using plain username/password for syncevolution
[DEBUG 00:02:00] eds_contact: total number of items received 0
[INFO 00:02:02] eds_contact: starting normal sync, two-way (peer is server)
[DEBUG 00:02:02] reading: set read-ahead based on sync mode two-way
[DEBUG 00:02:02] eds_contact: reading: set order 'changed', 0 luids
[DEBUG 00:02:02] eds_contact: 'eds_contact' dev='anydevice' usr='singleuser' err=0
[DEBUG 00:02:02] eds_contact: FilterSupport staticfilter:
[DEBUG 00:02:02] eds_contact: dynamicfilter:
[DEBUG 00:02:02] eds_contact: invisiblefilter:
[DEBUG 00:02:02] eds_contact: using full item scan to detect changes
[DEBUG 00:02:02] eds_contact: StartDataRead last='1' resume='1' res=0
[DEBUG 00:02:02] eds_contact: ReadNextItemAsKey aStatus=1 aID=(pas-id-36bbc9dd71e938e40ecb7d76cb674711cd062ec3,(null)) res=0
[DEBUG 00:02:02] eds_contact: ReadNextItemAsKey aStatus=0 aID=((null),(null)) res=0
[DEBUG 00:02:02] eds_contact: EndDataRead res=0
[DEBUG 00:02:02] eds_contact: reading: getting contact pas-id-36bbc9dd71e938e40ecb7d76cb674711cd062ec3
[DEBUG 00:02:02] eds_contact: reading: must read contact pas-id-36bbc9dd71e938e40ecb7d76cb674711cd062ec3
[DEBUG 00:02:02] eds_contact: reading: started contact read pas-id-36bbc9dd71e938e40ecb7d76cb674711cd062ec3-pas-id-36bbc9dd71e938e40ecb7d76cb674711cd062ec3 (1)
[DEBUG 00:02:02] eds_contact: reading: active cache pas-id-36bbc9dd71e938e40ecb7d76cb674711cd062ec3-pas-id-36bbc9dd71e938e40ecb7d76cb674711cd062ec3 (1)
[DEBUG 00:02:02] eds_contact: reading: in running cache
[DEBUG 00:02:02] eds_contact: reading: contact read pas-id-36bbc9dd71e938e40ecb7d76cb674711cd062ec3-pas-id-36bbc9dd71e938e40ecb7d76cb674711cd062ec3 (1) finished: <<successful>>
[DEBUG 00:02:02] eds_contact: reading: contact read pas-id-36bbc9dd71e938e40ecb7d76cb674711cd062ec3-pas-id-36bbc9dd71e938e40ecb7d76cb674711cd062ec3 (1) got pas-id-36bbc9dd71e938e40ecb7d76cb674711cd062ec3
[DEBUG 00:02:02] eds_contact: reading: in cache, available
[DEBUG 00:02:02] eds_contact: reading: continue after contact pas-id-36bbc9dd71e938e40ecb7d76cb674711cd062ec3
[DEBUG 00:02:02] eds_contact: reading: read pas-id-36bbc9dd71e938e40ecb7d76cb674711cd062ec3: <<okay>>
[DEBUG 00:02:02] eds_contact: requested 1, retrieved 1 from DB in 1 queries, misses 0/1 (0%), stalls 1
[DEBUG 00:02:02] eds_contact: ReadItemAsKey aID=(pas-id-36bbc9dd71e938e40ecb7d76cb674711cd062ec3,) res=0
[DEBUG 00:02:02] eds_contact: StartDataWrite
[DEBUG 00:02:02] eds_contact: total number of items received 0
[INFO 00:02:02] eds_contact: sent 1/1
[DEBUG 00:02:03] eds_contact: total number of items received 0
[INFO 00:02:03] eds_contact: started
[DEBUG 00:02:03] eds_contact: total number of items received 0
[DEBUG 00:02:03] eds_contact: EndDataWrite COMMIT '1' res=0
[DEBUG 00:02:03] eds_contact: DeleteContext
[INFO 00:02:03] eds_contact: normal sync done successfully
[DEBUG 00:02:03] closing session
[DEBUG 00:02:03] session closed
[DEBUG 00:02:03] SuspendFlags: deactivating fds 38->37
[DEBUG 00:02:03] SuspendFlags: close m_receiverFD 37
[DEBUG 00:02:03] SuspendFlags: close m_senderFD 38
[DEBUG 00:02:03] SuspendFlags: done with deactivation
[DEBUG 00:02:03] Module_DeleteContext eds_contact
[INFO 00:02:03] sync report:
[INFO 00:02:03] +---------------|-----------------------|-----------------------|-CON-+
[INFO 00:02:03] |               |         LOCAL         |        REMOTE         | FLI |
[INFO 00:02:03] |        Source | NEW | MOD | DEL | ERR | NEW | MOD | DEL | ERR | CTS |
[INFO 00:02:03] +---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+
[INFO 00:02:03] |   eds_contact |  0  |  0  |  0  |  0  |  0  |  1  |  0  |  0  |  0  |
[INFO 00:02:03] |   two-way, 0 KB sent by client, 0 KB received                       |
[INFO 00:02:03] +---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+
[INFO 00:02:03] |          start Fri Jan  5 19:41:54 2018, duration 0:07min           |
[INFO 00:02:03] |               synchronization completed successfully                |
[INFO 00:02:03] +---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+
[INFO 00:02:03] ----------|--------CLIENT---------|--------SERVER---------|
[INFO 00:02:03]           |  NEW  |  MOD  |  DEL  |  NEW  |  MOD  |  DEL  |
[INFO 00:02:03] ----------|-----------------------------------------------|
[INFO 00:02:03] Expected  |    0  |    0  |    0  |    0  |    1  |    0  |
[INFO 00:02:03] Expected sync mode: two-way
[INFO 00:02:03] Expected cycles: 1
[INFO 00:02:03]
[DEBUG 00:02:03] ClientTest.cpp:8283: starting CPPUNIT_ASSERT_EQUAL((string("no error (remote, status 0)")),(Status2String(status)))
[DEBUG 00:02:03] ClientTest.cpp:8283: ending CPPUNIT_ASSERT_EQUAL((string("no error (remote, status 0)")),(Status2String(status)))
[DEBUG 00:02:03] ClientTest.cpp:8284: starting CPPUNIT_ASSERT_EQUAL((STATUS_OK),(status))
[DEBUG 00:02:03] ClientTest.cpp:8284: ending CPPUNIT_ASSERT_EQUAL((STATUS_OK),(status))
[DEBUG 00:02:03] Checking sync source eds_contact...
[DEBUG 00:02:03] ClientTest.cpp:8293: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "STATUS_OK" + " == " + "source.getStatus()",(STATUS_OK),(source.getStatus()))
[DEBUG 00:02:03] ClientTest.cpp:8293: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "STATUS_OK" + " == " + "source.getStatus()",(STATUS_OK),(source.getStatus()))
[DEBUG 00:02:03] ClientTest.cpp:8305: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "0" + " == " + "source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT)",(0),(source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT)))
[DEBUG 00:02:03] ClientTest.cpp:8305: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "0" + " == " + "source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT)",(0),(source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT)))
[DEBUG 00:02:03] ClientTest.cpp:8308: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "0" + " == " + "source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT)",(0),(source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT)))
[DEBUG 00:02:03] ClientTest.cpp:8308: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "0" + " == " + "source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT)",(0),(source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT)))
[DEBUG 00:02:03] ClientTest.cpp:8322: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "restarts + 1" + " == " + "source.getRestarts() + 1",(restarts + 1),(source.getRestarts() + 1))
[DEBUG 00:02:03] ClientTest.cpp:8322: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "restarts + 1" + " == " + "source.getRestarts() + 1",(restarts + 1),(source.getRestarts() + 1))
[DEBUG 00:02:03] ClientTest.cpp:8328: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "clientAdded" + " == " + "source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_ADDED, SyncSourceReport::ITEM_TOTAL)",(clientAdded),(source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_ADDED, SyncSourceReport::ITEM_TOTAL)))
[DEBUG 00:02:03] ClientTest.cpp:8328: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "clientAdded" + " == " + "source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_ADDED, SyncSourceReport::ITEM_TOTAL)",(clientAdded),(source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_ADDED, SyncSourceReport::ITEM_TOTAL)))
[DEBUG 00:02:03] ClientTest.cpp:8334: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "clientUpdated" + " == " + "source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_UPDATED, SyncSourceReport::ITEM_TOTAL)",(clientUpdated),(source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_UPDATED, SyncSourceReport::ITEM_TOTAL)))
[DEBUG 00:02:03] ClientTest.cpp:8334: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "clientUpdated" + " == " + "source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_UPDATED, SyncSourceReport::ITEM_TOTAL)",(clientUpdated),(source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_UPDATED, SyncSourceReport::ITEM_TOTAL)))
[DEBUG 00:02:03] ClientTest.cpp:8340: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "clientDeleted" + " == " + "source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_REMOVED, SyncSourceReport::ITEM_TOTAL)",(clientDeleted),(source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_REMOVED, SyncSourceReport::ITEM_TOTAL)))
[DEBUG 00:02:03] ClientTest.cpp:8340: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "clientDeleted" + " == " + "source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_REMOVED, SyncSourceReport::ITEM_TOTAL)",(clientDeleted),(source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_REMOVED, SyncSourceReport::ITEM_TOTAL)))
[DEBUG 00:02:03] ClientTest.cpp:8347: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "serverAdded" + " == " + "source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_ADDED, SyncSourceReport::ITEM_TOTAL)",(serverAdded),(source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_ADDED, SyncSourceReport::ITEM_TOTAL)))
[DEBUG 00:02:03] ClientTest.cpp:8347: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "serverAdded" + " == " + "source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_ADDED, SyncSourceReport::ITEM_TOTAL)",(serverAdded),(source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_ADDED, SyncSourceReport::ITEM_TOTAL)))
[DEBUG 00:02:03] ClientTest.cpp:8353: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "serverUpdated" + " == " + "source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_UPDATED, SyncSourceReport::ITEM_TOTAL)",(serverUpdated),(source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_UPDATED, SyncSourceReport::ITEM_TOTAL)))
[DEBUG 00:02:03] ClientTest.cpp:8353: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "serverUpdated" + " == " + "source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_UPDATED, SyncSourceReport::ITEM_TOTAL)",(serverUpdated),(source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_UPDATED, SyncSourceReport::ITEM_TOTAL)))
[DEBUG 00:02:03] ClientTest.cpp:8359: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "serverDeleted" + " == " + "source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_REMOVED, SyncSourceReport::ITEM_TOTAL)",(serverDeleted),(source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_REMOVED, SyncSourceReport::ITEM_TOTAL)))
[DEBUG 00:02:03] ClientTest.cpp:8359: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "serverDeleted" + " == " + "source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_REMOVED, SyncSourceReport::ITEM_TOTAL)",(serverDeleted),(source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_REMOVED, SyncSourceReport::ITEM_TOTAL)))
[DEBUG 00:02:03] Done with checking sync report.
[DEBUG 00:02:03] ClientTest.cpp:6460: ending res = client.doSync(sourceArray, logname, options)
[DEBUG 00:02:03] ClientTest.cpp:6465: starting postSync(res, logname)
[DEBUG 00:02:13] ClientTest.cpp:6465: ending postSync(res, logname)
[DEBUG 00:02:13] ClientTest.cpp:3865: ending doSync(logPrefix, options)
[DEBUG 00:02:13] ClientTest.cpp:3869: starting doSync(logPrefix, options)
[DEBUG 00:02:13] 8. starting Client_Sync_eds_contact_testComplexUpdate.update.client.B with sync mode two-way
[DEBUG 00:02:13] ClientTest.cpp:6460: starting res = client.doSync(sourceArray, logname, options)
[DEBUG 00:02:13] log path -> /data/runtests/work/testing-amd64/home/memotoo/cache/syncevolution, No such file or directory
[DEBUG 00:02:13] log path -> Client_Sync_eds_contact_testComplexUpdate.update.client.B, No such file or directory
[DEBUG 00:02:13] log path -> Client_Sync_eds_contact_testComplexUpdate.update.client.B, No such file or directory
[DEBUG 00:02:13] checking log dir Client_Sync_eds_contact_testComplexUpdate.update.client.B
[DEBUG 00:02:13] logfile: Client_Sync_eds_contact_testComplexUpdate.update.client.B/syncevolution-log.html
[DEVELOPER 00:02:15] SyncML server account: syncevolution
[DEVELOPER 00:02:15] client: SyncEvolution 1.5.3 for workstation
[DEVELOPER 00:02:15] device ID: sc-pim-B
[DEVELOPER 00:02:15]
[DEVELOPER 00:02:15]
[INFO 00:02:16] addressbook: inactive
[INFO 00:02:16] calendar: inactive
[INFO 00:02:16] calendar+todo: inactive
[INFO 00:02:16] eas_contact: inactive
[INFO 00:02:16] eas_event: inactive
[INFO 00:02:16] eas_memo: inactive
[INFO 00:02:16] eas_task: inactive
[INFO 00:02:16] eds_event: inactive
[INFO 00:02:16] eds_memo: inactive
[INFO 00:02:16] eds_task: inactive
[INFO 00:02:16] file_calendar+todo: inactive
[INFO 00:02:16] file_contact: inactive
[INFO 00:02:16] file_event: inactive
[INFO 00:02:16] file_task: inactive
[INFO 00:02:16] kde_contact: inactive
[INFO 00:02:16] kde_event: inactive
[INFO 00:02:16] kde_memo: inactive
[INFO 00:02:16] kde_task: inactive
[INFO 00:02:16] memo: inactive
[INFO 00:02:16] todo: inactive
[DEBUG 00:02:16] checking password property 'password' in config 'memotoo_2@client-test-memotoo-2' with user identity 'syncevolution'
[DEBUG 00:02:16] loading password from keyring with key user=syncevolution server=www.memotoo.com/syncmldev
[DEBUG 00:02:16] not using KWallet
[DEBUG 00:02:16] sync password for memotoo_2@client-test-memotoo-2: loaded password from GNOME keyring using user=syncevolution server=www.memotoo.com/syncmldev
[DEBUG 00:02:16] checking password property 'databasePassword' in datastore 'eds_contact' of config 'memotoo_2@client-test-memotoo-2' with user identity ''
[DEBUG 00:02:16] sync is starting, catch signals
[DEBUG 00:02:16] SuspendFlags: (re)activating, currently inactive
[DEBUG 00:02:16] SuspendFlags: activating signal handler(s) with fds 38->37
[DEBUG 00:02:16] SuspendFlags: catch signal 15
[DEBUG 00:02:16] ready to sync
[DEBUG 00:02:16] CreateContext SyncEvolution//eds_contact => 0
[DEBUG 00:02:16] Module_Version = 01090100
[DEBUG 00:02:16] Module_Capabilities:
[DEBUG 00:02:16] PLATFORM:Linux
[DEBUG 00:02:16] DLL:true
[DEBUG 00:02:16] MINVERSION:V1.0.6.0
[DEBUG 00:02:16] MANUFACTURER:SyncEvolution
[DEBUG 00:02:16] DESCRIPTION:SyncEvolution Synthesis DB Plugin
[DEBUG 00:02:16] plugin_datastore_str:no
[DEBUG 00:02:16] plugin_datastore_key:yes
[DEBUG 00:02:16] ITEM_AS_KEY:yes
[DEBUG 00:02:16] plugin_datablob:no
[DEBUG 00:02:16] eds_contact: Module_PluginParams
[DEBUG 00:02:16] eds_contact:  Engine=01090100
[DEBUG 00:02:16] eds_contact:
[DEBUG 00:02:16] Module_Capabilities:
[DEBUG 00:02:16] PLATFORM:Linux
[DEBUG 00:02:16] DLL:true
[DEBUG 00:02:16] MINVERSION:V1.0.6.0
[DEBUG 00:02:16] MANUFACTURER:SyncEvolution
[DEBUG 00:02:16] DESCRIPTION:SyncEvolution Synthesis DB Plugin
[DEBUG 00:02:16] plugin_datastore_str:no
[DEBUG 00:02:16] plugin_datastore_key:yes
[DEBUG 00:02:16] ITEM_AS_KEY:yes
[DEBUG 00:02:16] plugin_datablob:no
[DEBUG 00:02:16] copying syncURL, username, password to Synthesis engine
[DEBUG 00:02:16] using plain username/password for syncevolution
[DEBUG 00:02:16] eds_contact: total number of items received 0
[INFO 00:02:18] eds_contact: starting normal sync, two-way (peer is server)
[DEBUG 00:02:18] reading: set read-ahead based on sync mode two-way
[DEBUG 00:02:18] eds_contact: reading: set order 'changed', 0 luids
[DEBUG 00:02:18] eds_contact: 'eds_contact' dev='anydevice' usr='singleuser' err=0
[DEBUG 00:02:18] eds_contact: FilterSupport staticfilter:
[DEBUG 00:02:18] eds_contact: dynamicfilter:
[DEBUG 00:02:18] eds_contact: invisiblefilter:
[DEBUG 00:02:18] eds_contact: using full item scan to detect changes
[DEBUG 00:02:18] eds_contact: StartDataRead last='1' resume='1' res=0
[DEBUG 00:02:18] eds_contact: ReadNextItemAsKey aStatus=2 aID=(pas-id-12a81edb5be0fc5fdd6f80139e8a7490ac3e5672,(null)) res=0
[DEBUG 00:02:18] eds_contact: ReadNextItemAsKey aStatus=0 aID=((null),(null)) res=0
[DEBUG 00:02:18] eds_contact: EndDataRead res=0
[DEBUG 00:02:18] eds_contact: StartDataWrite
[DEBUG 00:02:18] eds_contact: total number of items received 0
[DEBUG 00:02:19] eds_contact: total number of items received 0
[INFO 00:02:19] eds_contact: started
[DEBUG 00:02:19] eds_contact: reading: getting contact pas-id-12a81edb5be0fc5fdd6f80139e8a7490ac3e5672
[DEBUG 00:02:19] eds_contact: reading: must read contact pas-id-12a81edb5be0fc5fdd6f80139e8a7490ac3e5672
[DEBUG 00:02:19] eds_contact: reading: disable read-ahead due to cache miss
[DEBUG 00:02:19] eds_contact: reading: started contact read pas-id-12a81edb5be0fc5fdd6f80139e8a7490ac3e5672-pas-id-12a81edb5be0fc5fdd6f80139e8a7490ac3e5672 (1)
[DEBUG 00:02:19] eds_contact: reading: active cache pas-id-12a81edb5be0fc5fdd6f80139e8a7490ac3e5672-pas-id-12a81edb5be0fc5fdd6f80139e8a7490ac3e5672 (1)
[DEBUG 00:02:19] eds_contact: reading: in running cache
[DEBUG 00:02:19] eds_contact: reading: contact read pas-id-12a81edb5be0fc5fdd6f80139e8a7490ac3e5672-pas-id-12a81edb5be0fc5fdd6f80139e8a7490ac3e5672 (1) finished: <<successful>>
[DEBUG 00:02:19] eds_contact: reading: contact read pas-id-12a81edb5be0fc5fdd6f80139e8a7490ac3e5672-pas-id-12a81edb5be0fc5fdd6f80139e8a7490ac3e5672 (1) got pas-id-12a81edb5be0fc5fdd6f80139e8a7490ac3e5672
[DEBUG 00:02:19] eds_contact: reading: in cache, available
[DEBUG 00:02:19] eds_contact: reading: continue after contact pas-id-12a81edb5be0fc5fdd6f80139e8a7490ac3e5672
[DEBUG 00:02:19] eds_contact: reading: read pas-id-12a81edb5be0fc5fdd6f80139e8a7490ac3e5672: <<okay>>
[DEBUG 00:02:19] eds_contact: requested 1, retrieved 1 from DB in 1 queries, misses 1/1 (100%), stalls 1
[DEBUG 00:02:19] eds_contact: ReadItemAsKey aID=(pas-id-12a81edb5be0fc5fdd6f80139e8a7490ac3e5672,) res=0
[INFO 00:02:20] eds_contact: updating "Joan Doe"
[DEBUG 00:02:20] eds_contact: reading: remove contact pas-id-12a81edb5be0fc5fdd6f80139e8a7490ac3e5672 from cache because of remove or update
[DEBUG 00:02:20] eds_contact: insert pas-id-12a81edb5be0fc5fdd6f80139e8a7490ac3e5672 operation #0: queueing for batched update
[DEBUG 00:02:20] eds_contact: aID=(pas-id-12a81edb5be0fc5fdd6f80139e8a7490ac3e5672,) res=1
[DEBUG 00:02:20] eds_contact: batch update of 1 contacts starting
[DEBUG 00:02:20] eds_contact: waiting for 1 pending operations to complete
[DEBUG 00:02:20] eds_contact: batch update of 1 contacts completed
[DEBUG 00:02:20] eds_contact: insert pas-id-12a81edb5be0fc5fdd6f80139e8a7490ac3e5672 operation #0: completed: <<successfully>>
[DEBUG 00:02:20] eds_contact: pending operations completed
[DEBUG 00:02:20] eds_contact: insert pas-id-12a81edb5be0fc5fdd6f80139e8a7490ac3e5672 operation #0: checking operation: inserted
[DEBUG 00:02:20] eds_contact: aID=(pas-id-12a81edb5be0fc5fdd6f80139e8a7490ac3e5672,) res=0
[DEBUG 00:02:20] eds_contact: total number of items received 0
[INFO 00:02:20] eds_contact: received 2/1
[DEBUG 00:02:21] eds_contact: EndDataWrite COMMIT '1' res=0
[DEBUG 00:02:21] eds_contact: DeleteContext
[INFO 00:02:21] eds_contact: normal sync done successfully
[DEBUG 00:02:21] closing session
[DEBUG 00:02:21] session closed
[DEBUG 00:02:21] SuspendFlags: deactivating fds 38->37
[DEBUG 00:02:21] SuspendFlags: close m_receiverFD 37
[DEBUG 00:02:21] SuspendFlags: close m_senderFD 38
[DEBUG 00:02:21] SuspendFlags: done with deactivation
[DEBUG 00:02:21] Module_DeleteContext eds_contact
[INFO 00:02:21] sync report:
[INFO 00:02:21] +---------------|-----------------------|-----------------------|-CON-+
[INFO 00:02:21] |               |         LOCAL         |        REMOTE         | FLI |
[INFO 00:02:21] |        Source | NEW | MOD | DEL | ERR | NEW | MOD | DEL | ERR | CTS |
[INFO 00:02:21] +---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+
[INFO 00:02:21] |   eds_contact |  0  |  1  |  0  |  0  |  0  |  0  |  0  |  0  |  0  |
[INFO 00:02:21] |   two-way, 0 KB sent by client, 0 KB received                       |
[INFO 00:02:21] +---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+
[INFO 00:02:21] |          start Fri Jan  5 19:42:11 2018, duration 0:07min           |
[INFO 00:02:21] |               synchronization completed successfully                |
[INFO 00:02:21] +---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+
[INFO 00:02:21] ----------|--------CLIENT---------|--------SERVER---------|
[INFO 00:02:21]           |  NEW  |  MOD  |  DEL  |  NEW  |  MOD  |  DEL  |
[INFO 00:02:21] ----------|-----------------------------------------------|
[INFO 00:02:21] Expected  |    0  |    1  |    0  |    0  |    0  |    0  |
[INFO 00:02:21] Expected sync mode: two-way
[INFO 00:02:21] Expected cycles: 1
[INFO 00:02:21]
[DEBUG 00:02:21] ClientTest.cpp:8283: starting CPPUNIT_ASSERT_EQUAL((string("no error (remote, status 0)")),(Status2String(status)))
[DEBUG 00:02:21] ClientTest.cpp:8283: ending CPPUNIT_ASSERT_EQUAL((string("no error (remote, status 0)")),(Status2String(status)))
[DEBUG 00:02:21] ClientTest.cpp:8284: starting CPPUNIT_ASSERT_EQUAL((STATUS_OK),(status))
[DEBUG 00:02:21] ClientTest.cpp:8284: ending CPPUNIT_ASSERT_EQUAL((STATUS_OK),(status))
[DEBUG 00:02:21] Checking sync source eds_contact...
[DEBUG 00:02:21] ClientTest.cpp:8293: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "STATUS_OK" + " == " + "source.getStatus()",(STATUS_OK),(source.getStatus()))
[DEBUG 00:02:21] ClientTest.cpp:8293: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "STATUS_OK" + " == " + "source.getStatus()",(STATUS_OK),(source.getStatus()))
[DEBUG 00:02:21] ClientTest.cpp:8305: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "0" + " == " + "source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT)",(0),(source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT)))
[DEBUG 00:02:21] ClientTest.cpp:8305: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "0" + " == " + "source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT)",(0),(source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT)))
[DEBUG 00:02:21] ClientTest.cpp:8308: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "0" + " == " + "source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT)",(0),(source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT)))
[DEBUG 00:02:21] ClientTest.cpp:8308: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "0" + " == " + "source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT)",(0),(source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_ANY, SyncSourceReport::ITEM_REJECT)))
[DEBUG 00:02:21] ClientTest.cpp:8322: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "restarts + 1" + " == " + "source.getRestarts() + 1",(restarts + 1),(source.getRestarts() + 1))
[DEBUG 00:02:21] ClientTest.cpp:8322: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "restarts + 1" + " == " + "source.getRestarts() + 1",(restarts + 1),(source.getRestarts() + 1))
[DEBUG 00:02:21] ClientTest.cpp:8328: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "clientAdded" + " == " + "source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_ADDED, SyncSourceReport::ITEM_TOTAL)",(clientAdded),(source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_ADDED, SyncSourceReport::ITEM_TOTAL)))
[DEBUG 00:02:21] ClientTest.cpp:8328: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "clientAdded" + " == " + "source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_ADDED, SyncSourceReport::ITEM_TOTAL)",(clientAdded),(source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_ADDED, SyncSourceReport::ITEM_TOTAL)))
[DEBUG 00:02:21] ClientTest.cpp:8334: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "clientUpdated" + " == " + "source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_UPDATED, SyncSourceReport::ITEM_TOTAL)",(clientUpdated),(source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_UPDATED, SyncSourceReport::ITEM_TOTAL)))
[DEBUG 00:02:21] ClientTest.cpp:8334: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "clientUpdated" + " == " + "source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_UPDATED, SyncSourceReport::ITEM_TOTAL)",(clientUpdated),(source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_UPDATED, SyncSourceReport::ITEM_TOTAL)))
[DEBUG 00:02:21] ClientTest.cpp:8340: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "clientDeleted" + " == " + "source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_REMOVED, SyncSourceReport::ITEM_TOTAL)",(clientDeleted),(source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_REMOVED, SyncSourceReport::ITEM_TOTAL)))
[DEBUG 00:02:21] ClientTest.cpp:8340: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "clientDeleted" + " == " + "source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_REMOVED, SyncSourceReport::ITEM_TOTAL)",(clientDeleted),(source.getItemStat(SyncSourceReport::ITEM_LOCAL, SyncSourceReport::ITEM_REMOVED, SyncSourceReport::ITEM_TOTAL)))
[DEBUG 00:02:21] ClientTest.cpp:8347: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "serverAdded" + " == " + "source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_ADDED, SyncSourceReport::ITEM_TOTAL)",(serverAdded),(source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_ADDED, SyncSourceReport::ITEM_TOTAL)))
[DEBUG 00:02:21] ClientTest.cpp:8347: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "serverAdded" + " == " + "source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_ADDED, SyncSourceReport::ITEM_TOTAL)",(serverAdded),(source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_ADDED, SyncSourceReport::ITEM_TOTAL)))
[DEBUG 00:02:21] ClientTest.cpp:8353: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "serverUpdated" + " == " + "source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_UPDATED, SyncSourceReport::ITEM_TOTAL)",(serverUpdated),(source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_UPDATED, SyncSourceReport::ITEM_TOTAL)))
[DEBUG 00:02:21] ClientTest.cpp:8353: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "serverUpdated" + " == " + "source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_UPDATED, SyncSourceReport::ITEM_TOTAL)",(serverUpdated),(source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_UPDATED, SyncSourceReport::ITEM_TOTAL)))
[DEBUG 00:02:21] ClientTest.cpp:8359: starting CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "serverDeleted" + " == " + "source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_REMOVED, SyncSourceReport::ITEM_TOTAL)",(serverDeleted),(source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_REMOVED, SyncSourceReport::ITEM_TOTAL)))
[DEBUG 00:02:21] ClientTest.cpp:8359: ending CPPUNIT_ASSERT_EQUAL_MESSAGE(std::string(name) + ": " + "serverDeleted" + " == " + "source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_REMOVED, SyncSourceReport::ITEM_TOTAL)",(serverDeleted),(source.getItemStat(SyncSourceReport::ITEM_REMOTE, SyncSourceReport::ITEM_REMOVED, SyncSourceReport::ITEM_TOTAL)))
[DEBUG 00:02:21] Done with checking sync report.
[DEBUG 00:02:21] ClientTest.cpp:6460: ending res = client.doSync(sourceArray, logname, options)
[DEBUG 00:02:21] ClientTest.cpp:6465: starting postSync(res, logname)
[DEBUG 00:02:31] ClientTest.cpp:6465: ending postSync(res, logname)
[DEBUG 00:02:31] ClientTest.cpp:3869: ending doSync(logPrefix, options)
[DEBUG 00:02:31] ClientTest.cpp:3874: starting compareDatabases()
[DEBUG 00:02:31] ClientTest.cpp:3065: starting CPPUNIT_ASSERT(accessClientB)
[DEBUG 00:02:31] ClientTest.cpp:3065: ending CPPUNIT_ASSERT(accessClientB)
[DEBUG 00:02:31] ClientTest.cpp:3070: starting copy.reset(it2->second->createSourceB())
[DEBUG 00:02:31] instantiating testing source eds_contact in config target-config@client-test-memotoo, with tracking name _2_B
[DEBUG 00:02:31] overriding testing source eds_contact properties with the ones from config memotoo_2 = /data/runtests/work/testing-amd64/home/memotoo/config/syncevolution/client-test-memotoo-2/peers/memotoo_2
[DEBUG 00:02:31]    sync = two-way (set)
[DEBUG 00:02:31]    uri = con (set)
[DEBUG 00:02:31]    backend = Evolution Address Book (set)
[DEBUG 00:02:31]    syncFormat = text/vcard (set)
[DEBUG 00:02:31]    forceSyncFormat = 0 (default)
[DEBUG 00:02:31]    database = Test_eds_contact_2 (set)
[DEBUG 00:02:31]    databaseFormat =  (default)
[DEBUG 00:02:31]    databaseUser =  (default)
[DEBUG 00:02:31]    databasePassword =  (default)
[DEBUG 00:02:31] ClientTest.cpp:424: starting CPPUNIT_ASSERT(get())
[DEBUG 00:02:31] ClientTest.cpp:424: ending CPPUNIT_ASSERT(get())
[DEBUG 00:02:31] ClientTest.cpp:425: starting CPPUNIT_ASSERT(!m_active)
[DEBUG 00:02:31] ClientTest.cpp:425: ending CPPUNIT_ASSERT(!m_active)
[DEBUG 00:02:31] ClientTest.cpp:431: starting get()->open()
[DEBUG 00:02:31] ClientTest.cpp:431: ending get()->open()
[DEBUG 00:02:31] eds_contact: using full item scan to detect changes
[DEBUG 00:02:31] ClientTest.cpp:3070: ending copy.reset(it2->second->createSourceB())
[DEBUG 00:02:31] ClientTest.cpp:3070: starting CPPUNIT_ASSERT((copy.get()))
[DEBUG 00:02:31] ClientTest.cpp:3070: ending CPPUNIT_ASSERT((copy.get()))
[DEBUG 00:02:31] ClientTest.cpp:846: starting CPPUNIT_ASSERT(config.m_dump)
[DEBUG 00:02:31] ClientTest.cpp:846: ending CPPUNIT_ASSERT(config.m_dump)
[DEBUG 00:02:31] ClientTest.cpp:856: starting source.reset(createSourceA())
[DEBUG 00:02:31] instantiating testing source eds_contact in config target-config@client-test-memotoo, with tracking name _1_A
[DEBUG 00:02:31] overriding testing source eds_contact properties with the ones from config memotoo_1 = /data/runtests/work/testing-amd64/home/memotoo/config/syncevolution/client-test-memotoo-1/peers/memotoo_1
[DEBUG 00:02:31]    sync = two-way (set)
[DEBUG 00:02:31]    uri = con (set)
[DEBUG 00:02:31]    backend = Evolution Address Book (set)
[DEBUG 00:02:31]    syncFormat = text/vcard (set)
[DEBUG 00:02:31]    forceSyncFormat = 0 (default)
[DEBUG 00:02:31]    database = Test_eds_contact_1 (set)
[DEBUG 00:02:31]    databaseFormat =  (default)
[DEBUG 00:02:31]    databaseUser =  (default)
[DEBUG 00:02:31]    databasePassword =  (default)
[DEBUG 00:02:31] ClientTest.cpp:424: starting CPPUNIT_ASSERT(get())
[DEBUG 00:02:31] ClientTest.cpp:424: ending CPPUNIT_ASSERT(get())
[DEBUG 00:02:31] ClientTest.cpp:425: starting CPPUNIT_ASSERT(!m_active)
[DEBUG 00:02:31] ClientTest.cpp:425: ending CPPUNIT_ASSERT(!m_active)
[DEBUG 00:02:31] ClientTest.cpp:431: starting get()->open()
[DEBUG 00:02:31] ClientTest.cpp:431: ending get()->open()
[DEBUG 00:02:31] eds_contact: using full item scan to detect changes
[DEBUG 00:02:31] ClientTest.cpp:856: ending source.reset(createSourceA())
[DEBUG 00:02:31] ClientTest.cpp:856: starting CPPUNIT_ASSERT((source.get()))
[DEBUG 00:02:31] ClientTest.cpp:856: ending CPPUNIT_ASSERT((source.get()))
[DEBUG 00:02:31] ClientTest.cpp:857: starting CPPUNIT_ASSERT_EQUAL((0),(config.m_dump(client, *source.get(), sourceFile)))
[DEBUG 00:02:31] ClientTest.cpp:6698: starting CPPUNIT_ASSERT(source.getOperations().m_backupData)
[DEBUG 00:02:31] ClientTest.cpp:6698: ending CPPUNIT_ASSERT(source.getOperations().m_backupData)
[DEBUG 00:02:31] eds_contact: reading: set order 'selected', 1 luids
[DEBUG 00:02:31] eds_contact: reading: getting contact pas-id-36bbc9dd71e938e40ecb7d76cb674711cd062ec3
[DEBUG 00:02:31] eds_contact: reading: must read contact pas-id-36bbc9dd71e938e40ecb7d76cb674711cd062ec3
[DEBUG 00:02:31] eds_contact: reading: started contact read pas-id-36bbc9dd71e938e40ecb7d76cb674711cd062ec3-pas-id-36bbc9dd71e938e40ecb7d76cb674711cd062ec3 (1)
[DEBUG 00:02:31] eds_contact: reading: active cache pas-id-36bbc9dd71e938e40ecb7d76cb674711cd062ec3-pas-id-36bbc9dd71e938e40ecb7d76cb674711cd062ec3 (1)
[DEBUG 00:02:31] eds_contact: reading: in running cache
[DEBUG 00:02:31] eds_contact: reading: contact read pas-id-36bbc9dd71e938e40ecb7d76cb674711cd062ec3-pas-id-36bbc9dd71e938e40ecb7d76cb674711cd062ec3 (1) finished: <<successful>>
[DEBUG 00:02:31] eds_contact: reading: contact read pas-id-36bbc9dd71e938e40ecb7d76cb674711cd062ec3-pas-id-36bbc9dd71e938e40ecb7d76cb674711cd062ec3 (1) got pas-id-36bbc9dd71e938e40ecb7d76cb674711cd062ec3
[DEBUG 00:02:31] eds_contact: reading: in cache, available
[DEBUG 00:02:31] eds_contact: reading: continue after contact pas-id-36bbc9dd71e938e40ecb7d76cb674711cd062ec3
[DEBUG 00:02:31] eds_contact: reading: read pas-id-36bbc9dd71e938e40ecb7d76cb674711cd062ec3: <<okay>>
[DEBUG 00:02:31] eds_contact: requested 1, retrieved 1 from DB in 1 queries, misses 0/1 (0%), stalls 1
[DEBUG 00:02:31] eds_contact: reading: set order 'none', 0 luids
[DEBUG 00:02:31] ClientTest.cpp:857: ending CPPUNIT_ASSERT_EQUAL((0),(config.m_dump(client, *source.get(), sourceFile)))
[DEBUG 00:02:31] ClientTest.cpp:857: starting CPPUNIT_ASSERT((source.get()))
[DEBUG 00:02:31] ClientTest.cpp:857: ending CPPUNIT_ASSERT((source.get()))
[DEBUG 00:02:31] ClientTest.cpp:858: starting source.reset()
[DEBUG 00:02:31] ClientTest.cpp:454: starting CPPUNIT_ASSERT(get())
[DEBUG 00:02:31] ClientTest.cpp:454: ending CPPUNIT_ASSERT(get())
[DEBUG 00:02:31] ClientTest.cpp:455: starting CPPUNIT_ASSERT(m_active)
[DEBUG 00:02:31] ClientTest.cpp:455: ending CPPUNIT_ASSERT(m_active)
[DEBUG 00:02:31] ClientTest.cpp:458: starting get()->getOperations().m_endDataWrite.getPostSignal()(*get(), OPERATION_FINISHED, sysync::LOCERR_OK, true, &dummy)
[DEBUG 00:02:31] ClientTest.cpp:458: ending get()->getOperations().m_endDataWrite.getPostSignal()(*get(), OPERATION_FINISHED, sysync::LOCERR_OK, true, &dummy)
[DEBUG 00:02:31] ClientTest.cpp:461: starting anchor = get()->endSync(true)
[DEBUG 00:02:31] ClientTest.cpp:461: ending anchor = get()->endSync(true)
[DEBUG 00:02:31] ClientTest.cpp:463: starting get()->close()
[DEBUG 00:02:31] ClientTest.cpp:463: ending get()->close()
[DEBUG 00:02:31] ClientTest.cpp:858: ending source.reset()
[DEBUG 00:02:31] ClientTest.cpp:391: starting reset(__null)
[DEBUG 00:02:31] ClientTest.cpp:391: ending reset(__null)
[DEBUG 00:02:31] ClientTest.cpp:863: starting CPPUNIT_ASSERT_EQUAL((0),(config.m_dump(client, copy, copyFile)))
[DEBUG 00:02:31] ClientTest.cpp:6698: starting CPPUNIT_ASSERT(source.getOperations().m_backupData)
[DEBUG 00:02:31] ClientTest.cpp:6698: ending CPPUNIT_ASSERT(source.getOperations().m_backupData)
[DEBUG 00:02:31] eds_contact: reading: set order 'selected', 1 luids
[DEBUG 00:02:31] eds_contact: reading: getting contact pas-id-12a81edb5be0fc5fdd6f80139e8a7490ac3e5672
[DEBUG 00:02:31] eds_contact: reading: must read contact pas-id-12a81edb5be0fc5fdd6f80139e8a7490ac3e5672
[DEBUG 00:02:31] eds_contact: reading: started contact read pas-id-12a81edb5be0fc5fdd6f80139e8a7490ac3e5672-pas-id-12a81edb5be0fc5fdd6f80139e8a7490ac3e5672 (1)
[DEBUG 00:02:31] eds_contact: reading: active cache pas-id-12a81edb5be0fc5fdd6f80139e8a7490ac3e5672-pas-id-12a81edb5be0fc5fdd6f80139e8a7490ac3e5672 (1)
[DEBUG 00:02:31] eds_contact: reading: in running cache
[DEBUG 00:02:31] eds_contact: reading: contact read pas-id-12a81edb5be0fc5fdd6f80139e8a7490ac3e5672-pas-id-12a81edb5be0fc5fdd6f80139e8a7490ac3e5672 (1) finished: <<successful>>
[DEBUG 00:02:31] eds_contact: reading: contact read pas-id-12a81edb5be0fc5fdd6f80139e8a7490ac3e5672-pas-id-12a81edb5be0fc5fdd6f80139e8a7490ac3e5672 (1) got pas-id-12a81edb5be0fc5fdd6f80139e8a7490ac3e5672
[DEBUG 00:02:31] eds_contact: reading: in cache, available
[DEBUG 00:02:31] eds_contact: reading: continue after contact pas-id-12a81edb5be0fc5fdd6f80139e8a7490ac3e5672
[DEBUG 00:02:31] eds_contact: reading: read pas-id-12a81edb5be0fc5fdd6f80139e8a7490ac3e5672: <<okay>>
[DEBUG 00:02:31] eds_contact: requested 1, retrieved 1 from DB in 1 queries, misses 0/1 (0%), stalls 1
[DEBUG 00:02:31] eds_contact: reading: set order 'none', 0 luids
[DEBUG 00:02:31] ClientTest.cpp:863: ending CPPUNIT_ASSERT_EQUAL((0),(config.m_dump(client, copy, copyFile)))
[DEBUG 00:02:31] ClientTest.cpp:871: starting equal = config.m_compare(client, refFile.c_str(), actualFile.c_str())
[DEBUG 00:02:31] ClientTest.cpp:871: ending equal = config.m_compare(client, refFile.c_str(), actualFile.c_str())
[DEBUG 00:02:31] ClientTest.cpp:872: starting CPPUNIT_ASSERT(!raiseAssert || equal)
[DEBUG 00:02:31] ClientTest.cpp:872: ending CPPUNIT_ASSERT(!raiseAssert || equal)
[DEBUG 00:02:31] ClientTest.cpp:3084: starting copy.reset()
[DEBUG 00:02:31] ClientTest.cpp:454: starting CPPUNIT_ASSERT(get())
[DEBUG 00:02:31] ClientTest.cpp:454: ending CPPUNIT_ASSERT(get())
[DEBUG 00:02:31] ClientTest.cpp:455: starting CPPUNIT_ASSERT(m_active)
[DEBUG 00:02:31] ClientTest.cpp:455: ending CPPUNIT_ASSERT(m_active)
[DEBUG 00:02:31] ClientTest.cpp:458: starting get()->getOperations().m_endDataWrite.getPostSignal()(*get(), OPERATION_FINISHED, sysync::LOCERR_OK, true, &dummy)
[DEBUG 00:02:31] ClientTest.cpp:458: ending get()->getOperations().m_endDataWrite.getPostSignal()(*get(), OPERATION_FINISHED, sysync::LOCERR_OK, true, &dummy)
[DEBUG 00:02:31] ClientTest.cpp:461: starting anchor = get()->endSync(true)
[DEBUG 00:02:31] ClientTest.cpp:461: ending anchor = get()->endSync(true)
[DEBUG 00:02:31] ClientTest.cpp:463: starting get()->close()
[DEBUG 00:02:32] ClientTest.cpp:463: ending get()->close()
[DEBUG 00:02:32] ClientTest.cpp:3084: ending copy.reset()
[DEBUG 00:02:32] ClientTest.cpp:391: starting reset(__null)
[DEBUG 00:02:32] ClientTest.cpp:391: ending reset(__null)
[DEBUG 00:02:32] ClientTest.cpp:3086: starting CPPUNIT_ASSERT(it1 == sources.end())
[DEBUG 00:02:32] ClientTest.cpp:3086: ending CPPUNIT_ASSERT(it1 == sources.end())
[DEBUG 00:02:32] ClientTest.cpp:3087: starting CPPUNIT_ASSERT(it2 == accessClientB->sources.end())
[DEBUG 00:02:32] ClientTest.cpp:3087: ending CPPUNIT_ASSERT(it2 == accessClientB->sources.end())
[DEBUG 00:02:32] ClientTest.cpp:3089: starting CPPUNIT_ASSERT(!raiseAssert || equal)
[DEBUG 00:02:32] ClientTest.cpp:3089: ending CPPUNIT_ASSERT(!raiseAssert || equal)
[DEBUG 00:02:32] ClientTest.cpp:3874: ending compareDatabases()
[DEBUG 00:02:32] *** ending Client::Sync::eds_contact::testComplexUpdate: okay ***