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